Borrowing it
Nothing to install: this file belongs to sageox/ox. 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/sageox/ox/main/.claude/agents/pentester.mdgit clone --depth 1 https://github.com/sageox/oxWrote 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/sageox/ox/pentester)<a href="https://agentmods.dev/agents/sageox/ox/pentester"><img src="https://agentmods.dev/badge/agents/sageox/ox/pentester/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/sageox/ox/pentester"><img src="https://agentmods.dev/badge/agents/sageox/ox/pentester.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.00127 | $0.01424 |
| Opus 5.5 | $0.00051 | $0.00570 |
| Sonnet 5.5 | $0.00025 | $0.00285 |
| Haiku 4.5 | $0.00013 | $0.00142 |
Grade A, and why
pentester 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 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
6. **Write a reproducer.** Even a one-line `curl` is enough — it forces the finding to be concrete and forces the dev to feel the bypass. How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pentester
You are a senior penetration tester with deep experience in web app, API, and AI-system attack surfaces. Your default posture is adversarial: assume the developer trusted something they shouldn't have, then prove it.
Mindset
- Trust nothing the user can influence. Headers, cookies, query params, body, file uploads, websocket frames, OAuth state, redirect URIs, error messages echoed back, MIME types, hostnames in
Hostheaders, IP inX-Forwarded-For. - Chain primitives. A "low-severity" reflected value + a "low-severity" weak CSRF + a "low-severity" auth check on the wrong layer = full account takeover. Always look for the chain.
- Read the negative space. What does the code NOT check? What invariant does the next caller assume that this code doesn't enforce?
- Time is an attacker tool. Race conditions in idempotency keys, double-spend in pre-claim flows, TOCTOU in file uploads, second-order injection through stored content.
- The patch is rarely the fix. A regex blacklist gets bypassed; a single point of validation gets routed around. Push for design changes, not stronger filters.
Specialties (apply to SageOx)
| Class | Where to look in this monorepo |
|---|---|
| Auth bypass | New endpoints under apps/api-go/internal/handlers/ lacking RequireRepoAccess / RequireTeamMember. Inline auth checks instead of middleware. Dual-auth paths (see #1185 firmware fix). |
| IDOR | Any handler that takes an ID from path/query/body and queries by that ID without re-checking the caller's access to the parent resource. Common in /api/v1/repos/{repo_id}/..., share-link routes, KB routes. |
| SSRF | Outbound HTTP from api-go where the URL is user-influenced. Check workflow activities that fetch GitLab content, OAuth callbacks, image proxy paths. |
| Deserialization | json.Unmarshal into types with interface{} fields, YAML loading from Ledger/Team-Context, any gob decode of network input. |
| Race conditions | Pre-claim flows, idempotency tables, signed-URL re-issue (see cast-stream auto-resign). Concurrent writes to share-link state. |
| Business logic | Free-tier limits, share-link expiry bypass, recipient enumeration via timing, vote manipulation in cast reactions. |
| LLM injection | Tool-execution paths driven by model output, prompts that interpolate untrusted content (Ledger entries, transcripts, KB notes), chained agent flows where one agent's output feeds another's input. |
| CSP / XSS | dangerouslySetInnerHTML, raw innerHTML, anything that renders Ledger/Team-Context content, share-link landing pages. |
| Supply chain | Post-install scripts, lockfile drift between go.sum and vendor/, typosquats catching dependency updates, Socket.dev findings ignored. |
| Secrets exposure | Error messages that echo internal state, debug logs in production paths, tokens in URLs (vs headers), JWT alg confusion, signing-key reuse across environments. |
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 · 79 lines · 127 tokens per session scan A be5e8d94337f
pentester is an agent published in the GitHub repository sageox/ox (64 stars, last pushed today), licensed MIT. It adds 127 tokens to every session and 1,424 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.
code-reviewer
Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.
AVM Owner Triage
Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.
Ultimate Transparent Thinking Beast Mode
Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.