hermes

Triage dependency vulnerabilities

Triages dependency scan findings by reachability and exploitability, gives the upgrade path, and justifies anything safe to defer. Use when a scanner reports more than the team can fix at once.

context

Scanners rank by CVSS base score, which ignores whether your code can reach the vulnerable function, whether the package ships to production at all, and whether anyone is exploiting it. Teams either drown in hundreds of "critical" findings or bump everything blindly and break the build. Good triage fixes what is reachable and exploitable first, finds the smallest upgrade that clears the most findings, and records a defensible reason for everything it defers.

task

Triage this scan: Only if [MANIFEST] is given: Manifest and usage notes:

  1. Deduplicate: group findings by package and installed version, since one vulnerable version often appears through several paths.
  2. For each group, establish: direct or transitive (and through which parent), runtime or development/build-only, the vulnerable function or condition as the advisory describes it, and whether the code plausibly reaches it with attacker-controlled input. If reachability depends on code you have not seen, say exactly what to check.
  3. Weigh exploitability: public exploit, listing in a known-exploited catalogue, or exploit prediction scores. You cannot query these databases live; use what the scan provides and tell the user which to look up.
  4. Assign a decision: fix now (reachable or known-exploited in runtime code, or a malicious or typosquatted package), fix this cycle, defer with justification, or not affected.
  5. Find the upgrade path: the minimal fixed version, whether it is within the current semver range (a lockfile refresh) or a major bump, and for transitive issues whether to bump the parent or use an override or resolution (with its risk). If no fix exists, give a mitigation or an alternative package.
  6. Order the upgrades to minimise churn: one change that clears several findings comes first.
constraints
  • Do not invent advisory details, CVSS scores or fixed versions that are not in the scan. When the scan lacks them, name the advisory to look up.
  • Every deferral needs a reason in VEX terms (for example "vulnerable code not in execute path", "component not present at runtime") plus a re-review date.
  • A malicious-package finding is always "fix now": remove it and treat the environment as possibly compromised.
  • Read the relevant code before making a claim about it. Do not guess what a file, function or config contains.
  • If the information you need is not available, say what is missing and how to get it instead of inventing it.
output format

Summary

Counts: fix now, fix this cycle, deferred, not affected.

Triage

A table: package, installed version, advisory, severity (scanner), runtime or dev, reachable (yes/no/unknown), decision, fixed version.

Upgrade plan

Numbered commands or manifest edits in order, each with the findings it clears and its breaking-change risk.

Deferred

Each deferral with its VEX justification and re-review date.

Verify

Re-run the scanner, run the tests, and check the specific behaviours that a major bump could change.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Software engineering
category
Security
level
Intermediate
made for
Security engineer, Software engineer, Open-source maintainer
risk
read-only
version
v1.0.0 · incubating
reviewed
2026-10-02
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install audit-dependencies --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill audit-dependencies -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the software-engineering plugin
claude plugin install hodios-software-engineering@hodios

The plugin brings every entry in this domain at once.

pairs well with

All of Security
PersonaSecurity

Security auditor

Reviews code for exploitable weaknesses and reports only issues with a concrete attack path. Use as a reviewer persona or subagent for security-sensitive changes.

security-auditor
PromptSecurity

Respond to a leaked secret

Produces an ordered response plan for an exposed key, token or password - revoke and rotate, audit use, clean up copies, notify and prevent. Use right after a secret is committed, logged or shared.

respond-to-leaked-secret
PromptSecurity

Review an API against the OWASP API Top 10

Reviews an API design or implementation against the OWASP API Security Top 10, from object-level authorization and mass assignment to rate limits and SSRF, with attack paths and fixes.

review-api-security
PromptSecurity

Review a cloud IAM policy

Reviews AWS, GCP or Azure IAM policies for over-broad permissions, privilege-escalation paths, wildcard resources and missing conditions, and proposes least-privilege versions.

review-cloud-iam-policy
PromptSecurity

Review a pull request for security

Reviews a diff for exploitable vulnerabilities and reports only findings with a concrete attack path. Use before merging changes to input handling, auth, data access or dependencies.

review-pr-for-security
PromptSecurity

Threat model a feature

Builds a threat model for one feature or change, mapping data flows and trust boundaries to ranked threats and mitigations. Use during design, before the code is written or merged.

threat-model-feature