Dangerous exec
- Finding
- Shell command execution detected (child_process).
Security checks across static analysis, malware telemetry, and agentic risk
ClawVault mostly matches its memory purpose, but one file-writing path appears not safely confined to the vault and should be reviewed before use.
Use ClawVault only with a dedicated vault path, avoid storing secrets, keep repair-session backups enabled, and do not let an agent run storage commands with arbitrary category/path-like values until the path containment issue is fixed.
52/52 vendors flagged this skill as clean.
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
A crafted category such as one containing parent-directory components could cause the agent to create, and with overwrite enabled replace, markdown files outside the intended vault.
The vault write path is assembled from a caller-supplied category without an evident allowlist, normalization, or check that the result remains under the configured vault path.
const { category, title, content, frontmatter = {}, overwrite = false } = options; ... const relativePath = path.join(category, filename); const fullPath = path.join(this.config.path, relativePath); ... fs.writeFileSync(fullPath, fileContent);Validate categories against an allowlist or normalize and reject any resolved path that is not inside the vault before writing.
Installing or using this skill can run the locally installed qmd program and pass it vault/indexing arguments.
The CLI launches the external qmd binary as part of its documented search/indexing workflow.
const proc = spawn('qmd', args, { stdio: 'inherit' });Install qmd only from a trusted source and keep the vault path scoped to the documents you intend to index.
A repair operation changes the conversation state future agent runs may depend on, even though backups are created by default.
The session repair feature backs up and then rewrites an OpenClaw session transcript, removing/relinking entries.
fs.copyFileSync(filePath, backupPath); ... fs.writeFileSync(filePath, repairedLines.join("\n") + "\n");Use dry-run first, keep backups enabled, and repair only the specific session you intend to modify.
The skill can inspect local agent session metadata/transcripts for its repair workflow, which may contain sensitive conversation context.
The repair utilities access local OpenClaw agent session directories under the user's home directory.
function getOpenClawAgentsDir() { return path.join(os.homedir(), ".openclaw", "agents"); }Run session repair only when needed, prefer explicit agent/session IDs, and avoid using it on profiles you do not want the tool to inspect.
Private notes or instruction-like content saved in the vault may be surfaced to future agent sessions.
The skill intentionally stores persistent memory, checkpoint state, people/projects, and handoffs for reuse across sessions.
vault/ ├── .clawvault/ # Internal state │ ├── last-checkpoint.json ... ├── people/ ... ├── projects/ ... ├── handoffs/
Keep the vault in a dedicated location, avoid storing secrets, and review retrieved memory before relying on it for important actions.
If the hook is installed and enabled, it can automatically add recovery context and checkpoint data to agent sessions.
The package includes optional OpenClaw hook behavior that can persist across events and inject recovery context when enabled.
`gateway:startup` event: Detects if previous session died, injects alert into first agent turn ... `command:new` event: Auto-checkpoints before session reset
Enable the hook only if you want automatic context recovery, and review hook behavior/configuration before relying on it.
Global package installation runs third-party code on the user's machine.
Setup depends on globally installed external packages, including qmd from npm or GitHub.
npm install -g clawvault ... bun install -g github:tobi/qmd
Verify the package source/version before installing globally and prefer pinned, trusted releases where possible.