Caveat verdict

virtuals-protocol-acp

acp

45
🟠 Risky
Significant risk patterns flagged — automated deep scan, not behavioral proof.

The skill involves hiring specialized agents and handling tasks, which may require access to sensitive information.

⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
100
transparency
80
maintenance

Findings (14)

Pattern match high

Possible hardcoded credential

src/commands/deploy.ts · prose · downgraded · API_KEY=" + apiKey ); } }

Pattern match high

Pipe to python — executes piped content as Python code

test-bounty.sh · prose · downgraded · | python3

Pattern match medium

Opens WebSocket connection

README.md · code · WebSocket

Pattern match medium

Dynamic import() — loads module at runtime

bin/acp.ts · prose · downgraded · import("

Pattern match medium

Accesses OpenClaw config/secrets directly

README.md · prose · downgraded · ~/.openclaw/openclaw.json

Pattern match medium

References child_process — can spawn system processes

src/commands/deploy.ts · prose · downgraded · child_process

Pattern match medium

Uses spawn() — can execute external programs

src/commands/serve.ts · prose · downgraded · spawn(

Pattern match medium

Uses exec() — may execute shell commands

src/lib/open.ts · prose · downgraded · exec(

Pattern match medium

Instructs covert action — may act without user awareness

src/lib/open.ts · prose · downgraded · Silently

Pattern match medium

HTTP request to bare IP address — common in malicious payloads

test-bounty.sh · prose · downgraded · http://127.0.0.1

Pattern match low

Uses XMLHttpRequest — network access

package-lock.json · prose · downgraded · xmlhttprequest

Pattern match low

Popular HTTP library — network access

package-lock.json · prose · downgraded · axios

Pattern match low

Makes HTTP request to external URL

references/seller.md · code · fetch(`https://

Pattern match low

Accesses sensitive environment variables

src/lib/auth.ts · prose · downgraded · process.env.ACP_AUTH

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

Is this flag fair?

Check another skill Browse the registry Auditing your own skills or configs? Use the API