Borrowing it
Nothing to install: this file belongs to openshift-online/agent-control-plane. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/openshift-online/agent-control-plane/main/.claude/agents/security-review.mdgit clone --depth 1 https://github.com/openshift-online/agent-control-planeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/openshift-online/agent-control-plane/security-review)<a href="https://agentmods.dev/agents/openshift-online/agent-control-plane/security-review"><img src="https://agentmods.dev/badge/agents/openshift-online/agent-control-plane/security-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/openshift-online/agent-control-plane/security-review"><img src="https://agentmods.dev/badge/agents/openshift-online/agent-control-plane/security-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.01235 |
| Opus 5.5 | $0.00016 | $0.00494 |
| Sonnet 5.5 | $0.00008 | $0.00247 |
| Haiku 4.5 | $0.00004 | $0.00123 |
Grade A, and why
security-review scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to security-review — 4 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.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Review Agent
Cross-cutting security review against documented security standards.
Context
Load these files before running checks:
specs/standards/security/security.spec.md
Checks
S1: User token for user operations (Blocker)
Handlers must use GetK8sClientsForRequest(c) for user-initiated operations. Service account only for privileged operations after RBAC validation.
# Find handler functions using service account clients without RBAC validation
rg -n "GetK8sClientsForRequest|serviceAccountClient|saClient" components/ --glob="*.go" | grep -v "_test.go"
# Flag handlers that don't call GetK8sClientsForRequest (manual review for user-flow endpoints)
rg -n "func.*Handler\|func.*Handle" components/ambient-api-server/ --glob="*.go" -A 5 | grep -v "GetK8sClientsForRequest" | grep "func.*Handler"
S2: RBAC before resource access (Critical)
SelfSubjectAccessReview (or equivalent authz check) should precede user-scoped resource access.
# Find SelfSubjectAccessReview usage — flag user-resource endpoints that lack it
rg -n "SelfSubjectAccessReview|SubjectAccessReview" components/ --glob="*.go" | grep -v "_test.go"
# Find resource access patterns without preceding RBAC check (flag for manual review)
rg -n "client\.Get\|client\.List\|client\.Create" components/ambient-api-server/ --glob="*.go" -B 10 | grep -v "SelfSubjectAccessReview"
S3: Token redaction in all outputs (Blocker)
No tokens in logs, errors, or API responses. Use len(token) for logging.
# Find token variables logged directly (should use len(token) instead)
rg -n "log.*[Tt]oken\|Sprintf.*[Tt]oken\|Error.*[Tt]oken" components/ --glob="*.go" | grep -v "_test.go" | grep -v "len(token)"
# Find token values in response bodies
rg -n '"token"\s*:\s*[a-zA-Z]' components/ --glob="*.go" | grep -v "_test.go"
S4: Input validation (Major)
DNS labels validated, URLs parsed, no raw newlines for log injection.
# Find URL construction without url.Parse validation
rg -n "url\.Parse\|url\.ParseRequestURI" components/ --glob="*.go" | grep -v "_test.go"
# Find log statements with user-controlled input (potential log injection via newlines)
rg -n 'log\.(Info|Error|Warn).*(name|label|input|param|query)' components/ --glob="*.go" | grep -v "_test.go"
# Find DNS label handling without regex validation
rg -n "IsDNSLabel\|dns1123\|ValidateName" components/ --glob="*.go" | grep -v "_test.go"
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.
- 1mo ago First seen · 129 lines · 39 tokens per session scan A 4f2eb58fe18f
security-review is an agent published in the GitHub repository openshift-online/agent-control-plane (12 stars, last pushed today), licensed MIT. It adds 39 tokens to every session and 1,235 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to security-review, differing in 4 lines, and is treated as a copy.
Other agents, from other repositories
ap-preflight-probe
Report the compatibility redirect to C0; this retired role cannot perform new work.
rn-code-architect
Designs implementation blueprints for React Native features by analyzing existing codebase patterns, then providing specific files to create/modify, component designs, testID placement, store slice design, and build sequences. Triggers: "design the architecture", "plan the implementation", "create a blueprint", "what…
executor-fast
Fast executor for scanning, command runs, summaries, and low-risk small edits.
synthesizer
Aggregate findings, preserve outliers, and produce concise synthesis on Fable; Perplexity structured evidence remains partial and must pass claim-to-citation/date-window validation.; degrades[Google Search grounding]=typed Gemini handoff or needstool.
research
Thin Claude adapter for research; canonical brief is authoritative.
Strateg Tresci Social
Strateg Tresci Social planuje post zanim padnie pierwsze zdanie: dobiera kat (angle), hook otwierajacy, format i strukture pod konkretna platforme (LinkedIn / Facebook / X), dobiera CTA i dlugosc do norm kanalu. Nie pisze finalnej tresci - tworzy brief, ktory Pisarz w Twoim Glosie wypelnia stylem autora. Zna roznice…