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.

Install it, pinned
mdr add galact-byte/galact-skills/hunt-cache-poisoning@git:20260806.1b94651

Pins 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

The exact contents, by fingerprint
mdr add galact-byte/galact-skills/hunt-cache-poisoning@sha256:ab05825b9391070e

The 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_by4pb33tsew35qeh.svg)](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.

versioncommittedcommitsizeaudit
git:20260806.1b94651 latest2026-08-06 1b94651 4,305 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • 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

GitHub

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.

More from galact-byte/galact-skills

agent-workflow SKILL.md skill
galact-byte/galact-skills · skills/agent-workflow/SKILL.md · Use when an agent must decide whether to proceed autonomously, ask for clarification, request approval, or select an…
git:20260909.1191434 · audit A · 7 stars
hunt-auth-bypass SKILL.md skill
galact-byte/galact-skills · skills/hunt-auth-bypass/SKILL.md · 在授权渗透测试中挖掘认证/授权绕过(authentication & authorization bypass)。当目标的登录、SSO/OAuth/SAML、2FA、会话、密码重置、邮箱验证等鉴权环节可能被逻辑缺陷或解析差异绕过时使用——典…
git:20260806.1b94651 · audit A · 7 stars
hunt-command-injection SKILL.md skill
galact-byte/galact-skills · skills/hunt-command-injection/SKILL.md · 在授权渗透测试中系统性挖掘命令注入与参数/标志注入(OS command injection、argument/flag injection、外部程序 delegate 注入)。当目标把用户输入拼进 shell 命令、或作为参数传给…
git:20260806.bbab2e5 · audit A · 7 stars
hunt-csrf SKILL.md skill
galact-byte/galact-skills · skills/hunt-csrf/SKILL.md · 在授权渗透测试中挖掘跨站请求伪造(CSRF)及其防护绕过。当目标存在状态变更操作(改邮箱/密码/角色/设置、转账、增删)而 CSRF 防护缺失或可绕过时使用——典型场景:无 token/token 不校验、SameSite=Lax 被…
git:20260806.1b94651 · audit A · 7 stars
hunt-deserialization SKILL.md skill
galact-byte/galact-skills · skills/hunt-deserialization/SKILL.md · 在授权渗透测试中挖掘不安全反序列化(insecure deserialization)。当目标把用户可控数据交给 unserialize/Marshal/pickle/ObjectInputStream/BinaryFormatter/YA…
git:20260806.1b94651 · audit A · 7 stars
hunt-nodejs-permission-bypass SKILL.md skill
galact-byte/galact-skills · skills/hunt-nodejs-permission-bypass/SKILL.md · 在授权测试中核验 Node.js 权限模型(--permission / --experimental-permission,及旧 policy.json)能否被内部 API 绕过。当目标依赖 Node.js Permission…
git:20260806.bbab2e5 · audit A · 7 stars
hunt-open-redirect SKILL.md skill
galact-byte/galact-skills · skills/hunt-open-redirect/SKILL.md · 在授权渗透测试中挖掘开放重定向(open redirect)及其危害升级。当目标按用户可控参数做跳转(登录后 next、SSO returnUrl、注销、短链、回调)时使用——典型场景:绕过 URL 白名单跳到外站钓鱼、泄露…
git:20260806.1b94651 · audit A · 7 stars
hunt-path-traversal SKILL.md skill
galact-byte/galact-skills · skills/hunt-path-traversal/SKILL.md · 在授权渗透测试中系统性挖掘路径遍历/目录穿越(path traversal、directory traversal、zip-slip、archive/symlink…
git:20260806.bbab2e5 · audit A · 7 stars
hunt-prototype-pollution SKILL.md skill
galact-byte/galact-skills · skills/hunt-prototype-pollution/SKILL.md · 在授权渗透测试中挖掘 JavaScript 原型污染(prototype pollution,服务端 Node.js 与客户端)。当目标把用户可控的键名递归合并进对象(merge/extend/set/clone、JSON…
git:20260806.1b94651 · audit A · 7 stars
hunt-request-smuggling SKILL.md skill
galact-byte/galact-skills · skills/hunt-request-smuggling/SKILL.md · 在授权渗透测试中系统性挖掘 HTTP 请求走私(HTTP Request Smuggling / desync)。当目标前面有反向代理/CDN/负载均衡(前端)转发给后端应用,且怀疑前后端对 Content-Length 与…
git:20260806.bbab2e5 · audit A · 7 stars
hunt-sqli SKILL.md skill
galact-byte/galact-skills · skills/hunt-sqli/SKILL.md · 在授权渗透测试中挖掘 SQL/NoSQL 注入(SQLi、NoSQLi,含 WAF 绕过、盲注、堆叠查询、类型混淆注入)。当用户输入拼进 SQL/NoSQL 查询时使用——典型场景:id/搜索/排序/过滤参数、数组键当 SQL…
git:20260806.1b94651 · audit A · 7 stars
hunt-ssrf SKILL.md skill
galact-byte/galact-skills · skills/hunt-ssrf/SKILL.md · 在授权渗透测试中系统性挖掘服务端请求伪造(SSRF)。当目标存在"服务端按用户可控的 URL/主机/地址发起出站请求"的功能——如 URL 预览、图片/视频抓取、Webhook、集成回调、导入远程资源、PDF/截图渲染、代理转发——需要判定…
git:20260806.712112c · audit A · 7 stars

Every file in galact-byte/galact-skills

Browse by kind, by grade A, or by owner.