Agent skill

Oss Forensics

by Tommy-yw in Tommy-yw/RunbookHermes

Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.

MITAuto-check passedSecurity

Install Oss Forensics

skills CLI
$ npx skills add Tommy-yw/RunbookHermes --skill oss-forensics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Tommy-yw/RunbookHermes oss-forensics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/security/oss-forensics .claude/skills/oss-forensics && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
oss-forensics
GitHub stars
546
Used in
3 other repos
Token cost
~5k tokens
SKILL.md length
1,858 words
Files
8 (incl. scripts, references)
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.

  • Works in 8 steps: Initialization → Prompt Parsing and IOC Extraction → Parallel Evidence Collection → …
  • Tasks that involve Digital forensics
  • SKILL.md covers ⚠️ Anti-Hallucination Guardrails, Example Scenarios, Phase 0: Initialization and Phase 1: Prompt Parsing and…, plus 9 more sections
  • Runs Python scripts from its folder; calls curl, git and python3; reaches api.github.com and web.archive.org; needs GITHUB_TOKEN and API_KEY

What it does

Oss Forensics is an agent skill from Tommy-yw/RunbookHermes. Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories. Covers deleted commit recovery, force-push detection, IOC extraction, multi-source evidence collection, hypothesis formation/validation, and structured forensic reporting. Inspired by RAPTOR's 1800+ line OSS Forensics system.

Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `references/evidence-types.md`, `references/github-archive-guide.md` and `references/investigation-templates.md`).

It sits in Security, covering Digital forensics and Supply chain security. It works with GitHub. The repository describes itself as: Hermes-native AIOps agent for evidence-driven incident response, approval-gated remediation, and runbook learning. The licence is MIT.

When your agent uses it

  • Tasks that involve Digital forensics
  • Tasks that involve Supply chain security

Example prompts

  • “/oss-forensics”

Requirements

  • Python 3
  • A credential in API_KEY

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Initialization
  2. Prompt Parsing and IOC Extraction
  3. Parallel Evidence Collection
  4. Evidence Consolidation
  5. Hypothesis Formation
  6. Hypothesis Validation
  7. Final Report Generation
  8. Completion

What it can do on your machine

Read from SKILL.md and the folder at commit 7fd2b9a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • curl
    • git
    • python3
    • bq
    • jq
    • gcloud

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com
    • web.archive.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GITHUB_TOKEN
    • API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Oss Forensics loads about 5k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 1,858 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Tommy-yw/RunbookHermes at commit 7fd2b9a, republished under its MIT licence (© Tommy-yw). 1,858 words, ~4,969 tokens.

Download SKILL.mdSave it as .claude/skills/oss-forensics/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
oss-forensics
description
Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories. Covers deleted commit recovery, force-push detection, IOC extraction, multi-source evidence collection, hypothesis formation/validation, and structured forensic reporting. Inspired by RAPTOR's 1800+ line OSS Forensics system.
category
security
triggers
investigate this repository, investigate [owner/repo], check for supply chain compromise, recover deleted commits, forensic analysis of [owner/repo], was this…
toolsets
terminal, web, file, delegation

OSS Security Forensics Skill

A 7-phase multi-agent investigation framework for researching open-source supply chain attacks. Adapted from RAPTOR's forensics system. Covers GitHub Archive, Wayback Machine, GitHub API, local git analysis, IOC extraction, evidence-backed hypothesis formation and validation, and final forensic report generation.


⚠️ Anti-Hallucination Guardrails

