Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .claude/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add nicepkg/auto-company --skill code-review-security -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .agents/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nicepkg/auto-company --skill code-review-security -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .cursor/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add nicepkg/auto-company --skill code-review-security -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .gemini/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add nicepkg/auto-company --skill code-review-security -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .github/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nicepkg/auto-company --skill code-review-security -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "code-review-security" agent skill from https://github.com/nicepkg/auto-company/tree/main/.claude/skills/code-review-security into .opencode/skills/code-review-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-review-security", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
code-review-security
GitHub stars
192
Used in
1 other repo
Token cost
~3.9k tokens
SKILL.md length
1,094 words
Files
2 (incl. scripts)
Skills in repo
23
Repo updated
First seen
Licence
MIT
At a glance
Security-focused code review checklist and automated scanning patterns.
Reviewing pull requests for security issues
SKILL.md covers When to Use, Instructions and Examples
Runs Python scripts from its folder; calls npm; needs SECRET_KEY
Auditing authentication/authorization code
What it does
Code Review Security is an agent skill from nicepkg/auto-company. Security-focused code review checklist and automated scanning patterns. Use when reviewing pull requests for security issues, auditing authentication/authorization code, checking for OWASP Top 10 vulnerabilities, or validating input sanitization. Covers SQL injection prevention, XSS protection, CSRF tokens, authentication flow review, secrets detection, dependency vulnerability scanning, and secure coding patterns for Python (FastAPI) and React. Does NOT cover deployment security (use docker-best-practices) or…
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/security-scan.py`). Compatibility notes: Python 3.12+, FastAPI, React, TypeScript
It sits in Security, covering Web application vulnerabilities and Code review. It works with Python, FastAPI, React and Docker. The repository describes itself as: 🤖 A fully autonomous AI company that runs 24/7. 14 AI agents (Bezos, Munger, DHH...) brainstorm ideas, write code, deploy products & make money — no human in the loop. Powered… The licence is MIT.
Read from SKILL.md and the folder at commit 1252920. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Read
Grep
Glob
Write
Bash(python:*)
Bash(npm:*)
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
npm
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
SECRET_KEY
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Compatibility
Python 3.12+, FastAPI, React, TypeScript
From compatibility in the SKILL.md frontmatter.
Context cost
Code Review Security loads about 3.9k tokens when it runs. Until then it costs about 145 tokens; SKILL.md has 1,094 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~145
When it runs· the whole SKILL.md, loaded when a task matches
~3.9k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/code-review-security/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
code-review-security
description
Security-focused code review checklist and automated scanning patterns. Use when reviewing pull requests for security issues, auditing authentication/authorization code, checking for OWASP Top 10 vulnerabilities, or validating input sanitization. Covers SQL injection prevention, XSS protection, CSRF tokens, authentication flow review, secrets detection, dependency vulnerability scanning, and secure coding patterns for Python (FastAPI) and React. Does NOT cover deployment security (use docker-best-practices) or incident handling (use incident-response).
General code quality review without security focus (use pre-merge-checklist)
Writing implementation code (use python-backend-expert or react-frontend-expert)
Instructions
OWASP Top 10 Checklist
Review every PR against the OWASP Top 10 (2021 edition). Each category below includes specific checks for Python/FastAPI and React codebases.
A01: Broken Access Control
What to look for:
Missing authorization checks on endpoints
Direct object reference without ownership verification
Endpoints that expose data without role-based filtering
Missing Depends() for auth on new routes
Python/FastAPI checks:
python
# BAD: No authorization check -- any authenticated user can access any user
@router.get("/users/{user_id}")
async def get_user(user_id: int, db: Session = Depends(get_db)):
return await user_repo.get(user_id)
# GOOD: Verify the requesting user owns the resource or is admin
@router.get("/users/{user_id}")
async def get_user(
user_id: int,
current_user: User = Depends(get_current_user),
db: Session = Depends(get_db),
):
if current_user.id != user_id and current_user.role != "admin":
raise HTTPException(status_code=403, detail="Forbidden")
return await user_repo.get(user_id)
Review checklist:
Every route has authentication (Depends(get_current_user))
Resource access is verified against the requesting user
Admin-only endpoints check role == "admin"
List endpoints filter by user ownership (unless admin)
No IDOR (Insecure Direct Object Reference) vulnerabilities
A02: Cryptographic Failures
What to look for:
Passwords stored in plaintext or with weak hashing
Sensitive data in logs or error messages
Hardcoded secrets, API keys, or tokens
Weak JWT configuration
Python checks:
python
# BAD: Weak password hashing
import hashlib
password_hash = hashlib.md5(password.encode()).hexdigest()
# GOOD: Use bcrypt via passlib
from passlib.context import CryptContext
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
password_hash = pwd_context.hash(password)
# BAD: Secret in code
SECRET_KEY = "my-super-secret-key-123"
# GOOD: Secret from environment
SECRET_KEY = os.environ["SECRET_KEY"]
Review checklist:
Passwords hashed with bcrypt (never MD5, SHA1, or plaintext)
JWT secret loaded from environment, not hardcoded
Sensitive data excluded from logs (passwords, tokens, PII)
HTTPS enforced for all external communication
No secrets in source code (check .env.example has placeholders only)
A03: Injection
What to look for:
Raw SQL queries with string interpolation
eval(), exec(), compile() with user input
subprocess calls with shell=True
Template injection
Python checks:
python
# BAD: SQL injection via string formatting
query = f"SELECT * FROM users WHERE email = '{email}'"
db.execute(text(query))
# GOOD: Parameterized query
db.execute(text("SELECT * FROM users WHERE email = :email"), {"email": email})
# GOOD: SQLAlchemy ORM (always parameterized)
user = db.query(User).filter(User.email == email).first()
# BAD: Command injection
subprocess.run(f"convert {filename}", shell=True)
# GOOD: Pass arguments as a list
subprocess.run(["convert", filename], shell=False)
# BAD: Code execution with user input
result = eval(user_input)
# GOOD: Never eval user input. Use ast.literal_eval for safe parsing.
result = ast.literal_eval(user_input) # Only for literal structures
Review checklist:
No raw SQL with string interpolation (use ORM or parameterized queries)
No eval(), exec(), or compile() with external input
No subprocess.run(..., shell=True) with dynamic arguments
No pickle.loads() on untrusted data
All user input validated by Pydantic schemas before use
A04: Insecure Design
What to look for:
Missing rate limiting on authentication endpoints
No account lockout after failed login attempts
Missing CAPTCHA on public-facing forms
Business logic flaws (e.g., negative amounts, self-privilege-escalation)
Review checklist:
Rate limiting on login, registration, and password reset
Account lockout or exponential backoff after 5+ failed attempts
Business logic validates constraints (positive amounts, valid transitions)
Sensitive operations require re-authentication
A05: Security Misconfiguration
What to look for:
Debug mode enabled in production
CORS configured with wildcard * origins
Default credentials or admin accounts
Verbose error messages exposing stack traces
Python/FastAPI checks:
python
# BAD: Wide-open CORS
app.add_middleware(CORSMiddleware, allow_origins=["*"])
# GOOD: Explicit allowed origins
app.add_middleware(
CORSMiddleware,
allow_origins=["https://app.example.com"],
allow_methods=["GET", "POST", "PUT", "DELETE"],
allow_headers=["Authorization", "Content-Type"],
)
# BAD: Debug mode in production
app = FastAPI(debug=True)
# GOOD: Debug only in development
app = FastAPI(debug=settings.DEBUG) # DEBUG=False in production
Review checklist:
CORS origins are explicit (no wildcard in production)
Debug mode disabled in production configuration
Error responses do not expose stack traces or internal details
Default admin credentials are changed or removed
Security headers set (X-Content-Type-Options, X-Frame-Options, etc.)
A06: Vulnerable and Outdated Components
Review checklist:
No known CVEs in Python dependencies (pip-audit or safety check)
No known CVEs in npm dependencies (npm audit)
Dependencies pinned to specific versions in lock files
No deprecated packages still in use
A07: Identification and Authentication Failures
What to look for:
Weak password policies
Session tokens that do not expire
Missing multi-factor authentication for admin actions
// BAD: XSS via dangerouslySetInnerHTML
<div dangerouslySetInnerHTML={{ __html: userBio }} />
// GOOD: Sanitize first, or use text content
import DOMPurify from "dompurify";
<div dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(userBio) }} />
// BETTER: Use text content when HTML is not needed
<p>{userBio}</p>
// BAD: javascript: URL
<a href={userLink}>Click</a> // userLink could be "javascript:alert(1)"
// GOOD: Validate protocol
const safeHref = /^https?:\/\//.test(userLink) ? userLink : "#";
<a href={safeHref}>Click</a>
Severity Classification
Classify each finding by severity for prioritization:
Severity
Description
Examples
SLA
Critical
Exploitable remotely, no auth needed, data breach
SQL injection, RCE, auth bypass
Block merge, fix immediately
High
Exploitable with auth, privilege escalation
IDOR, broken access control, XSS (stored)
Block merge, fix before release
Medium
Requires specific conditions to exploit
CSRF, XSS (reflected), open redirect
Fix within sprint
Low
Defense-in-depth, informational
Missing headers, verbose errors
Fix when convenient
Info
Best practice recommendations
Dependency updates, code style
Track in backlog
Finding Report Format
When reporting security findings, use this format for consistency:
markdown
## Security Finding: [Title]
**Severity:** Critical | High | Medium | Low | Info
**Category:** OWASP A01-A10 or custom category
**File:** path/to/file.py:42
**CWE:** CWE-89 (if applicable)
### Description
Brief description of the vulnerability and its impact.
### Vulnerable Code
```python
# The problematic code
vulnerable_function(user_input)
Recommended Fix
python
# The secure alternative
safe_function(sanitize(user_input))
Impact
What an attacker could achieve by exploiting this vulnerability.
References
Link to relevant OWASP page
Link to relevant CWE entry
### Automated Scanning
Use `scripts/security-scan.py` to perform AST-based scanning for common vulnerability patterns in Python code. The script scans for:
- `eval()` / `exec()` / `compile()` calls
- `subprocess` with `shell=True`
- `pickle.loads()` on potentially untrusted data
- Raw SQL string construction
- `yaml.load()` without `Loader=SafeLoader`
- Hardcoded secret patterns (API keys, passwords)
- Weak hash functions (MD5, SHA1 for passwords)
Run: `python scripts/security-scan.py --path ./app --output-dir ./security-results`
**Dependency scanning (run separately):**
```bash
# Python dependencies
pip-audit --requirement requirements.txt --output json > dep-audit.json
# npm dependencies
npm audit --json > npm-audit.json
Examples
Example Review Comment (Critical)
SECURITY: SQL Injection (Critical, OWASP A03)
File: app/repositories/user_repository.py:47
python
query = f"SELECT * FROM users WHERE name LIKE '%{search_term}%'"
This constructs a raw SQL query with string interpolation, allowing SQL injection.
An attacker could input '; DROP TABLE users; -- to destroy data.
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nicepkg/auto-company, which our catalogue first saw on October 7, 2026.
Code Review Security next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Code Review Security compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Code Review Security this skillnicepkg/auto-company
Open a pull request for the current changes, then watch it to green — poll CI and the Greptile review together, addressing review findings as soon as they post instead of waiting for the full…
This skill should be used when the user asks to "calculate TAM", "determine SAM", "estimate SOM", "size the market", "calculate market opportunity", "what's the total addressable market", or…
This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or…
Security-focused code review checklist and automated scanning patterns. Code Review Security is an agent skill from nicepkg/auto-company. Security-focused code review checklist and automated scanning patterns.
When should I use Code Review Security?
Code Review Security fits situations like: reviewing pull requests for security issues; auditing authentication/authorization code; checking for OWASP Top 10 vulnerabilities; validating input sanitization.
How do I install Code Review Security in Claude Code?
Run `npx skills add nicepkg/auto-company --skill code-review-security -a claude-code`. Or copy the skill folder (.claude/skills/code-review-security in nicepkg/auto-company) into .claude/skills/code-review-security in your project. Claude Code loads it when a task matches its description.
How do I install Code Review Security in Codex?
Run `npx skills add nicepkg/auto-company --skill code-review-security -a codex`. Or copy the skill folder (.claude/skills/code-review-security in nicepkg/auto-company) into .agents/skills/code-review-security in your project. Codex loads it when a task matches its description.
Can I use Code Review Security in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nicepkg/auto-company --skill code-review-security -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-review-security, .gemini/skills/code-review-security, .github/skills/code-review-security and .opencode/skills/code-review-security in your project.
What does Code Review Security need to run?
Going by SKILL.md and its folder, Code Review Security needs Python for the scripts in its folder, the command-line tools its instructions call (npm) and credentials named SECRET_KEY. Our summary lists: Python 3; Docker; A credential in SECRET_KEY. Its frontmatter pre-approves these tools: Read, Grep, Glob, Write, Bash(python:*), Bash(npm:*). Compatibility (from SKILL.md): Python 3.12+, FastAPI, React, TypeScript.
Does Code Review Security access the network?
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Code Review Security safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Code Review Security use?
Code Review Security is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Code Review Security use?
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Code Review Security?
Skills that share tags, products or a category with Code Review Security: Create PR (beyonders-studio/initiative, 170 stars), Cyber Neo (Hainrixz/cyber-neo, 281 stars), Flowfile Debugging Playbook (Edwardvaneechoud/Flowfile, 370 stars) and Security Analyzer (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Code Review Security?
nicepkg (a GitHub organization) maintains it in nicepkg/auto-company, which has 192 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on February 12, 2026.
Source: nicepkg/auto-company on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.