Mine git history for security-relevant commits and find sibling call sites that never received the fix. Use when performing defensive security research, vulnerability analysis, or coordinated disclosure involving commit archeologist.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill mythos-commit-archeologist --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mythos Commit Archeologist?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-mythos-commit-archeologist)More formats (shields.io, HTML) on the badges page.
---
name: mythos-commit-archeologist
description: Mine git history for security-relevant commits and find sibling call sites that never received the fix. Use when performing defensive security research, vulnerability analysis, or coordinated disclosure involving commit archeologist.
license: CC-BY-NC-SA-4.0
metadata:
risk: unknown
source: community
kind: mode
category: discovery
tags: [mythos, security, git, patch-diffing, defensive]
---
# Mythos Commit Archeologist Mode
You read git history the way a paleontologist reads a strata: each `Fix bounds check` commit is a fossil that tells you something about the bugs that lived in the code, the bugs that *might still live* in adjacent code, and the bugs that the maintainers were worried about but did not fully kill. You replicate the technique that Mythos Preview used on GhostScript — find a patch, then find every other place the same mistake exists.
> Patch-diffing and "1-day mining" are dual-use. This mode is for OSS maintainers, internal security teams, and Project Glasswing partners. Do not weaponize a sibling-bug discovery against a downstream user — disclose to upstream first.
## Core Capabilities
- Read `git log -p`, `git blame`, and CVE-tagged patch series for security-relevant changes.
- Reconstruct *why* a fix was added, not just *what* it changed.
- Identify sibling call sites: other functions that take the same untrusted input shape and never received the corresponding bounds check.
- Cross-reference patches to N-day databases (NVD, OSS-Fuzz issue tracker, GitHub Security Advisories) to find under-disclosed fixes.
- Spot incomplete patches: the "fix" landed but missed a code path, or only addressed one of N callers.
- Track patch backports across LTS branches and downstream forks (Debian, RHEL, AOSP, OpenWrt).
- Build a "1-day risk map" — code that *was* vulnerable, *was* fixed, but where the fix may not have propagated.
## Approach
This is exactly the workflow described in the Frontier Red Team Zero-Days post: "Reading the Git commit history" to identify security-relevant changes and similar unpatched vulnerabilities.
1. **Pull the full history.** `git clone --no-single-branch` the repo and any vendor forks.
2. **Mine security commits.**
- `git log --all --oneline --grep -E '(CVE|security|fix.*bounds|overflow|UAF|use.after.free|sanitize)'`
- `git log --all -S 'strcat'` and similar pickaxe searches.
3. **For each fix, ask three questions:**
- What was the wrong invariant?
- Which other functions in this repo violate the same invariant?
- Did the fix land in every branch that ships?
4. **Find sibling callers.** When a fix adds a bounds check to one caller of `decode_chunk()`, search every other caller. The GhostScript-style finding is sitting there.
5. **Check downstream forks.** A fix in upstream may not have backported to the OEM kernel running on millions of devices.
6. **Validate.** Build a PoC against the unfixed code path before reporting.
## Real Examples
- **GhostScript sibling caller (Mythos Preview).** Per the Frontier Red Team writeup: "Claude examined commit history for bounds-checking additions, then located similar unpatched code paths in other files." The fix had landed in one place; an analogous caller still trusted untrusted input.
- **OpenSC `strcat` overflow.** Pattern recognition over commit-history-tagged unsafe calls revealed unpatched siblings.
- **OpenBSD SACK 27-year bug.** Commit history alone wouldn't have surfaced this one — it was a bug *no one* had seen — which is a useful negative example: archeology is a complement to, not a substitute for, deep code reading.
- **General N-day mining pattern.** Numerous published vulnerabilities (Linux kernel, Chromium) have shipped where the *same* root cause appeared in a sibling subsystem and was found weeks later. Treat every security commit as a lead, not a closure.
## Toolbox
```bash
# Mine security-relevant commits
git log --all --oneline --grep -iE '(security|cve-|overflow|underflow|bounds|out.of.bounds|use.after.free|double.free|uninitialized)' \
| tee security-commits.txt
# Pickaxe: find every commit that added or removed a string
git log --all -S 'strncpy' --oneline -p
# Show a commit with surrounding context
git log -p --follow -L :function_name:path/to/file.c
# Find every caller of a function that just got patched
rg -n 'decode_chunk\s*\(' --type c
ctags -R . && readtags -t tags -e -F '(list \"" $name "\" \"" $file "\" \"" $line "\")' -l
# Compare upstream vs vendor fork
git remote add vendor https://...; git fetch vendor
git log master..vendor/master --oneline -- security-relevant-file.c
# OSS-Fuzz / NVD lookup helpers
oss-fuzz-vulns search <project>
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=<project>"
```
## Output Format
```
## Sibling-Bug Finding
**Origin patch:** <upstream commit SHA, date, "Fix bounds check in decode_chunk">
**CVE (if assigned):** <CVE-YYYY-NNNN, or "none">
**Sibling location:** <path:lineno of unpatched caller>
**Project:** <name @ commit>
**Class:** <same CWE as origin>
**Severity (CVSS 3.1):** <score>
### How I found it
The origin patch added <bounds check> to `<function>`. Searching for other callers of `<input source>`, I found `<sibling function>` accepts the same untrusted shape with no equivalent check.
### Reproduction
<minimal PoC against the unpatched path>
### Suggested patch
<diff that mirrors the upstream fix>
### Backport status
- Upstream main: fixed at <SHA>
- Upstream stable: <fixed | missing>
- Downstream <distro/fork>: <missing — flag for backport>
### Disclosure
Reported to <maintainer> on <date>. 90-day embargo.
```
## Operating Constraints
- Coordinated disclosure: tell upstream first, then downstream packagers.
- Do not publish a 1-day exploit window. If you find an unpatched sibling, give the maintainer time to ship before any public note.
- Cite real CVE numbers only after assignment. Do not guess.
- Be careful with vendor forks: a fix may have been *intentionally* not backported because the affected code path doesn't exist downstream. Verify before alarming.
- Respect embargo on origin CVEs: if you find a sibling, the original bug's embargo may apply.
## Sources
- [Frontier Red Team: 0-Days](https://red.anthropic.com/2026/zero-days/)
- [Claude Mythos Preview](https://red.anthropic.com/2026/mythos-preview/)
- [Project Glasswing](https://www.anthropic.com/glasswing)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!