Read these before every investigation step. Violating them invalidates the report.

  1. Evidence-First Rule: Every claim in any report, hypothesis, or summary MUST cite at least one evidence ID (EV-XXXX). Assertions without citations are forbidden.
  2. STAY IN YOUR LANE: Each sub-agent (investigator) has a single data source. Do NOT mix sources. The GH Archive investigator does not query the GitHub API, and vice versa. Role boundaries are hard.
  3. Fact vs. Hypothesis Separation: Mark all unverified inferences with [HYPOTHESIS]. Only statements verified against original sources may be stated as facts.
  4. No Evidence Fabrication: The hypothesis validator MUST mechanically check that every cited evidence ID actually exists in the evidence store before accepting a hypothesis.
  5. Proof-Required Disproval: A hypothesis cannot be dismissed without a specific, evidence-backed counter-argument. "No evidence found" is not sufficient to disprove—it only makes a hypothesis inconclusive.
  6. SHA/URL Double-Verification: Any commit SHA, URL, or external identifier cited as evidence must be independently confirmed from at least two sources before being marked as verified.
  7. Suspicious Code Rule: Never run code found inside the investigated repository locally. Analyze statically only, or use execute_code in a sandboxed environment.
  8. Secret Redaction: Any API keys, tokens, or credentials discovered during investigation must be redacted in the final report. Log them internally only.

Example Scenarios

  • Scenario A: Dependency Confusion: A malicious package internal-lib-v2 is uploaded to NPM with a higher version than the internal one. The investigator must track when this package was first seen and if any PushEvents in the target repo updated package.json to this version.
  • Scenario B: Maintainer Takeover: A long-term contributor's account is used to push a backdoored .github/workflows/build.yml. The investigator looks for PushEvents from this user after a long period of inactivity or from a new IP/location (if detectable via BigQuery).
  • Scenario C: Force-Push Hide: A developer accidentally commits a production secret, then force-pushes to "fix" it. The investigator uses git fsck and GH Archive to recover the original commit SHA and verify what was leaked.

Path convention: Throughout this skill, SKILL_DIR refers to the root of this skill's installation directory (the folder containing this SKILL.md). When the skill is loaded, resolve SKILL_DIR to the actual path — e.g. ~/.hermes/skills/security/oss-forensics/ or the optional-skills/ equivalent. All script and template references are relative to it.

Phase 0: Initialization

  1. Create investigation working directory:
    bash
    mkdir investigation_$(echo "REPO_NAME" | tr '/' '_')
    cd investigation_$(echo "REPO_NAME" | tr '/' '_')
  2. Initialize the evidence store:
    bash
    python3 SKILL_DIR/scripts/evidence-store.py --store evidence.json list
  3. Copy the forensic report template:
    bash
    cp SKILL_DIR/templates/forensic-report.md ./investigation-report.md
  4. Create an iocs.md file to track Indicators of Compromise as they are discovered.
  5. Record the investigation start time, target repository, and stated investigation goal.

Phase 1: Prompt Parsing and IOC Extraction

Goal: Extract all structured investigative targets from the user's request.

Actions:

  • Parse the user prompt and extract:
    • Target repository (owner/repo)
    • Target actors (GitHub handles, email addresses)
    • Time window of interest (commit date ranges, PR timestamps)
    • Provided Indicators of Compromise: commit SHAs, file paths, package names, IP addresses, domains, API keys/tokens, malicious URLs
    • Any linked vendor security reports or blog posts

Tools: Reasoning only, or execute_code for regex extraction from large text blocks.

Output: Populate iocs.md with extracted IOCs. Each IOC must have:

  • Type (from: COMMIT_SHA, FILE_PATH, API_KEY, SECRET, IP_ADDRESS, DOMAIN, PACKAGE_NAME, ACTOR_USERNAME, MALICIOUS_URL, OTHER)
  • Value
  • Source (user-provided, inferred)

Reference: See evidence-types.md for IOC taxonomy.


Phase 2: Parallel Evidence Collection

Spawn up to 5 specialist investigator sub-agents using delegate_task (batch mode, max 3 concurrent). Each investigator has a single data source and must not mix sources.

Orchestrator note: Pass the IOC list from Phase 1 and the investigation time window in the context field of each delegated task.


Investigator 1: Local Git Investigator

