hunt-cache-poison

Validates whether CDN and application caches reuse controlled response variants across cache keys.

10|3|Updated Aug 10, 2026
One-click install
npx skills add https://github.com/baiqigo/baiqi-redteam-lab --skill hunt-cache-poison-baiqigo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-cache-poison
Source: https://github.com/baiqigo/baiqi-redteam-lab/tree/main/.agents/skills/hunt-cache-poison
Command: npx skills add https://github.com/baiqigo/baiqi-redteam-lab --skill hunt-cache-poison-baiqigo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web cache poisoning testing is risky and often inconclusive: testers struggle to prove that a CDN, reverse proxy, or application cache actually reuses a response variant keyed incorrectly, without polluting shared caches or affecting other users. This Skill provides an evidence-gated, safety-first procedure for verifying cache key and response variant flaws on authorized targets. ## Core Features & Use Cases - Trigger Signal Detection: Identifies cacheable responses via X-Cache, Age, Vary, Cache-Control headers, URL rewriting, and unkeyed input parameters. - Safe Validation Protocol: Establishes MISS-to-HIT baselines, then injects harmless, self-identifiable markers one variable at a time, comparing results across two isolated browser profiles. - Strict Oracle and Stop Conditions: Distinguishes real cache reuse from reflection, browser caching, or personalization, and mandates stopping when shared objects, uncontrollable TTLs, or cross-user impact is detected. - Use Case: During an authorized assessment, you notice a CDN fronted site reflects a query parameter that is not part of the cache key. Use this Skill to prove whether a controlled marker is served to a second clean profile from cache, with full header and timeline evidence. ## Quick Start Ask the agent to run the hunt-cache-poison procedure against an authorized in-scope target to test whether unkeyed inputs produce cached response variants.

Frequently Asked Questions about hunt-cache-poison

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for web cache poisoning safely?

Establish a MISS-to-HIT baseline first, then add a harmless marker through one potentially unkeyed input and check whether a clean request in a second isolated browser profile receives it. Change only one variable per test and clear or wait out the TTL between attempts.

What headers indicate a cache poisoning vulnerability?

X-Cache, Age, Vary, and Cache-Control headers reveal cache behavior and key composition. Trigger signals include cacheable responses, CDN presence, URL rewriting, absolute URL generation, and inputs like query parameters or forwarded headers that are not part of the cache key.

How do I confirm a cache HIT is real poisoning and not a false positive?

A valid oracle requires a clean request in an independent profile to stably receive the controlled marker, with cache headers and timeline proving server-side cache reuse. Simple reflection, browser caching, same-connection memory, server personalization, or a single HIT do not count.

When should I stop a cache poisoning test?

Stop immediately if the test touches shared homepages or public objects, if the marker could affect other users, if the TTL cannot be controlled or cleared, or if any anomaly appears. Purge or wait for cache expiry and halt testing.

Can cache poisoning testing be done without authorization?

No. This procedure requires a written authorization window, locked scope, dedicated test paths or tenants, and self-owned test accounts and callback domains. Without isolation conditions, only record the cache configuration risk passively.