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 skills add seqra/opentaint --skill analyze-findingsgit clone --depth 1 https://github.com/seqra/opentaintWrote 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/skills/seqra/opentaint/analyze-findings)<a href="https://agentmods.dev/skills/seqra/opentaint/analyze-findings"><img src="https://agentmods.dev/badge/skills/seqra/opentaint/analyze-findings/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/skills/seqra/opentaint/analyze-findings"><img src="https://agentmods.dev/badge/skills/seqra/opentaint/analyze-findings.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00024 | $0.01264 |
| Opus 5.5 | $0.00010 | $0.00506 |
| Sonnet 5.5 | $0.00005 | $0.00253 |
| Haiku 4.5 | $0.00002 | $0.00126 |
Grade A, and why
analyze-findings 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.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: Analyze Findings
A finding file bundles all of one rule's results. Read each result's code flow, split the bundle into distinct vulnerabilities, and give each a TP/FP verdict on its own evidence
Inputs
Provided by the caller, fall back to the default value when omitted. Ask back only when a required input is missing and has no sensible default
project-root(optional) — root of the target project. Opentaint keeps all analysis artifacts under the fixed<project-root>/.opentaint/directory, so every.opentaint/...path below resolves there. Default: current directorylanguage(required) — target language for this project and language-specific instructionsfindings(required) — the finding file(s) to triage, each.opentaint/tracking/findings/<name>.yamlbundling one rule's SARIF results insarif_hashes
Workflow
1. Reconcile before judging
A finding whose notes open with a reconcile line is a rescan result under a rule whose other findings are already triaged — most often the same vulnerability with a shifted hash, not a new one. Before judging it fresh, read the rule's already-triaged finding files and compare flows (source → sink, same essential path): if one matches, move this finding's sarif_hashes into that finding, drop this file, and let the inherited verdict stand — don't re-judge a flow already triaged. Only when no triaged finding matches do you treat it as new and continue below.
2. One result at a time — STOP checklist
For each hash in the bundle, before any verdict, read its raw result from .opentaint/results/report.sarif:
- find its SARIF result via
sarif_hashes— each entry is the leading 16 chars of that result'svulnerabilitySourceSinkHash/vulnerabilityWithTraceHashfingerprint, so match it against the result'sfingerprints/partialFingerprints— then read the rawcodeFlows[] - walk every step, source → hops → sink, confirming it's the same tainted value end to end; confirm the flow against the application source (the built project's own sources under
.opentaint/project/sources/) and dependency code, not the trace text alone - judge each result on its own trace — no verdict shared across results just because they share the rule
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 Changed 3fe01120716b
- 2mo ago First seen · 85 lines · 24 tokens per session scan A 116cf47af821
analyze-findings is a skill published in the GitHub repository seqra/opentaint (172 stars, last pushed yesterday), licensed Apache-2.0. It adds 24 tokens to every session and 1,264 once invoked, about $0.0001 per session on Opus 5.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.
analyze-findings compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| analyze-findingsseqra/opentaint | Skill | 172 | yesterday | Apache-2.0 | A | 24 | Claude Code |
| github-issue-managerexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 100 | Claude Code, Codex |
| plugin-code-review-orchestratedexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 72 | Claude Code, Codex |
| coding-guardexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 67 | Claude Code, Codex |
| review-async-lifecycleexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 66 | Claude Code, Codex |
| review-findings-validatorexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 77 | Claude Code, Codex |
| review-psi-vfs-indexingexplyt/spring-plugin | Skill | 167 | yesterday | Apache-2.0 | A | 73 | Claude Code, Codex |