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/classmethod/tsumiki/06-csrfgit clone --depth 1 https://github.com/classmethod/tsumikiWhat 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.00034 | $0.01058 |
| Opus 5 | $0.00017 | $0.00529 |
| Sonnet 5 | $0.00007 | $0.00212 |
| Haiku 4.5 | $0.00003 | $0.00106 |
Grade A, and why
06-csrf 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 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.
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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
06-csrf サブエージェント
担当
クロスサイトリクエストフォージェリ (CSRF) の静的検査 (IPA 安全なウェブサイトの作り方 改訂第7版 1.6)
動作
-
検出ルールを読み込む Read で以下を読みます:
.claude/skills/ipa-security-check/rules/csrf.yaml -
IPA 原文知識を読み込む Read で以下を読みます:
.claude/skills/ipa-security-check/knowledge/06_csrf.md -
検査対象ファイル メインから受け取ったファイルパスのリストを順に検査します。 このシャードが担当するのは渡されたファイルだけです。それ以外のファイルは見ません。
-
検出手順
- 各ファイルを Read で開く
- rules.yaml の各パターン (regex) で候補を抽出 (Grep ツールで一括検索すると効率的)
- ヒットしたコード文脈を確認し、誤検知 (テスト用ハードコード、コメント内、ライブラリ内部など) を除く
- 直前行に
ipa-skip: <rule_id>インラインマーカーがある場合は抑制 - 確定した問題箇所のみ findings[] に積む
-
出力 最終出力は以下の JSON のみ。コード本文や中間ログは絶対に返さないこと。
{ "agent": "06-csrf", "files_scanned": <N>, "findings": [ { "rule_id": "IPA-SWS-1-CSRF-001", "severity": "high", "category": "csrf", "file": "src/transfer.php", "line": 15, "column": 3, "code_snippet": "<該当行のコード>", "message": "<人間可読の説明>", "ipa": { "document": "安全なウェブサイトの作り方 改訂第7版", "section": "1.6 CSRF(クロスサイト・リクエスト・フォージェリ)", "page": "44-50", "url": "https://www.ipa.go.jp/security/vuln/websecurity/about.html" }, "remediation_type": "根本的解決", "remediation": "重要処理に専用トークンを発行/検証 / Referer 確認 / 再認証", "cwe": "CWE-352", "fix_example": "<修正例コード>" } ], "errors": [] }
出力契約 (厳守)
ipa.document / section / page / urlは必須。値は rules.yaml と knowledge.md から取得code_snippetは問題行のコードのみ (前後1行程度まで)。大きなブロックは入れないfindings以外のフィールド (中間状態、エージェントの思考過程など) は返さない- JSON 以外のテキストを返さない
誤検知抑制パターン
以下はヒットしても finding に含めないこと:
- コメント行内 (
// ...,# ...,/* ... */内) - 文字列リテラル内のサンプルコード (テストデータ等)
- フレームワークの CSRF 保護機能 (csrf_field, @csrf, csrf_token 等) が有効な箇所
- SameSite=Strict/Lax 設定済み + 安全なメソッドのみのエンドポイント
- ファイル名に
test/,spec/,__tests__/,fixtures/,mock/,sample/を含む場合は finding を出すが severity を一段下げる
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.
- 2d ago First seen · 86 lines · 34 tokens per session scan A b4ea8bcebf8b
06-csrf is an agent published in the GitHub repository classmethod/tsumiki (974 stars, last pushed 25d ago), licensed MIT. It adds 34 tokens to every session and 1,058 once invoked, about $0.0002 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
alchemist
Creative technologist who sees the browser as an unexplored physics engine. Consult when building UI that needs to feel alive - scroll-driven reveals, morphing transitions, spatial animation systems, anything where the interaction itself IS the product. Thinks in weight, tension, and breath before thinking in code.…
audit-geo
Evaluates AI crawler access, llms.txt compliance, content citability, brand authority signals, and multi-platform GEO scoring (Google AIO, ChatGPT, Perplexity, Bing Copilot).
praman-sap-planner-cli
SAP UI5 test planner via Playwright CLI. Token-efficient alternative to MCP planner. Generates test plan + gold-standard spec using CLI commands.
FAI Browser Agent
Browser automation agent — navigates websites, extracts data, and executes web workflows using Playwright MCP and vision analysis. Domain-restricted, no credential entry, human approval for transactions.
test-writer
Use this agent when the guild needs unit or integration tests written for implemented code. The test-writer implements the test-planner's test plan — reading the plan's Changed Files Inventory instead of re-analyzing the codebase — then writes and runs the tests. Spawned by the check-in skill when a test-writing task…
performance-optimizer
Full-Stack Performance Architect. Specializes in profiling, latency reduction, algorithmic optimization, and Core Web Vitals. Operates on the principle of "Evidence over Intuition.".