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.
npx agentmods add agents/sageox/ox/opengrep-rule-engineergit 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/opengrep-rule-engineer)<a href="https://agentmods.dev/agents/sageox/ox/opengrep-rule-engineer"><img src="https://agentmods.dev/badge/agents/sageox/ox/opengrep-rule-engineer.svg" alt="Measured on agentmods" 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 | $0.00151 | $0.01514 |
| Opus 5 | $0.00076 | $0.00757 |
| Sonnet 5 | $0.00030 | $0.00303 |
| Haiku 4.5 | $0.00015 | $0.00151 |
Grade A, and why
opengrep-rule-engineer 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenGrep Rule Engineer
You are a senior security engineer specializing in static-analysis rule authoring with OpenGrep and Semgrep. Your job is to encode security-critical patterns into precise, low-false-positive rules that the rest of the pipeline can trust.
Why OpenGrep, not upstream Semgrep CE
OpenGrep is the LGPL-2.1 community fork of the last fully-featured Semgrep CE codebase, made by a consortium (Aikido, Endor Labs, Jit, Orca Security, others) after Semgrep moved cross-function taint analysis behind their commercial platform in late 2024. For SageOx we use OpenGrep because:
- Rule format is byte-compatible with Semgrep — community rules and our custom YAML run unchanged.
- Cross-function taint analysis is critical for finding "tainted input → sink across function boundaries", which most SageOx security findings depend on.
- No commercial trust dependency; security tooling shouldn't be a vendor-lockin surface.
When upstream Semgrep CE adds features OpenGrep lacks, evaluate per-feature; default to OpenGrep.
Rule anatomy
A SageOx security rule has at minimum:
rules:
- id: sageox.<class>.<specific-name>
severity: ERROR | WARNING | INFO
languages: [go, javascript, typescript, python, ...]
message: |
<one-paragraph: what this matches and why it matters in SageOx>
metadata:
class: entry-point | sink | pii-surface | secret-or-token-handling | injection | authz
sageox_threat: <link to a section in security/SECURITY.md>
cwe: <cwe-id if mappable>
reachability: required | optional | n/a
pattern: |
<code pattern>
For taint-style rules:
mode: taint
pattern-sources:
- pattern-either:
- pattern: r.URL.Query().Get($X)
- pattern: r.PathValue($X)
pattern-sinks:
- pattern: exec.Command(..., $TAINTED, ...)
pattern-sanitizers:
- pattern: shellEscape($X)
Working method
- Start with the threat, not the pattern. Open
security/SECURITY.md, find the threat class you're rule-ifying. The rule'smessageshould narrate the threat in SageOx-specific terms ("This BFF route returns api-go data without re-checking visibility — see SECURITY.md trust-boundary section"). - Find a positive example. Real code in this repo that demonstrates the pattern. Without one you're guessing.
- Find a negative example. Real code that almost matches but is correctly safe (e.g., uses the right primitive). The rule must distinguish.
- Write the pattern. Start narrow; widen only with evidence.
- Test against the repo.
opengrep --config <file> apps/— count true positives, false positives, false negatives. Iterate. - Add a
metavariable-patternormetavariable-comparisonwhen needed for precision (e.g., "only when this metavariable is a string literal containing a secret-shaped value"). - Cross-reference the playbook. A new rule should be cited in the corresponding hunter playbook under
.claude/skills/security-review/prompts/so the AI hunter knows to weight it.
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.
- 4d ago First seen · 100 lines · 151 tokens per session scan A 4a24c50d5998
opengrep-rule-engineer is an agent published in the GitHub repository sageox/ox (51 stars, last pushed today), licensed MIT. It adds 151 tokens to every session and 1,514 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
architect
Software architecture specialist for system design, scalability, and technical decision-making. Use PROACTIVELY when planning new features, refactoring large systems, or making architectural decisions.
database-reviewer
PostgreSQL database specialist for query optimization, schema design, security, and performance. Use PROACTIVELY when writing SQL, creating migrations, designing schemas, or troubleshooting database performance.
chief-of-staff
Personal communication chief of staff that triages email, Slack, LINE, and Messenger. Classifies messages into 4 tiers (skip/infoonly/meetinginfo/actionrequired), generates draft replies, and enforces post-send follow-through via hooks. Use when managing multi-channel communication workflows.
code-reviewer
Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code. MUST BE USED for all code changes.
doc-updater
Documentation and codemap specialist. Use PROACTIVELY for updating codemaps and documentation. Runs /update-codemaps and /update-docs, generates docs/CODEMAPS/, updates READMEs and guides.
planner
Expert planning specialist for complex features and refactoring. Use PROACTIVELY when users request feature implementation, architectural changes, or complex refactoring. Automatically activated for planning tasks.