Caveat verdict
audit-code
A local security auditing skill scanning source code for vulnerabilities using Python scripts; executionSinkDetected reflects the documented script invocation and all operations are read-only local analysis.
⚠ 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.
Findings (16)
Pipe to bash — executes piped content as shell commands
scripts/patterns.py · prose · downgraded · |bash
Pipe to sh — executes piped content as shell commands
scripts/patterns.py · prose · downgraded · |sh
Pipe to python — executes piped content as Python code
scripts/patterns.py · prose · downgraded · |python
Uses eval() — can execute arbitrary code
scripts/patterns.py · prose · downgraded · eval(
Bash /dev/tcp — raw TCP connection via shell
scripts/patterns.py · prose · downgraded · /dev/tcp/
Accesses sensitive system files
scripts/patterns.py · prose · downgraded · /etc/shadow
Dynamic Function constructor — equivalent to eval()
scripts/patterns.py · prose · downgraded · new Function(
References child_process — can spawn system processes
SKILL.md · prose · downgraded · child_process
Uses exec() — may execute shell commands
scripts/patterns.py · prose · downgraded · exec(
Uses spawn() — can execute external programs
scripts/patterns.py · prose · downgraded · spawn(
Accesses .ssh directory
scripts/patterns.py · prose · downgraded · .ssh/
Base64 decode (atob) — may hide malicious payloads
scripts/patterns.py · prose · downgraded · atob(
References sudo — requests elevated privileges
scripts/patterns.py · prose · downgraded · sudo
Base64 encoding/decoding
scripts/patterns.py · prose · downgraded · base64_encode
Sets world-executable permissions
scripts/patterns.py · prose · downgraded · chmod 777
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?
Thanks — recorded.