T08 · Insecure Dependencies
- Location
SKILL.md:79- Finding
Unpinned External Package Executes Code and Installs Unauditable Startup Hooks
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a real memory skill, but it installs persistent agent hooks and stores conversation/profile memory in ways users should review carefully before installing.
Install only if you are comfortable with a memory system that persists across sessions, writes startup hooks, and stores most conversation/profile data in plaintext by default. Prefer installing a pinned, reviewed release or from audited source, inspect the hook before enabling it, run it under a dedicated low-privilege user, and treat the encryption key and memory database as sensitive files.
SKILL.md:79Unpinned External Package Executes Code and Installs Unauditable Startup Hooks
SECURITY.md:191Sensitive Conversation and Profile Data Is Stored in Plaintext by Default
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).
# Remove the hook
rm -rf ~/.openclaw/hooks/clawbrain-startup
# Or disable events in skill.json
# Set "events": [] instead of ["gateway:startup", "command:new"]
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).
# Remove the hook
rm -rf ~/.openclaw/hooks/clawbrain-startup
# Or disable events in skill.json
# Set "events": [] instead of ["gateway:startup", "command:new"]
The startup flow says the system loads memories and injects context into agent bootstrap. That is a direct semantic pathway for previously stored secrets, personal data, or sensitive conversation summaries to be resurfaced to the model at session start, increasing the chance of unintended disclosure, prompt leakage, or cross-session privacy violations.
Referenced artifact was not completely inspected
- `SKILL.md` - This documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
### No Sudo Required (Core Installation)
**Core installation and operation never require root privileges:**
✅ **Without sudo**:
- `pip install clawbrain[all]` - Package installation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Alternative**: Use shell environment variables instead (no sudo)
- **Not required**: ClawBrain works with zero configuration
**If you see sudo in documentation, it's only for optional systemd env var configuration, not core functionality.**
## Installation Security
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
4. Tests the installation with a health check
5. **Does NOT**:
- Require sudo or root access
- Modify system files outside your home directory
- Download additional code from the internet
- Execute shell commands or privileged operations
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Location**: `~/.config/clawbrain/.brain_key`
- **Format**: Fernet encryption key (44 bytes, base64-encoded)
- **Permissions**: Should be readable only by your user (chmod 600)
- **Auto-generated**: Created on first use if not present
### CLI Key Commands
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Location**: `~/.config/clawbrain/.brain_key`
- **Format**: Fernet encryption key (44 bytes, base64-encoded)
- **Permissions**: Should be readable only by your user (chmod 600)
- **Auto-generated**: Created on first use if not present
### CLI Key Commands
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Location**: `~/.config/clawbrain/.brain_key`
- **Format**: Fernet encryption key (44 bytes, base64-encoded)
- **Permissions**: Should be readable only by your user (chmod 600)
- **Auto-generated**: Created on first use if not present
### CLI Key Commands
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **Location**: `~/.config/clawbrain/.brain_key`
- **Format**: Fernet encryption key (44 bytes, base64-encoded)
- **Permissions**: Should be readable only by your user (chmod 600)
- **Auto-generated**: Created on first use if not present
### CLI Key Commands
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.
**How to Set** (choose one):
1. **Shell environment** (no sudo): Add to `~/.bashrc` or `~/.zshrc`
2. **Systemd drop-in** (requires sudo): Create `/etc/systemd/system/{service}.service.d/brain.conf`
3. **Don't set anything**: ClawBrain works with defaults (SQLite + auto-generated key)
## Startup Hooks
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.
**How to Set** (choose one):
1. **Shell environment** (no sudo): Add to `~/.bashrc` or `~/.zshrc`
2. **Systemd drop-in** (requires sudo): Create `/etc/systemd/system/{service}.service.d/brain.conf`
3. **Don't set anything**: ClawBrain works with defaults (SQLite + auto-generated key)
## Startup Hooks
Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.
✅ **Encrypted at Rest**: Secrets in database are Fernet-encrypted
✅ **Local-Only by Default**: No network access unless configured
✅ **No Code Execution**: Cannot execute arbitrary code from memory
✅ **User Isolation**: Each agent has separate memory space
### What ClawBrain Does NOT Protect Against
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Install Specification**: skill.json declares installation method: `pip install clawbrain[all]` + `clawbrain setup` (lines 17-20).
**Sudo Requirements**: Core installation **never needs sudo**. Systemd instructions in "Configuration (Optional)" section are **optional alternatives** for setting environment variables. Core: pip + clawbrain setup (no sudo).
**Source Code**: Fully auditable at https://github.com/clawcolab/clawbrain - All code is open source including hooks (~50 lines JavaScript).
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Install Specification**: skill.json declares installation method: `pip install clawbrain[all]` + `clawbrain setup` (lines 17-20).
**Sudo Requirements**: Core installation **never needs sudo**. Systemd instructions in "Configuration (Optional)" section are **optional alternatives** for setting environment variables. Core: pip + clawbrain setup (no sudo).
**Source Code**: Fully auditable at https://github.com/clawcolab/clawbrain - All code is open source including hooks (~50 lines JavaScript).
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Install Specification**: skill.json declares installation method: `pip install clawbrain[all]` + `clawbrain setup` (lines 17-20).
**Sudo Requirements**: Core installation **never needs sudo**. Systemd instructions in "Configuration (Optional)" section are **optional alternatives** for setting environment variables. Core: pip + clawbrain setup (no sudo).
**Source Code**: Fully auditable at https://github.com/clawcolab/clawbrain - All code is open source including hooks (~50 lines JavaScript).
The skill explicitly markets persistent memory, personality, user profiling, mood detection, and learning from interactions. Even if intended as product functionality, this creates a real data-retention and resurfacing risk because sensitive user content may be stored in natural language and later reintroduced into prompts or outputs without sufficient minimization, consent, or filtering.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
### What ClawBrain Does NOT Do
- ❌ **No telemetry** - Does not phone home or collect usage data
- ❌ **No external calls** - Only connects to PostgreSQL/Redis if you configure them
- ❌ **No sudo required** - All operations in your home directory
- ❌ **No code execution** - Does not download or run remote code after install
### Security Features
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
### What ClawBrain Does NOT Do
- ❌ **No telemetry** - Does not phone home or collect usage data
- ❌ **No external calls** - Only connects to PostgreSQL/Redis if you configure them
- ❌ **No sudo required** - All operations in your home directory
- ❌ **No code execution** - Does not download or run remote code after install
### Security Features
No suspicious patterns detected.