hunt-csrf SKILL.md skillA
hunt-csrf from galact-byte/galact-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add galact-byte/galact-skills/hunt-csrf@git:20260806.1b94651Pins git:20260806.1b94651 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- galact-byte/galact-skills
- Path
skills/hunt-csrf/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260806.1b94651, committed Aug 6, 2026
- Size
- 4,144 bytes
- Repository stars
- 7
- License
- a license file GitHub does not identify
在授权渗透测试中挖掘跨站请求伪造(CSRF)及其防护绕过。当目标存在状态变更操作(改邮箱/密码/角色/设置、转账、增删)而 CSRF 防护缺失或可绕过时使用——典型场景:无 token/token 不校验、SameSite=Lax 被 GET 或子域绕过、Content-Type text/plain 避开 preflight、cookie 注入伪造 token、Flash/307 重定向绕 CORS、Login CSRF。适用目标类型 Web / REST API。触发场景包括用户说"测下 CSRF""这个改密码有没有 CSRF 防护""SameSite 能绕吗""token 校验严不严"。输出:CSRF 可行性 + PoC 的 finding(含 killed 记录)。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# hunt-csrf · 跨站请求伪造猎杀 只解决 **CSRF 一类**:判定状态变更操作能否被跨站伪造。核心是对每个敏感操作检查**防护三要素**(CSRF token 是否存在且被校验、SameSite cookie 属性、是否依赖不可跨站获取的头),再针对缺口构造跨站 PoC。判定靠**去掉/伪造 token 后请求仍成功**、或**跨站发起能改变状态**。 CSRF PoC 会真实触发状态变更。默认只在**测试账户**上验证(改测试账户自己的无害字段),不动真实用户、不做破坏性变更。绕过手法与真实报告见 `reference.md`。 ## Scope(授权范围) **先确认授权。** 落实:授权目标、测试账户、允许触发的状态变更(选无害/可回滚的,如改昵称)、禁止对真实用户或不可逆操作下手。任一不清楚就停下问。 ## Goal 判定敏感操作是否可被跨站伪造(含防护绕过),给出可复现 PoC 与影响(账户接管/设置篡改/Login CSRF),只在测试账户上验证。 ## Workflow `scope-check → recon → hunt → validate → report`。 ### 1. scope-check - **动作**:写 `evidence/scope.txt`(测试账户/允许操作)。 - **命令**:`bash tools/recon.sh <target> --scope-only`。 - **终止条件**:scope 明确,否则 KILL。 ### 2. recon - **动作**:枚举状态变更端点——表单 POST、改邮箱/密码/角色/设置、转账、增删;记录其 token 字段、cookie 的 SameSite 属性。 - **输出**:`recon/endpoints.json`。 - **命令**:`bash tools/recon.sh <target>`。 - **终止条件**:至少 1 个状态变更操作。 ### 3. hunt - **动作**:对每个操作检查 `reference.md` 的防护三要素:①删/改 token 重放看是否仍成功 ②cookie 是否 SameSite=None/Lax(Lax 下试 GET/顶层导航/子域)③是否 text/plain 避 preflight。据此判 CSRF 可行性。 - **输出**:`candidates.json`。 - **命令**:`python tools/hunt_csrf.py --input recon/endpoints.json --output candidates.json --cookie "<测试账户cookie>"`。 - **终止条件**:`candidates.json` 生成。 …
Read the whole file at its exact version.
How to install
mdr add galact-byte/galact-skills/hunt-csrf@sha256:851d34edf4719e25The line at the top of this page pins the label git:20260806.1b94651, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_dlirgp5yubxpqsg7)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Aug 6, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (4144 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
galact-byte/galact-skills · 7 stars · license a license file GitHub does not identify · pushed 2026-10-12 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_dlirgp5yubxpqsg7 GET https://markdownregistry.com/api/v1/resolve?ref=galact-byte/galact-skills/hunt-csrf GET https://markdownregistry.com/api/v1/blob/851d34edf4719e25652f78aa5380685ef1e81753d9503b8aff5f24031cb0dec3
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from galact-byte/galact-skills
Every file in galact-byte/galact-skills