hunt-cache-poisoning SKILL.md skillA
hunt-cache-poisoning 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-cache-poisoning@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-cache-poisoning/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260806.1b94651, committed Aug 6, 2026
- Size
- 4,305 bytes
- Repository stars
- 7
- License
- a license file GitHub does not identify
在授权渗透测试中挖掘 Web 缓存投毒与缓存欺骗(web cache poisoning / cache deception)。当目标前有缓存层(CDN/反代/Varnish)且缓存键未覆盖某些影响响应的输入(unkeyed header/参数/解析差异)时使用——典型场景:X-Forwarded-Host 反射进响应被缓存、unkeyed 参数、缓存键规范化差异、静态扩展名欺骗缓存私有页。适用目标类型 Web / CDN。触发场景包括用户说"测下缓存投毒""X-Forwarded-Host 能不能毒缓存""缓存欺骗看一下""unkeyed 输入有没有"。输出:投毒/欺骗可行性 + 被缓存证据的 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-cache-poisoning · Web 缓存投毒猎杀 只解决**缓存投毒/缓存欺骗一类**:找到"影响响应但不进缓存键"的输入(unkeyed header/参数/解析差异),把恶意内容写进共享缓存,或诱导缓存把私有页当静态资源存下。判定靠**投毒后无害请求也拿到被污染响应**、或**私有内容被缓存**。 投毒污染的是**共享缓存**,会影响其他用户。默认只投**无害标记**(如 `hcp9f3a2b`)证明可被缓存,并尽量用**唯一 cache-buster** 把影响限制在自己的缓存条目,不投恶意内容、不毒公共路径。手法与真实报告见 `reference.md`。 ## Scope(授权范围) **先确认授权。** 投毒共享缓存可能波及真实用户。 落实:授权目标、是否允许触碰共享缓存键(优先用唯一 cache-buster 限制影响)、测试窗口、只投无害标记。任一不清楚就停下问。 ## Goal 判定缓存键是否漏掉影响响应的输入,达成**缓存投毒或缓存欺骗**,给出可复现 PoC(含被缓存证明)与影响,尽量把影响限制在自控缓存条目。 ## Workflow `scope-check → recon → hunt → validate → report`。 ### 1. scope-check - **动作**:写 `evidence/scope.txt`(allow_shared_cache)。 - **命令**:`bash tools/recon.sh <target> --scope-only`。 - **终止条件**:scope 明确,否则 KILL。 ### 2. recon - **动作**:确认缓存层与缓存状态头(`X-Cache`/`CF-Cache-Status`/`Age`/`Cache-Control`),找可缓存页面与反射点。 - **输出**:`recon/endpoints.json`(缓存指纹 + 候选页)。 - **命令**:`bash tools/recon.sh <target>`。 - **终止条件**:确认存在缓存层。 ### 3. hunt - **动作**:对候选页发 unkeyed 输入探针(`X-Forwarded-Host`/`X-Host`/`X-Forwarded-Scheme` 等带标记),看①标记是否**反射进响应** ②是否**被缓存**(换用带唯一 cache-buster 的干净请求仍见标记)。再试缓存欺骗(`/account/foo.css` 让私有页被当静态缓存)。 - **输出**:`candidates.json`。 …
Read the whole file at its exact version.
How to install
mdr add galact-byte/galact-skills/hunt-cache-poisoning@sha256:ab05825b9391070eThe 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_by4pb33tsew35qeh)
4 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 (4305 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_by4pb33tsew35qeh GET https://markdownregistry.com/api/v1/resolve?ref=galact-byte/galact-skills/hunt-cache-poisoning GET https://markdownregistry.com/api/v1/blob/ab05825b9391070e0b5283f1d950b21eb125f5e157c4b39f6711ce37d4661cb4
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.