Trust Assessment
gkeep received a trust score of 78/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 4 findings: 0 critical, 0 high, 3 medium, and 1 low severity. Key findings include Node lockfile missing, Unpinned Python dependency version, Unpinned dependency in requirements.txt.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| MEDIUM | Unpinned Python dependency version Requirement 'gkeepapi>=0.14.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/vacinc/gkeep/requirements.txt:1 | |
| MEDIUM | Unpinned dependency in requirements.txt The `requirements.txt` file specifies `gkeepapi>=0.14.0`. Using a minimum version rather than an exact version (e.g., `gkeepapi==0.14.0`) or a version range with an upper bound (e.g., `gkeepapi<0.15.0,>=0.14.0`) can lead to supply chain risks. A future, potentially malicious or vulnerable, version of `gkeepapi` could be installed without explicit review, introducing unexpected behavior or security flaws. Pin the dependency to an exact version (e.g., `gkeepapi==0.14.0`) or a more restrictive range (e.g., `gkeepapi~=0.14.0`) to ensure reproducibility and prevent unexpected updates. | LLM | requirements.txt:1 | |
| MEDIUM | Google Keep master token stored locally The `gkeep.py` script stores the Google Keep master token in `~/.config/gkeep/token.json` after a successful login. While the file permissions are set to `0o600` (read/write only for owner), the presence of this sensitive token on the local filesystem makes it a target for attackers if the system running the skill is compromised. An attacker gaining local access could potentially exfiltrate this token and gain unauthorized access to the user's Google Keep notes. Consider alternative authentication methods that do not require storing a long-lived master token on disk, such as using short-lived tokens or prompting for credentials more frequently if the use case allows. If local storage is unavoidable, ensure robust encryption at rest for the token file, or integrate with a secure credential manager. | LLM | gkeep.py:49 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/vacinc/gkeep/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/84b6c15d802b3314)
Powered by SkillShield