AOI Triple Memory (Lite)

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: aoi-triple-memory-lite Version: 0.1.2 The `skill.js` file contains a command option injection vulnerability in its `search` function. The user-provided query (`--q`) is passed directly to the `rg` (ripgrep) command via `node:child_process.spawnSync` without adequate sanitization. While `spawnSync` with an array of arguments generally prevents shell injection, a malicious query could still inject `rg`-specific options (e.g., `--files`, `--max-depth`, or potentially `--exec`) to alter the command's behavior or, in a worst-case scenario, lead to arbitrary command execution. There is no evidence of intentional malicious behavior like data exfiltration or backdoors, but this vulnerability poses a significant risk.

Findings (0)

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.

What this means

Search results may expose matching lines from local workspace files to the agent or terminal.

Why it was flagged

The skill runs the local ripgrep tool with a user-supplied query over the workspace. This matches the stated search purpose, but it is still local tool execution that can return workspace file contents.

Skill content
const res = spawnSync('rg', ['-n', q, root], { encoding: 'utf8' });
Recommendation

Use the skill only in workspaces you intend to search, and consider adding a `--` separator before the query to avoid ripgrep option ambiguity.

What this means

The command may fail or use whatever `rg` binary is already installed on the local system.

Why it was flagged

The registry requirements declare no binaries, while `skill.js` depends on the external `rg` command. This is not hidden malicious behavior, but the runtime dependency is under-declared.

Skill content
Required binaries (all must exist): none; Required binaries (at least one): none
Recommendation

Declare ripgrep as a required binary and ensure users install it from a trusted source.

What this means

Information written into notes may remain in the project and be reused or searched later.

Why it was flagged

The skill creates persistent decision-note files inside the workspace. This is expected for a memory/note skill, but stored notes can later influence work or contain sensitive information.

Skill content
const dir = path.join(root, 'context'); ... fs.writeFileSync(file, body, 'utf8');
Recommendation

Review generated notes before relying on them, avoid storing secrets or private data, and keep the workspace scope limited.