Caveat verdict

vet-repo

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Security scanner for agent config files that detects malicious patterns in SKILL.md, .mcp.json, and CLAUDE.md files; advisory-only hooks that warn but don't block.

⚠ 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
90
transparency
70
maintenance

Findings (18)

Pattern match high

Pipe to bash — executes piped content as shell commands

SKILL.md · prose · downgraded · |bash

Pattern match high

Recursive delete from root or home — destructive command

SKILL.md · prose · downgraded · rm -rf /

Pattern match high

Pipe to sh — executes piped content as shell commands

scripts/patterns.py · prose · downgraded · |sh

Pattern match high

Pipe to python — executes piped content as Python code

scripts/patterns.py · prose · downgraded · |python

Pattern match high

Uses eval() — can execute arbitrary code

scripts/patterns.py · prose · downgraded · eval(

Pattern match high

Bash /dev/tcp — raw TCP connection via shell

scripts/patterns.py · prose · downgraded · /dev/tcp/

Pattern match high

Accesses sensitive system files

scripts/patterns.py · prose · downgraded · /etc/shadow

Pattern match high

Dynamic Function constructor — equivalent to eval()

scripts/patterns.py · prose · downgraded · new Function(

Pattern match medium

Accesses .ssh directory

SKILL.md · prose · downgraded · .ssh/

Pattern match medium

Uses exec() — may execute shell commands

scripts/patterns.py · prose · downgraded · exec(

Pattern match medium

References child_process — can spawn system processes

scripts/patterns.py · prose · downgraded · child_process

Pattern match medium

Uses spawn() — can execute external programs

scripts/patterns.py · prose · downgraded · spawn(

Pattern match medium

Base64 decode (atob) — may hide malicious payloads

scripts/patterns.py · prose · downgraded · atob(

Pattern match medium

References sudo — requests elevated privileges

scripts/patterns.py · prose · downgraded · sudo

Pattern match low

References agent configuration files

SKILL.md · prose · downgraded · CLAUDE.md

Pattern match low

Sets world-executable permissions

SKILL.md · prose · downgraded · chmod 777

Pattern match low

Base64 encoding/decoding

scripts/patterns.py · prose · downgraded · base64_encode

Pattern match low

Python urllib.request — network access

scripts/patterns.py · prose · downgraded · urllib.request

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class A/D/E). 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