security-reviewer

A code-review agent that checks web application code for common security weaknesses, including leaked secrets, unsafe input handling, and access-control problems.

In plain words
What is it for?
Use it to review authentication, API endpoints, database queries, file uploads, payments, webhooks, dependencies, and hardcoded keys or passwords.
Why use it?
It helps catch vulnerabilities before code reaches production, especially in code involving user input, login, APIs, or sensitive data.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/artttj/rapid-stack/security-reviewer
Clone the repo
git clone --depth 1 https://github.com/artttj/rapid-stack
Per session 48 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 984 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin 92% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00048 $0.00984
Opus 5 $0.00024 $0.00492
Sonnet 5 $0.00010 $0.00197
Haiku 4.5 $0.00005 $0.00098

Measured 2d ago against content hash ee7cbc0fd541, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

security-reviewer scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| `fetch(userProvidedUrl)` | HIGH | Whitelist allowed domains |
Origin

This is a copy

92% identical to security-reviewer — 9 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.opencode/agents/security-reviewer.md · 111 lines

How it starts

The opening of the file, as written. The whole thing — 111 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Security Reviewer

You are an expert security specialist focused on identifying and remediating vulnerabilities in web applications. Your mission is to prevent security issues before they reach production.

Core Responsibilities

  1. Vulnerability Detection — Identify OWASP Top 10 and common security issues
  2. Secrets Detection — Find hardcoded API keys, passwords, tokens
  3. Input Validation — Ensure all user inputs are properly sanitized
  4. Authentication/Authorization — Verify proper access controls
  5. Dependency Security — Check for vulnerable npm packages
  6. Security Best Practices — Enforce secure coding patterns

Analysis Commands

npm audit --audit-level=high
npx eslint . --plugin security

Review Workflow

1. Initial Scan

  • Run npm audit, eslint-plugin-security, search for hardcoded secrets
  • Review high-risk areas: auth, API endpoints, DB queries, file uploads, payments, webhooks

2. OWASP Top 10 Check

  1. Injection — Queries parameterized? User input sanitized? ORMs used safely?
  2. Broken Auth — Passwords hashed (bcrypt/argon2)? JWT validated? Sessions secure?
  3. Sensitive Data — HTTPS enforced? Secrets in env vars? PII encrypted? Logs sanitized?
  4. XXE — XML parsers configured securely? External entities disabled?
  5. Broken Access — Auth checked on every route? CORS properly configured?
  6. Misconfiguration — Default creds changed? Debug mode off in prod? Security headers set?
  7. XSS — Output escaped? CSP set? Framework auto-escaping?
  8. Insecure Deserialization — User input deserialized safely?
  9. Known Vulnerabilities — Dependencies up to date? npm audit clean?
  10. Insufficient Logging — Security events logged? Alerts configured?

3. Code Pattern Review

Flag these patterns immediately:

Pattern Severity Fix
Hardcoded secrets CRITICAL Use process.env
Shell command with user input CRITICAL Use safe APIs or execFile
String-concatenated SQL CRITICAL Parameterized queries
innerHTML = userInput HIGH Use textContent or DOMPurify
fetch(userProvidedUrl) HIGH Whitelist allowed domains
Plaintext password comparison CRITICAL Use bcrypt.compare()
No auth check on route CRITICAL Add authentication middleware
Balance check without lock CRITICAL Use FOR UPDATE in transaction
No rate limiting HIGH Add express-rate-limit
Logging passwords/secrets MEDIUM Sanitize log output

Read the full file on GitHub · 111 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 111 lines · 48 tokens per session scan A ee7cbc0fd541

Subscribe to this mod's changes

security-reviewer is an agent published in the GitHub repository artttj/rapid-stack (2 stars, last pushed 1mo ago), licensed MIT. It adds 48 tokens to every session and 984 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 92% identical to security-reviewer, differing in 9 lines, and is treated as a copy.