← All skills
security-review
52 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a security skill usually runs scanners and checks websites.
By compozy/compozy (GitHub) · security · 2,859 stars · scanned at commit 95e0b2c
Security code review for vulnerabilities. Use when asked to "security review", "find vulnerabilities", "check for security issues", "audit security", "OWASP review", or review code for injection, XSS, authentication, authorization, cryptography issues. Provides systematic review with confidence-based reporting.
Works with any agent that supports SKILL.md skills.
What this skill can do
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README. Expected for a security skill.
Found in 36 places.
Show 17 more
- .agents/skills/security-review/SKILL.md, line 222
requests.get(settings.API_URL) # SAFE: Server-controlled config - .agents/skills/security-review/SKILL.md, line 223
requests.get(f"{settings.BASE}/{x}") # CHECK: Is 'x' user input? - .agents/skills/security-review/languages/javascript.md, line 145
fetch(userUrl); // FLAG: Check URL validation - .agents/skills/security-review/languages/javascript.md, line 146
http.get(userUrl); // FLAG: Check URL validation - .agents/skills/security-review/languages/javascript.md, line 201
const data = await fetch(query.url); // FLAG: SSRF - .agents/skills/security-review/languages/javascript.md, line 206
const data = await fetch(process.env.API_KEY); // CHECK: Client-side exposure - .agents/skills/security-review/languages/python.md, line 25
requests.get(settings.EXTERNAL_API_URL) # NOT SSRF - configured at deployment - .agents/skills/security-review/languages/python.md, line 26
requests.get(f"{settings.SEER_URL}{path}") # NOT SSRF - base URL is server-controlled - .agents/skills/security-review/languages/python.md, line 32
requests.get(API_URL) # Server operator controls this - .agents/skills/security-review/languages/python.md, line 234
requests.get(user_url) - .agents/skills/security-review/languages/python.md, line 235
urllib.request.urlopen(user_url) - .agents/skills/security-review/languages/python.md, line 236
httpx.get(user_url) - .agents/skills/security-review/languages/python.md, line 237
aiohttp.ClientSession().get(user_url) - .agents/skills/security-review/references/csrf.md, line 131
fetch('/api/transfer', { - .agents/skills/security-review/references/csrf.md, line 173
fetch('/api/endpoint', { - .agents/skills/security-review/references/csrf.md, line 291
fetch(`/api/action?${param}`, { method: 'POST' }); - .agents/skills/security-review/references/csrf.md, line 300
fetch(`/api/action?${param}`, { method: 'POST' });
and 16 more places
Runs commands on your computer
The author does not mention this. Expected for a security skill.
Found in 26 places.
Show 17 more
- .agents/skills/security-review/languages/javascript.md, line 135
execSync(userInput); // FLAG: Critical - .agents/skills/security-review/languages/javascript.md, line 137
child_process.exec(userCmd); // FLAG: Critical - .agents/skills/security-review/languages/javascript.md, line 377
grep -rn "child_process\|exec(\|execSync(\|spawn(" --include="*.js" --include="*.ts" - .agents/skills/security-review/languages/python.md, line 80
os.system(f"cmd {user_input}") # FLAG - .agents/skills/security-review/languages/python.md, line 81
subprocess.run(cmd, shell=True) # FLAG if cmd contains user input - .agents/skills/security-review/languages/python.md, line 82
subprocess.Popen(cmd, shell=True) # FLAG if cmd contains user input - .agents/skills/security-review/languages/python.md, line 222
os.system(user_cmd) - .agents/skills/security-review/languages/python.md, line 223
os.popen(user_cmd) - .agents/skills/security-review/languages/python.md, line 224
subprocess.call(cmd, shell=True) # If cmd has user input - .agents/skills/security-review/languages/python.md, line 225
subprocess.run(cmd, shell=True) # If cmd has user input - .agents/skills/security-review/languages/python.md, line 226
subprocess.Popen(cmd, shell=True) # If cmd has user input - .agents/skills/security-review/languages/python.md, line 359
grep -rn "os\.system\|subprocess.*shell=True\|os\.popen" --include="*.py" - .agents/skills/security-review/references/file-security.md, line 419
grep -rn "os\.system.*file\|subprocess.*file" --include="*.py" - .agents/skills/security-review/references/injection.md, line 133
os.system(f"mkdir {directory_name}") - .agents/skills/security-review/references/injection.md, line 143
subprocess.run(f"convert {input_file} {output_file}", shell=True) - .agents/skills/security-review/references/injection.md, line 146
subprocess.run(["convert", input_file, output_file], shell=False) - .agents/skills/security-review/references/injection.md, line 170
| Python | `os.system()`, `subprocess.run(shell=True)`, `os.popen()`, `eval()`, `exec()` |
and 6 more places
Downloads and installs other software
The author does not mention this.
Found in 9 places.
Show 6 more
Contains code that is hidden or hard to read
The author does not mention this.
Found in 1 place.
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/'security-review' ] || [ -L ~/.agents/skills/'security-review' ]; then echo 'A skill folder named security-review already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/compozy/compozy' "$d" && git -C "$d" checkout --quiet '95e0b2c4ec00653ede375062504378a164ff6996' -- '.agents/skills/security-review' && mkdir -p ~/.agents/skills && cp -R "$d"/'.agents/skills/security-review' ~/.agents/skills/'security-review' && 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/'security-review' ~/.claude/skills/'security-review' (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 compozy/compozy shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/compozy/compozy/)
Score history
| Date | Version | Score |
|---|
| 2026-11-10 | 95e0b2c | 52 |
| 2026-11-08 | 845d535 | 52 |
| 2026-11-07 | 4cb2853 | 42 |
Also found in
Identical copies of this skill exist at:
- idexal/idexal-skills/security-review