Repository navigation
Conversation
- Allow bounded, tool-free correction of misclassified evidence gaps - Refresh active-ticket assessments daily despite unchanged commits - Preserve evidence validation and investigation budget limits - Add regression coverage and document cache freshness
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add @mongodb-js/auto-vulnerability-triage
An AI-assisted first pass on npm dependency vulnerability tickets in Jira. For each candidate ticket it investigates whether the finding affects the released product and current main independently — pinned commits, not working trees — gathers cited evidence (advisories, dependency graphs, source, release artifacts), and drafts per-target review comments with a provisional verdict:
likely affected,likely not affected, orneeds investigation, with explicit evidence gaps when it can't tell.A human makes the final call. The tool never closes tickets, accepts risk, or changes status. Comments carry anchors and input fingerprints so repeat runs skip unchanged tickets for free (zero model calls).
Modes
--mode dry-run(default): previews proposed comments locally, markedNOT SENT. Jira receives GET requests only. Full per-ticket audit JSONL lands in./triage-results.--mode update-jira(opt-in): creates or updates the proposed comments on matching tickets as theJIRA_TOKENidentity. Write failures mark the ticket failed and exit nonzero; partial writes are recorded in the audit file.--ignore-comments: plans as if the ticket had no existing comments (they're left untouched) — useful for a fresh first write.--discover(credential-light routing preview, no model calls) and--replay-file(offline re-check of a saved audit file).Required flags
--jqland--repoare required with no defaults — choosing the ticket queue and the target checkout is always an explicit decision, so an accidental queue sweep against the wrong repository can't happen silently:Required environment variables
JIRA_URLJIRA_TOKENupdate-jiraneeds comment write permissionGROVE_API_KEYGITHUB_TOKENgh auth token)Usage
Examples
Safety properties worth reviewing
Reviewer notes
Large diff, mostly tests. Suggested order:
src/vulnerability-triage.ts(planning + Jira client + writer) →src/triage-evidence.ts(evidence readers) →src/triage-dependencies.ts(lockfile graphs) →src/triage-assessment.ts(report validation/rendering) →src/triage-vulnerabilities.ts(CLI orchestration).test/fixtures +*.spec.tsare mechanical.Follow-up actions
(Right now someone has to run this themselves.)