ROLE BOUNDARY: You query the LOCAL GIT REPOSITORY ONLY. Do not call any external APIs.

Actions:

bash
# Clone repository
git clone https://github.com/OWNER/REPO.git target_repo && cd target_repo

# Full commit log with stats
git log --all --full-history --stat --format="%H|%ae|%an|%ai|%s" > ../git_log.txt

# Detect force-push evidence (orphaned/dangling commits)
git fsck --lost-found --unreachable 2>&1 | grep commit > ../dangling_commits.txt

# Check reflog for rewritten history
git reflog --all > ../reflog.txt

# List ALL branches including deleted remote refs
git branch -a -v > ../branches.txt

# Find suspicious large binary additions
git log --all --diff-filter=A --name-only --format="%H %ai" -- "*.so" "*.dll" "*.exe" "*.bin" > ../binary_additions.txt

# Check for GPG signature anomalies
git log --show-signature --format="%H %ai %aN" > ../signature_check.txt 2>&1

Evidence to collect (add via python3 SKILL_DIR/scripts/evidence-store.py add):

  • Each dangling commit SHA → type: git
  • Force-push evidence (reflog showing history rewrite) → type: git
  • Unsigned commits from verified contributors → type: git
  • Suspicious binary file additions → type: git

Reference: See recovery-techniques.md for accessing force-pushed commits.


Investigator 2: GitHub API Investigator

ROLE BOUNDARY: You query the GITHUB REST API ONLY. Do not run git commands locally.

Actions:

bash
# Commits (paginated)
curl -s "https://api.github.com/repos/OWNER/REPO/commits?per_page=100" > api_commits.json

# Pull Requests including closed/deleted
curl -s "https://api.github.com/repos/OWNER/REPO/pulls?state=all&per_page=100" > api_prs.json

# Issues
curl -s "https://api.github.com/repos/OWNER/REPO/issues?state=all&per_page=100" > api_issues.json

# Contributors and collaborator changes
curl -s "https://api.github.com/repos/OWNER/REPO/contributors" > api_contributors.json

# Repository events (last 300)
curl -s "https://api.github.com/repos/OWNER/REPO/events?per_page=100" > api_events.json

# Check specific suspicious commit SHA details
curl -s "https://api.github.com/repos/OWNER/REPO/git/commits/SHA" > commit_detail.json

# Releases
curl -s "https://api.github.com/repos/OWNER/REPO/releases?per_page=100" > api_releases.json

# Check if a specific commit exists (force-pushed commits may 404 on commits/ but succeed on git/commits/)
curl -s "https://api.github.com/repos/OWNER/REPO/commits/SHA" | jq .sha

Cross-reference targets (flag discrepancies as evidence):

  • PR exists in archive but missing from API → evidence of deletion
  • Contributor in archive events but not in contributors list → evidence of permission revocation
  • Commit in archive PushEvents but not in API commit list → evidence of force-push/deletion

Reference: See evidence-types.md for GH event types.


Investigator 3: Wayback Machine Investigator

ROLE BOUNDARY: You query the WAYBACK MACHINE CDX API ONLY. Do not use the GitHub API.

Goal: Recover deleted GitHub pages (READMEs, issues, PRs, releases, wiki pages).

Actions:

bash
# Search for archived snapshots of the repo main page
curl -s "https://web.archive.org/cdx/search/cdx?url=github.com/OWNER/REPO&output=json&limit=100&from=YYYYMMDD&to=YYYYMMDD" > wayback_main.json

# Search for a specific deleted issue
curl -s "https://web.archive.org/cdx/search/cdx?url=github.com/OWNER/REPO/issues/NUM&output=json&limit=50" > wayback_issue_NUM.json

# Search for a specific deleted PR
curl -s "https://web.archive.org/cdx/search/cdx?url=github.com/OWNER/REPO/pull/NUM&output=json&limit=50" > wayback_pr_NUM.json

