Caveat verdict

vettr

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

Static analysis security scanner for OpenClaw skills using tree-sitter AST parsing; uses execFile (not shell spawn) for external binaries and explicitly documents the safe wrapper.

⚠ 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
100
maintenance

Permission integrity

Installs packages at runtime — transitive dependencies are not auditable

package_install

Findings (10)

Pattern match high

Uses eval() — can execute arbitrary code

src/analyzers/ast-analyzer.ts · prose · downgraded · eval(

Pattern match high

Dynamic Function constructor — equivalent to eval()

src/analyzers/ast-analyzer.ts · prose · downgraded · new Function(

Pattern match high

Pipe to python — executes piped content as Python code

.github/workflows/ai-review.yml · prose · downgraded · | python3

Pattern match medium

Uses exec() — may execute shell commands

src/analyzers/pattern-analyzer.ts · prose · downgraded · exec(

Pattern match medium

References child_process — can spawn system processes

src/utils/exec-safe.ts · prose · downgraded · child_process

Pattern match medium

subprocess execution — runs system commands from Python

.github/workflows/ai-review.yml · prose · downgraded · subprocess.run(

Pattern match medium

Accesses system credential store

src/analyzers/metadata-analyzer.ts · prose · downgraded · keychain

Pattern match low

Popular HTTP library — network access

SKILL.md · prose · downgraded · axios

Pattern match low

Python urllib.request — network access

.github/workflows/ai-review.yml · prose · downgraded · urllib.request

Pattern match low

Python os.environ.get — reads environment variable

.github/workflows/ai-review.yml · prose · downgraded · os.environ.get(

Why the tier is capped

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

Permissions & capabilities

Requires 1 system binary.

package_install

Is this flag fair?

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