Files
hermes-agent/optional-skills/security/oss-forensics/templates/malicious-package-report.md
Teknium c30505dddd feat: add OSS Security Forensics skill (Skills Hub) (#1482)
* feat: add OSS Security Forensics skill (Skills Hub)

Salvaged from PR #1066 by zagiscoming. Adds a 7-phase multi-agent
investigation framework for GitHub supply chain attack forensics.

Skill contents (optional-skills/security/oss-forensics/):
- SKILL.md: 420-line investigation framework with 8 anti-hallucination
  guardrails, 5 specialist investigators, ethical use guidelines,
  and API rate limiting guidance
- evidence-store.py: CLI evidence manager with add/list/verify/query/
  export/summary + SHA-256 integrity + chain of custody
- references/: evidence types, GH Archive BigQuery guide (expanded with
  12 event types and 6 query templates), recovery techniques (4 methods),
  investigation templates (5 attack patterns)
- templates/: forensic report template (151 lines), malicious package
  report template

Changes from original PR:
- Dropped unrelated core tool changes (delegate_tool.py role parameter,
  AGENTS.md, README.md modifications)
- Removed duplicate skills/security/oss-forensics/ placement
- Fixed github-archive-guide.md (missing from optional-skills/, expanded
  from 33 to 160+ lines with all 12 event types and query templates)
- Added ethical use guidelines and API rate limiting sections
- Rewrote tests to match the v2 evidence store API (12 tests, all pass)

Closes #384

* fix: use python3 and SKILL_DIR paths throughout oss-forensics skill

- Replace all 'python' invocations with 'python3' for portability
  (Ubuntu doesn't ship 'python' by default)
- Replace relative '../scripts/' and '../templates/' paths with
  SKILL_DIR/scripts/ and SKILL_DIR/templates/ convention
- Add path convention note before Phase 0 explaining SKILL_DIR
- Fix double --- separator (cosmetic)
- Applies to SKILL.md, evidence-store.py docstring,
  recovery-techniques.md, and forensic-report.md template

---------

Co-authored-by: zagiscoming <zagiscoming@users.noreply.github.com>
2026-03-15 21:59:53 -07:00

1.3 KiB

Malicious Package Investigation Report


📦 Package Metadata

  • Package Name:
  • Registry: [NPM / PyPI / RubyGems / etc.]
  • Affected Versions:
  • Malicious Version(s):
  • Downloads at Time of Detection:
  • Package URL:

🚩 Indicators of Compromise (IOCs)

  • Malicious URL(s):
  • Exfiltrated Data Types: [Environment variables, ~/.ssh/id_rsa, /etc/shadow, etc.]
  • Exfiltration Method: [DNS tunneling, HTTP POST to C2, etc.]
  • C2 IP/Domain:

🛠️ Analysis Summary

  • Primary Mechanism: [Typosquatting / Dependency Confusion / Maintainer Takeover]
  • Behavior Description:
    • [Example: Installs a postinstall script that exfiltrates environment variables.]
    • [Example: Patches setup.py to download a secondary payload.]

🔍 Evidence Registry

Evidence ID Type Source Description
EV-XXXX ioc NPM Package install script snapshot
EV-YYYY web Wayback Historical version comparison

  1. Unpublish/Report the package to the registry.
  2. Audit package-lock.json or requirements.txt across all projects.
  3. Rotate secrets exfiltrated via environment variables.
  4. Pin specific hashes (SHASUM) for mission-critical dependencies.