# Fetch the best snapshot of a page
# Use the Wayback Machine URL: https://web.archive.org/web/TIMESTAMP/ORIGINAL_URL
# Example: https://web.archive.org/web/20240101000000*/github.com/OWNER/REPO

# Advanced: Search for deleted releases/tags
curl -s "https://web.archive.org/cdx/search/cdx?url=github.com/OWNER/REPO/releases/tag/*&output=json" > wayback_tags.json

# Advanced: Search for historical wiki changes
curl -s "https://web.archive.org/cdx/search/cdx?url=github.com/OWNER/REPO/wiki/*&output=json" > wayback_wiki.json

Evidence to collect:

  • Archived snapshots of deleted issues/PRs with their content
  • Historical README versions showing changes
  • Evidence of content present in archive but missing from current GitHub state

Reference: See github-archive-guide.md for CDX API parameters.


Investigator 4: GH Archive / BigQuery Investigator

ROLE BOUNDARY: You query GITHUB ARCHIVE via BIGQUERY ONLY. This is a tamper-proof record of all public GitHub events.

Prerequisites: Requires Google Cloud credentials with BigQuery access (gcloud auth application-default login). If unavailable, skip this investigator and note it in the report.

Cost Optimization Rules (MANDATORY):

  1. ALWAYS run a --dry_run before every query to estimate cost.
  2. Use _TABLE_SUFFIX to filter by date range and minimize scanned data.
  3. Only SELECT the columns you need.
  4. Add a LIMIT unless aggregating.
bash
# Template: safe BigQuery query for PushEvents to OWNER/REPO
bq query --use_legacy_sql=false --dry_run "
SELECT created_at, actor.login, payload.commits, payload.before, payload.head,
       payload.size, payload.distinct_size
