agentleFS
mahumadadmahumadad/quarry/skills/chain/chain-info-to-exploit/SKILL.md

chain-info-to-exploit

Skill1 starsChanged 12 days agoMITView on GitHub

Analyze and validate chains where an information-disclosure finding enables a concrete exploit: software version leak + matching public CVE, internal path disclosure + local file inclusion, and source code leak revealing hardcoded credentials/secrets. Use when chain-analysis pairs a low-severity-looking disclosure finding with a capability-map entry it could unlock. Do NOT use this to upgrade a disclosure to "critical" on version/CVE match alone without a real trigger — see Validation gate. For chains specifically escalating to RCE via the disclosed path, finish here then hand off to chain-web-to-rce for the execution leg.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Look up CVEs matching that exact version/build (searchsploit, vendor advisories, NVD).

    line 41
  2. Very specific:

    Test LFI with a benign, well-known file read (e.g.

    line 54
  3. Very specific:

    If the include sink also executes (not just reads) the included file — e.g.

    line 58
  4. Distinctive:

    Never assume liveness from presence alone.

    line 71

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Signals

  • asset-map/nmap/httpx fingerprinted a service version with a known public CVE.
  • An error message, stack trace, debug endpoint, or verbose response leaked an internal file path, framework version, or directory structure.
  • A .git directory, backup file, build artifact, or exposed source repository is reachable, potentially containing hardcoded credentials or API keys.

Prerequisites

  • The disclosure finding itself already confirmed (the leak is real and reproducible).
  • For version/CVE chains: the specific CVE identified with its public advisory/PoC reference.

Methodology

  1. Version leak + CVE.
    • Confirm the exact version string from the service directly (banner, headers, error page), not from a guess based on general fingerprinting.
    • Look up CVEs matching that exact version/build (searchsploit, vendor advisories, NVD). Note the CVE ID, affected version range, and whether the observed version falls inside it precisely (off-by-one version confusion is common and invalidates the match).
    • Per project anti-fabrication rule: a version/CVE match alone is not a finding. You must attempt the actual trigger (the public PoC, or your own re-derivation of it) against the target and observe a real effect. If the trigger can't be safely attempted (destructive PoC, no safe variant), report as "Inferred" with the reasoning explicit, and ask the operator whether a controlled, low-impact trigger attempt is authorized.
  2. Internal path disclosure + LFI.
    • From the leaked path (stack trace, error message, source map, debug page), identify the real filesystem layout and any parameter that might accept a path and return file contents.
    • Test LFI with a benign, well-known file read (e.g. an app config file, not /etc/passwd as the headline claim — reading app-internal files is usually more impactful and more clearly in-scope than reading OS files) with path traversal/null-byte/wrapper variations as needed for the specific stack.
    • If the include sink also executes (not just reads) the included file — e.g. PHP include() of an attacker-reachable path — hand off to chain-web-to-rce for the execution leg rather than reporting LFI and RCE as unrelated findings.
  3. Source code leak + hardcoded credentials.
    • From an exposed .git directory, backup file (.bak, .old, ~), or build artifact, reconstruct the source (e.g. git-dumper-equivalent extraction of a reachable .git, or direct download of the artifact).
    • Scan the recovered source with gitleaks/truffleHog and manual grep for API keys, database credentials, signing secrets, and cloud credentials.
    • For every credential found, test (minimally, non-destructively, within RoE) whether it is live — an unused/rotated/placeholder credential found in source is a lower-severity finding ("secret hygiene") than a live, currently-valid credential granting real access. Never assume liveness from presence alone.

Validation gate

  • CVE-based claims require either a successful trigger observed against the target, or an explicit "Inferred" label with the version-match reasoning and an explicit note that exploitation wasn't attempted (and why) — never silently upgrade to "Demonstrated."
  • LFI claims require an actual file content returned in the response, with the request/ response pair preserved as evidence.
  • Credential-liveness claims require a specific, minimal-impact test (e.g. an authenticated read-only API call) with its result recorded — "found in source" and "confirmed live" are reported as distinct facts, never merged.

Gotchas

  • Banner/version strings are sometimes deliberately spoofed or left stale after a patch (vendor backports a fix without bumping the version) — a matching version string is a strong lead, not proof; the trigger attempt is what actually proves it.
  • Verbose error pages in a properly configured WAF/CDN setup may differ between what you see directly and what a real attacker would see at the edge — note which layer you tested through.
  • A .git exposure might be partial (object files purged, shallow clone) — confirm you actually reconstructed usable source before claiming full source disclosure.
  • Credentials found in source are frequently for a different environment (dev/staging) than the one currently in scope — confirm which environment a credential actually authenticates against before claiming it grants access to the in-scope target.
  • Testing a found credential against a live system is itself a sensitive action — confirm it falls within RoE and, if there's any ambiguity about which system it authenticates to, treat that ambiguity as a reason to pause and ask, not to proceed.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.