name: security-audit description: "Fail-closed security auditing for OpenClaw/ClawHub skills & repos: trufflehog secrets scanning, semgrep SAST, prompt-injection/persistence signals, and supply-chain hygiene checks before enabling or installing." metadata: {"openclaw":{"emoji":"🛡️","requires":{"bins":["jq","trufflehog","semgrep","python3"]},"install":[{"id":"apt-jq","kind":"apt","package":"jq","bins":["jq"],"label":"Install jq (apt)"},{"id":"apt-ghog","kind":"apt","package":"python3","bins":["python3"],"label":"Install Python 3 (apt)"},{"id":"apt-trufflehog","kind":"apt","package":"trufflehog","bins":["trufflehog"],"label":"Install trufflehog (apt)"},{"id":"pipx-semgrep","kind":"shell","label":"Install semgrep (pipx)","command":"python3 -m pip install --user pipx && python3 -m pipx ensurepath && pipx install semgrep"},{"id":"brew-jq","kind":"brew","formula":"jq","bins":["jq"],"label":"Install jq (brew)"},{"id":"brew-trufflehog","kind":"brew","formula":"trufflehog","bins":["trufflehog"],"label":"Install trufflehog (brew)"},{"id":"brew-semgrep","kind":"brew","formula":"semgrep","bins":["semgrep"],"label":"Install semgrep (brew)"}]}}
A hostile-by-design, fail-closed audit workflow for codebases and OpenClaw/ClawHub skills.
It does not try to answer “does this skill work?”. It tries to answer: “can this skill betray the system?”
This skill’s scripts combine multiple layers:
If any layer fails, the overall audit is FAIL.
From this skill folder (use bash so it works even if executable bits were not preserved by a zip download):
bash scripts/run_audit_json.sh <path>
Example:
bash scripts/run_audit_json.sh . > /tmp/audit.json
jq '.ok, .tools' /tmp/audit.json
Set the strictness level (default: standard):
OPENCLAW_AUDIT_LEVEL=standard bash scripts/run_audit_json.sh <path>
OPENCLAW_AUDIT_LEVEL=strict bash scripts/run_audit_json.sh <path>
OPENCLAW_AUDIT_LEVEL=paranoid bash scripts/run_audit_json.sh <path>
standard: pragmatic strict defaults (lockfiles required; install hooks/persistence/prompt-injection signals fail)strict: more patterns become hard FAIL (e.g. minified/obfuscation artifacts)paranoid: no "best-effort" hashing failures; more fail-closed behaviorFor strict/quarantine workflows, require a machine-readable intent/permissions manifest at repo root:
openclaw-skill.jsonIf a repo/skill does not provide this manifest, the hostile audit should treat it as FAIL.
7w4.net小葱技能站,你的AI助手技能库。
See: docs/OPENCLAW_SKILL_MANIFEST_SCHEMA.md.
Docker is optional here. This skill can be used for static auditing without Docker.
If you want to execute any generated/untrusted code, run it in a separate sandbox workflow (recommended).
scripts/run_audit_json.sh — main JSON audit runnerscripts/hostile_audit.py — prompt-injection/persistence/dependency hygiene scannerscripts/security_audit.sh — convenience wrapper (always returns JSON, never non-zero)openclaw-skill.json — machine-readable intent/permissions manifest这个 Skill 质量不错,能有效检测代码中的密钥泄露、提示注入和恶意持久化等风险,文档清晰、支持灵活配置。但它依赖多个外部工具才能完整运行,且默认级别下某些敏感检测只警告不失败,运行时可能无法捕获所有问题。整体适合安全意识强的用户使用。