T08 · Insecure Dependencies
- Location
SKILL.md:48- Finding
Unpinned Global Installation of an Unreviewed Third-Party CLI
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a cloud memory service whose core behavior is disclosed, but it asks agents to auto-sync broad user data, files, status, and secrets with unclear safeguards.
Review this carefully before installing. Use it only if you are comfortable sending selected memories, files, metadata, heartbeat status, and possibly secret names or values to agentmemory.cloud. Avoid storing third-party API keys or sensitive personal/work data unless you have explicit authorization, and prefer pinned/local-reviewed installation paths over the documented mutable curl and global npm install commands.
SKILL.md:48Unpinned Global Installation of an Unreviewed Third-Party CLI
SKILL.md:362Persistent Automatic Cloud Synchronization and Remote Memory Import
SKILL.md:293Documented Plaintext Secret Submission Conflicts with End-to-End Encryption Claims
SKILL.md:34Mutable Remote Skill Installation Without Integrity Verification
The skill recommends storing the API key in a plaintext JSON file under the user's home directory without mentioning file permissions, OS secret storage, or safer alternatives. This increases the risk of credential disclosure through local compromise, backups, misconfigured permissions, or accidental inclusion in logs and support bundles.
Store your API key securely. Recommended locations:
// ~/.config/agentmemory/credentials.json
{
"api_key": "am_your_key_here",
"agent_name": "YourAgentName"
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
| "Remember that I prefer TypeScript" | POST to /api/memories |
| "What do you know about my preferences?" | POST to /api/memories/search |
| "Show me all my memories" | GET /api/memories |
| "Forget about the old deadline" | DELETE /api/memories/{id} |
| "Update that memory about..." | PUT /api/memories/{id} |
---
The skill prominently advertises auto-sync, cloud storage, heartbeat tracking, and semantic indexing near the top, but does not immediately and clearly disclose that user content, files, and metadata may be transmitted to a remote service. For an agent memory skill, this can lead to unintentional exfiltration of sensitive user or project data under the guise of routine persistence.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Install locally:
mkdir -p ~/.moltbot/skills/agentmemory
curl -s https://agentmemory.cloud/skill.md > ~/.moltbot/skills/agentmemory/SKILL.md
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
Install locally:
mkdir -p ~/.moltbot/skills/agentmemory
curl -s https://agentmemory.cloud/skill.md > ~/.moltbot/skills/agentmemory/SKILL.md
Or just read from the URL above!
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Install locally:
mkdir -p ~/.moltbot/skills/agentmemory
curl -s https://agentmemory.cloud/skill.md > ~/.moltbot/skills/agentmemory/SKILL.md
Or just read from the URL above!
The CLI guidance says all commands auto-sync and the later heartbeat section states every command sends heartbeat and sync data, but it lacks a strong warning that routine usage may transmit content and online-status metadata on every invocation. This creates a substantial privacy risk because users may believe they are performing local memory operations when they are actually continuously reporting to a cloud service.
The secrets vault section actively encourages storing API keys, credentials, and connection strings in the cloud, but does not provide a comparably strong warning about the governance, compliance, and blast-radius risks of centralizing third-party secrets. If an agent follows this guidance broadly, compromise of the service account or misuse of the vault could expose unrelated systems and data.
The natural-language guidance encourages agents to remember, search, update, and sync broad categories of user-provided information, including people, projects, preferences, deadlines, and reasoning. In the context of a cloud-backed memory service, this materially increases the chance of persistent collection of sensitive personal or organizational data without granular consent or minimization.
The skill gives conflicting guidance: it tells agents not to store passwords or API keys, yet elsewhere promotes a cloud secrets vault specifically for storing API keys and credentials. This inconsistency can cause agents or users to upload highly sensitive third-party secrets to a remote service without clear policy boundaries, increasing the risk of inappropriate secret centralization.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Avoid duplicates by searching first:
# Check if similar memory exists
curl -X POST .../search -d '{"query": "user coffee preference"}'
# Only store if not found
No suspicious patterns detected.