T08 · Insecure Dependencies
- Location
skill.md:22- Finding
Global Installation of Externally Retrieved npm Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a local memory tool, but installation and security claims are inconsistent enough that users should review it carefully before installing.
Install only after verifying the exact npm package version, tarball integrity, and matching source commit. Treat stored memories as unencrypted local files, avoid broad collection paths, keep auto-trigger disabled unless you understand the capture behavior, and do not store secrets or regulated data in it.
skill.md:22Global Installation of Externally Retrieved npm Package
skill.md:117Verification Procedure Audits a Different Version and Commit Than the Installed Package
skill.md:85Sensitive Conversation and File Contents Are Stored as Plaintext JSON
The documentation presents deletion commands, including recursive removal of the entire data directory, without an explicit irreversible-data-loss warning or confirmation safeguards. Users may destroy all stored memories accidentally, especially when copying commands verbatim.
Instructing users to delete JSON files directly with rm bypasses application-level safeguards, auditability, and input validation. Users may delete the wrong record or corrupt expected state if companion indexes or metadata exist now or in future versions.
openclaw-memory-os search "要删除的内容"
# 删除文件
rm ~/.memory-os/data/memories/<memory-id>.json
# 或删除所有
rm -rf ~/.memory-os/
This finding is a true positive for destructive tool-parameter abuse because the example normalizes a force-recursive delete of the skill’s whole storage tree. Documentation that encourages copy-paste execution of such commands increases the likelihood of accidental or overly broad deletion.
rm ~/.memory-os/data/memories/.json
rm -rf ~/.memory-os/
### Q: v0.1.0 需要 API key 吗?
This finding is a true positive for destructive tool-parameter abuse because the example normalizes a force-recursive delete of the skill’s whole storage tree. Documentation that encourages copy-paste execution of such commands increases the likelihood of accidental or overly broad deletion.
rm ~/.memory-os/data/memories/.json
rm -rf ~/.memory-os/
### Q: v0.1.0 需要 API key 吗?
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).
- Stored: `~/.memory-os/` (local JSON files)
- Control: You decide what to collect and when
- Ownership: You own all data files
- Deletion: `rm -rf ~/.memory-os/` removes everything
**Recommended Safe Usage:**
1. Test in sandbox/VM first
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).
- Stored: `~/.memory-os/` (local JSON files)
- Control: You decide what to collect and when
- Ownership: You own all data files
- Deletion: `rm -rf ~/.memory-os/` removes everything
**Recommended Safe Usage:**
1. Test in sandbox/VM first
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).
- Stored: `~/.memory-os/` (local JSON files)
- Control: You decide what to collect and when
- Ownership: You own all data files
- Deletion: `rm -rf ~/.memory-os/` removes everything
**Recommended Safe Usage:**
1. Test in sandbox/VM first
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).
- Stored: `~/.memory-os/` (local JSON files)
- Control: You decide what to collect and when
- Ownership: You own all data files
- Deletion: `rm -rf ~/.memory-os/` removes everything
**Recommended Safe Usage:**
1. Test in sandbox/VM first
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).
- Stored: `~/.memory-os/` (local JSON files)
- Control: You decide what to collect and when
- Ownership: You own all data files
- Deletion: `rm -rf ~/.memory-os/` removes everything
**Recommended Safe Usage:**
1. Test in sandbox/VM first
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
default_enabled: false # AUTO-TRIGGER is OFF by default (opt-in for privacy)
confirmation_required: true # ✅ IMPLEMENTED in v0.3.0 - Always prompts before saving
privacy_filter: integrated # ✅ IMPLEMENTED in v0.3.0 - Automatic redaction of sensitive data
path_protection: enforced # ✅ IMPLEMENTED in v0.3.0 - Blocks ~/.ssh, ~/.aws, .env files
safe_mode: true # ✅ IMPLEMENTED in v0.3.0 - Forces confirmation + filter + path checks
opt_in: configurable # Can be enabled in ~/.memory-os/config.json
encryption: optional # Framework added, full implementation in v0.3.1
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
default_enabled: false # AUTO-TRIGGER is OFF by default (opt-in for privacy)
confirmation_required: true # ✅ IMPLEMENTED in v0.3.0 - Always prompts before saving
privacy_filter: integrated # ✅ IMPLEMENTED in v0.3.0 - Automatic redaction of sensitive data
path_protection: enforced # ✅ IMPLEMENTED in v0.3.0 - Blocks ~/.ssh, ~/.aws, .env files
safe_mode: true # ✅ IMPLEMENTED in v0.3.0 - Forces confirmation + filter + path checks
opt_in: configurable # Can be enabled in ~/.memory-os/config.json
encryption: optional # Framework added, full implementation in v0.3.1
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
default_enabled: false # AUTO-TRIGGER is OFF by default (opt-in for privacy)
confirmation_required: true # ✅ IMPLEMENTED in v0.3.0 - Always prompts before saving
privacy_filter: integrated # ✅ IMPLEMENTED in v0.3.0 - Automatic redaction of sensitive data
path_protection: enforced # ✅ IMPLEMENTED in v0.3.0 - Blocks ~/.ssh, ~/.aws, .env files
safe_mode: true # ✅ IMPLEMENTED in v0.3.0 - Forces confirmation + filter + path checks
opt_in: configurable # Can be enabled in ~/.memory-os/config.json
encryption: optional # Framework added, full implementation in v0.3.1
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**DO NOT:**
- ❌ Enable AUTO-TRIGGER in production without code audit
- ❌ Run `collect --source ~/` or other broad paths with sensitive data
- ❌ Collect directories containing: `.env`, `.aws/`, `.ssh/`, `credentials.json`, etc.
- ❌ Store API keys, passwords, or credentials in collected files
- ❌ Trust plaintext storage for confidential information
- ❌ Grant autonomous agent access if AUTO-TRIGGER is enabled
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**DO NOT:**
- ❌ Enable AUTO-TRIGGER in production without code audit
- ❌ Run `collect --source ~/` or other broad paths with sensitive data
- ❌ Collect directories containing: `.env`, `.aws/`, `.ssh/`, `credentials.json`, etc.
- ❌ Store API keys, passwords, or credentials in collected files
- ❌ Trust plaintext storage for confidential information
- ❌ Grant autonomous agent access if AUTO-TRIGGER is enabled
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).
**Current Limitation:** The filter is **not automatically applied** during memory collection in v0.2.2. Users must:
1. Review collected data manually: `cat ~/.memory-os/memories/*.json`
2. Delete sensitive files: `rm ~/.memory-os/memories/<uuid>.json`
3. Avoid collecting directories with credentials
**Planned:** Automatic privacy filter integration in v0.3.0
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).
**Current Limitation:** The filter is **not automatically applied** during memory collection in v0.2.2. Users must:
1. Review collected data manually: `cat ~/.memory-os/memories/*.json`
2. Delete sensitive files: `rm ~/.memory-os/memories/<uuid>.json`
3. Avoid collecting directories with credentials
**Planned:** Automatic privacy filter integration in v0.3.0
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).
**Current Limitation:** The filter is **not automatically applied** during memory collection in v0.2.2. Users must:
1. Review collected data manually: `cat ~/.memory-os/memories/*.json`
2. Delete sensitive files: `rm ~/.memory-os/memories/<uuid>.json`
3. Avoid collecting directories with credentials
**Planned:** Automatic privacy filter integration in v0.3.0
The guide encourages collecting notes and investment rules into long-lived local storage without warning that such data may be sensitive, regulated, or later exposed through local compromise, backups, shell history, or shared accounts. Users may ingest personal, financial, or proprietary material without understanding the privacy consequences.
The examples instruct users to collect notes into a persistent memory store, creating durable local retention of content that may include sensitive personal or financial information. In a memory/recording skill, persistence is core functionality, but without strong warnings and retention controls it still presents real privacy and data-exposure risk.
# 创建测试笔记
mkdir ~/my-notes
echo "学习了 TypeScript 的高级类型系统" > ~/my-notes/typescript-notes.txt
echo "React Server Components 性能优化技巧" > ~/my-notes/react-notes.txt
The FAQ says the skill does not automatically save all conversations unless explicitly asked, but the skill metadata and examples describe conversation-recording infrastructure and automatic memory capture flows. This mismatch can mislead users about when sensitive content is persisted, weakening informed consent and privacy expectations.
The README explicitly states that when auto-trigger is enabled, conversation data is saved immediately with no confirmation prompt. In a memory-recording skill handling potentially sensitive personal content, this increases the risk of unintended capture and storage of secrets, personal data, or regulated information without a final user check.
**🔒 Privacy Notice (v0.2.2):**
- ✅ **AUTO-TRIGGER is OFF by default** (opt-in only)
- ⚠️ **No confirmation prompt** when enabled (saves immediately - planned for v0.3.0)
- ⚠️ **Privacy filter exists but not integrated** (code implemented, CLI integration pending)
- ⚠️ **No encryption at rest** (plain JSON files)
- ✅ **100% local runtime** - zero network calls during operation (installation requires npm)
Advertising auto-trigger support that saves immediately without confirmation describes behavior that can persist sensitive conversation content without user review. Given the skill's purpose is conversation memory extraction, the context makes accidental over-collection more dangerous than in a non-sensitive local note-taking tool.
- ✅ Basic keyword search (all local computation)
- ✅ Batch file collection (user-triggered CLI)
- ✅ **Conversation memory extraction** (extract from natural language)
- ✅ **Auto-trigger support** (opt-in, saves immediately without confirmation in v0.2.2)
- ✅ Recursive directory scanning with progress display
- ✅ Automatic file type detection (TEXT vs CODE)
- ✅ Timeline and statistics (local only)
The documented design allows natural conversations to be extracted and stored directly when enabled, with no confirmation prompt in v0.2.2. Because conversations often contain passwords, health data, financial details, or third-party information, autonomous persistence without review creates a meaningful privacy and data-handling risk.
Memory-OS is an open-source personal memory management system designed for digital immortality and cognitive continuity. It can collect, store, retrieve, and intelligently process all your digital memories, build personal knowledge graphs, and provide the ability to have conversations with your digitized "self".
**v0.2.2 Focus:** Opt-in conversation memory with local-only storage. AUTO-TRIGGER is disabled by default and saves directly when enabled (no confirmation prompt in v0.2.2). Privacy filter code exists but CLI integration pending. Extract and store information from natural conversations. AI features (semantic search, LLM integration) are planned but NOT implemented in this version.
## Core Features
The feature list normalizes auto-triggered memory capture with no confirmation, which is risky in a product designed to store long-lived personal memories. Even though it is opt-in and local-only, the absence of confirmation and the admitted lack of integrated privacy filtering materially increase the chance of storing unintended sensitive content.
- **Opt-In Design** - AUTO-TRIGGER disabled by default
- **Local Storage** - JSON-based file storage, no cloud dependency, no encryption
- **Conversation Memory** - Extract information from natural language
- **Auto-Trigger** - Opt-in, saves immediately (no confirmation prompt)
- **Entity Extraction** - Automatically extracts names, dates, events
- **Privacy Filter** - Code implemented, CLI integration pending v0.3.0
- **Batch File Collection** - Import entire directories with one command
Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.
# Verify data location
ls -la ~/.memory-os/memories/
# Inspect collected memories
cat ~/.memory-os/memories/*.json | jq '.'
No suspicious patterns detected.