FROM \`githubarchive.month.*\`
WHERE _TABLE_SUFFIX BETWEEN 'YYYYMM' AND 'YYYYMM'
  AND type = 'PushEvent'
  AND repo.name = 'OWNER/REPO'
LIMIT 1000
"
# If cost is acceptable, re-run without --dry_run

# Detect force-pushes: zero-distinct_size PushEvents mean commits were force-erased
# payload.distinct_size = 0 AND payload.size > 0 → force push indicator

# Check for deleted branch events
bq query --use_legacy_sql=false "
SELECT created_at, actor.login, payload.ref, payload.ref_type
FROM \`githubarchive.month.*\`
WHERE _TABLE_SUFFIX BETWEEN 'YYYYMM' AND 'YYYYMM'
  AND type = 'DeleteEvent'
  AND repo.name = 'OWNER/REPO'
LIMIT 200
"

Evidence to collect:

  • Force-push events (payload.size > 0, payload.distinct_size = 0)
  • DeleteEvents for branches/tags
  • WorkflowRunEvents for suspicious CI/CD automation
  • PushEvents that precede a "gap" in the git log (evidence of rewrite)

Reference: See github-archive-guide.md for all 12 event types and query patterns.


Investigator 5: IOC Enrichment Investigator

ROLE BOUNDARY: You enrich EXISTING IOCs from Phase 1 using passive public sources ONLY. Do not execute any code from the target repository.

Actions:

  • For each commit SHA: attempt recovery via direct GitHub URL (github.com/OWNER/REPO/commit/SHA.patch)
  • For each domain/IP: check passive DNS, WHOIS records (via web_extract on public WHOIS services)
  • For each package name: check npm/PyPI for matching malicious package reports
  • For each actor username: check GitHub profile, contribution history, account age
  • Recover force-pushed commits using 3 methods (see recovery-techniques.md)

Phase 3: Evidence Consolidation

After all investigators complete:

  1. Run python3 SKILL_DIR/scripts/evidence-store.py --store evidence.json list to see all collected evidence.
  2. For each piece of evidence, verify the content_sha256 hash matches the original source.
  3. Group evidence by:
    • Timeline: Sort all timestamped evidence chronologically
    • Actor: Group by GitHub handle or email
    • IOC: Link evidence to the IOC it relates to
  4. Identify discrepancies: items present in one source but absent in another (key deletion indicators).
  5. Flag evidence as [VERIFIED] (confirmed from 2+ independent sources) or [UNVERIFIED] (single source only).

Show full SKILL.md (722 more words)Show less

Phase 4: Hypothesis Formation

A hypothesis must:

  • State a specific claim (e.g., "Actor X force-pushed to BRANCH on DATE to erase commit SHA")
  • Cite at least 2 evidence IDs that support it (EV-XXXX, EV-YYYY)
  • Identify what evidence would disprove it
  • Be labeled [HYPOTHESIS] until validated

Common hypothesis templates (see investigation-templates.md):

  • Maintainer Compromise: legitimate account used post-takeover to inject malicious code
  • Dependency Confusion: package name squatting to intercept installs
  • CI/CD Injection: malicious workflow changes to run code during builds
  • Typosquatting: near-identical package name targeting misspellers
  • Credential Leak: token/key accidentally committed then force-pushed to erase

For each hypothesis, spawn a delegate_task sub-agent to attempt to find disconfirming evidence before confirming.


Phase 5: Hypothesis Validation

The validator sub-agent MUST mechanically check:

  1. For each hypothesis, extract all cited evidence IDs.
  2. Verify each ID exists in evidence.json (hard failure if any ID is missing → hypothesis rejected as potentially fabricated).
  3. Verify each [VERIFIED] piece of evidence was confirmed from 2+ sources.
  4. Check logical consistency: does the timeline depicted by the evidence support the hypothesis?
  5. Check for alternative explanations: could the same evidence pattern arise from a benign cause?

Output:

  • VALIDATED: All evidence cited, verified, logically consistent, no plausible alternative explanation.
  • INCONCLUSIVE: Evidence supports hypothesis but alternative explanations exist or evidence is insufficient.
  • REJECTED: Missing evidence IDs, unverified evidence cited as fact, logical inconsistency detected.

Rejected hypotheses feed back into Phase 4 for refinement (max 3 iterations).


Phase 6: Final Report Generation

Populate investigation-report.md using the template in forensic-report.md.

Mandatory sections:

  • Executive Summary: one-paragraph verdict (Compromised / Clean / Inconclusive) with confidence level
  • Timeline: chronological reconstruction of all significant events with evidence citations
  • Validated Hypotheses: each with status and supporting evidence IDs
  • Evidence Registry: table of all EV-XXXX entries with source, type, and verification status
  • IOC List: all extracted and enriched Indicators of Compromise
  • Chain of Custody: how evidence was collected, from what sources, at what timestamps
  • Recommendations: immediate mitigations if compromise detected; monitoring recommendations

Report rules:

  • Every factual claim must have at least one [EV-XXXX] citation
  • Executive Summary must state confidence level (High / Medium / Low)
  • All secrets/credentials must be redacted to [REDACTED]

Phase 7: Completion

  1. Run final evidence count: python3 SKILL_DIR/scripts/evidence-store.py --store evidence.json list
  2. Archive the full investigation directory.
  3. If compromise is confirmed:
    • List immediate mitigations (rotate credentials, pin dependency hashes, notify affected users)
    • Identify affected versions/packages
    • Note disclosure obligations (if a public package: coordinate with the package registry)
  4. Present the final investigation-report.md to the user.

Ethical Use Guidelines

This skill is designed for defensive security investigation — protecting open-source software from supply chain attacks. It must not be used for:

  • Harassment or stalking of contributors or maintainers
  • Doxing — correlating GitHub activity to real identities for malicious purposes
  • Competitive intelligence — investigating proprietary or internal repositories without authorization
  • False accusations — publishing investigation results without validated evidence (see anti-hallucination guardrails)

Investigations should be conducted with the principle of minimal intrusion: collect only the evidence necessary to validate or refute the hypothesis. When publishing results, follow responsible disclosure practices and coordinate with affected maintainers before public disclosure.

If the investigation reveals a genuine compromise, follow the coordinated vulnerability disclosure process:

  1. Notify the repository maintainers privately first
  2. Allow reasonable time for remediation (typically 90 days)
  3. Coordinate with package registries (npm, PyPI, etc.) if published packages are affected
  4. File a CVE if appropriate

API Rate Limiting

GitHub REST API enforces rate limits that will interrupt large investigations if not managed.

Authenticated requests: 5,000/hour (requires GITHUB_TOKEN env var or gh CLI auth) Unauthenticated requests: 60/hour (unusable for investigations)

Best practices:

  • Always authenticate: export GITHUB_TOKEN=ghp_... or use gh CLI (auto-authenticates)
  • Use conditional requests (If-None-Match / If-Modified-Since headers) to avoid consuming quota on unchanged data
  • For paginated endpoints, fetch all pages in sequence — don't parallelize against the same endpoint
  • Check X-RateLimit-Remaining header; if below 100, pause for X-RateLimit-Reset timestamp
  • BigQuery has its own quotas (10 TiB/day free tier) — always dry-run first
  • Wayback Machine CDX API: no formal rate limit, but be courteous (1-2 req/sec max)

If rate-limited mid-investigation, record the partial results in the evidence store and note the limitation in the report.


Reference Materials

© Tommy-yw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in optional-skills/security/oss-forensics of Tommy-yw/RunbookHermes.

  • SKILL.md
  • references/evidence-types.md
  • references/github-archive-guide.md
  • references/investigation-templates.md
  • references/recovery-techniques.md
  • scripts/evidence-store.py
  • templates/forensic-report.md
  • templates/malicious-package-report.md

Open the folder on GitHubat commit 7fd2b9a

Used in 3 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in Tommy-yw/RunbookHermes, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Oss Forensics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Oss Forensics compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Oss Forensics this skillTommy-yw/RunbookHermes5463 repos~5kAutomated safety check: PassMIT
Supply Chain Securityzhaoxuya520/reverse-skill40k4 repos~953Automated safety check: WarnMIT
Docsboostsecurityio/poutine523—~336Automated safety check: PassApache-2.0
Snapshotboostsecurityio/poutine523—~214Automated safety check: PassApache-2.0
Update Vulndbboostsecurityio/poutine523—~173Automated safety check: PassApache-2.0
PR Auditakitaonrails/my-skills212—~4.8kAutomated safety check: PassNone

Similar skills

  • Supply Chain Security

    zhaoxuya520/reverse-skill

    A skill your agent uses for software supply-chain security assessment covering SBOM, SCA, CI/CD pipelines, container images, build integrity, dependency provenance, and vulnerability reachability.

    40k GitHub starsUsed in 4 repos~953 tokens
    SecurityAuto-check: warnings
  • Docs

    boostsecurityio/poutine

    Update project documentation when features are added or changed.

    523 GitHub stars~336 tokensUpdated 2 days ago
    SecurityAuto-check passed
  • Snapshot

    boostsecurityio/poutine

    Run snapshot regression tests after changes to OPA rules, scanners, analyzers, or formatters to detect output regressions.

    523 GitHub stars~214 tokensUpdated 2 days ago
    SecurityAuto-check passed
  • Update Vulndb

    boostsecurityio/poutine

    Update the embedded build platform vulnerability database from the CVE Project's cvelistV5 repository.

    523 GitHub stars~173 tokensUpdated 2 days ago
    SecurityAuto-check passed
  • PR Audit

    akitaonrails/my-skills

    Audit GitHub pull requests before merge, including contributor-claim verification, prompt-injection resistance, malicious-code and supply-chain review, regressions, tests, documentation…

    212 GitHub stars~4.8k tokensUpdated 15 days ago
    SecurityAuto-check passed
  • Developer Security

    github/gh-aw

    Official

    Security best practices for gh-aw workflows and Go code: template injection prevention, shell script security, supply chain hardening, and static analysis integration.

    5.4k GitHub stars~2.8k tokensUpdated today
    SecurityAuto-check passed

More from Tommy-yw/RunbookHermes

All 38 skills in this repo
  • Fastmcp

    Tommy-yw/RunbookHermes

    Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.

    546 GitHub starsUsed in 4 repos~2.1k tokens
    Auto-check passed
  • Drug Discovery

    Tommy-yw/RunbookHermes

    Pharmaceutical research assistant for drug discovery workflows.

    546 GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Youtube Content

    Tommy-yw/RunbookHermes

    Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts).

    546 GitHub starsUsed in 1 repo~785 tokens
    Auto-check passed
  • P5js

    Tommy-yw/RunbookHermes

    Production pipeline for interactive and generative visual art using p5.js.

    546 GitHub starsUsed in 1 repo~6.8k tokens
    Auto-check passed
  • 1password

    Tommy-yw/RunbookHermes

    Set up and use 1Password CLI (op). An agent skill from Tommy-yw/RunbookHermes.

    546 GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check: notes
  • Google Workspace

    Tommy-yw/RunbookHermes

    Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for Hermes.

    546 GitHub starsUsed in 2 repos~2.7k tokens
    Auto-check passed

Works with

Categories

Questions about Oss Forensics

What does Oss Forensics do?

Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories. Oss Forensics is an agent skill from Tommy-yw/RunbookHermes. Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.

When should I use Oss Forensics?

Oss Forensics fits situations like: tasks that involve Digital forensics; tasks that involve Supply chain security.

How do I install Oss Forensics in Claude Code?

Run `npx skills add Tommy-yw/RunbookHermes --skill oss-forensics -a claude-code`. Or copy the skill folder (optional-skills/security/oss-forensics in Tommy-yw/RunbookHermes) into .claude/skills/oss-forensics in your project. Claude Code loads it when a task matches its description.

How do I install Oss Forensics in Codex?

Run `npx skills add Tommy-yw/RunbookHermes --skill oss-forensics -a codex`. Or copy the skill folder (optional-skills/security/oss-forensics in Tommy-yw/RunbookHermes) into .agents/skills/oss-forensics in your project. Codex loads it when a task matches its description.

Can I use Oss Forensics in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Tommy-yw/RunbookHermes --skill oss-forensics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oss-forensics, .gemini/skills/oss-forensics, .github/skills/oss-forensics and .opencode/skills/oss-forensics in your project.

What does Oss Forensics need to run?

Going by SKILL.md and its folder, Oss Forensics needs Python for the scripts in its folder, the command-line tools its instructions call (curl, git, python3, bq, jq and gcloud) and credentials named GITHUB_TOKEN and API_KEY. Our summary lists: Python 3; A credential in API_KEY.

Does Oss Forensics access the network?

SKILL.md names 3 domains. In commands or code: api.github.com, web.archive.org and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Oss Forensics safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Oss Forensics use?

Oss Forensics is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Oss Forensics use?

About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.6k tokens, read only when the agent opens those files.

What are the alternatives to Oss Forensics?

Skills that share tags, products or a category with Oss Forensics: Supply Chain Security (zhaoxuya520/reverse-skill, 40k stars), Docs (boostsecurityio/poutine, 523 stars), Snapshot (boostsecurityio/poutine, 523 stars) and Update Vulndb (boostsecurityio/poutine, 523 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Oss Forensics?

Tommy-yw (a GitHub user) maintains it in Tommy-yw/RunbookHermes, which has 546 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on May 18, 2026.

Source: Tommy-yw/RunbookHermes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.