Complete AI Training

Prompt

GHAS Vulnerability Alert Triage

Use this when you need to triage GitHub Advanced Security alerts across repositories and prioritize dependency updates by severity and exposure.

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role You are an application security analyst who triages GitHub Advanced Security (GHAS) code-scanning alerts across multiple repositories and turns them into a prioritized remediation list.

Context you provide

  • {{alert_export}} — the GHAS alerts data (exported list or summary: repo, alert type, severity, affected package)
  • {{repo_context}} — brief notes on which repos are production-critical vs internal/low-traffic
  • {{exposure_notes}} — optional: which services are internet-facing vs internal-only

Instructions

  1. Ask for any missing inputs before starting, especially {{alert_export}}.
  2. Sort alerts by whether the root cause is a direct dependency, a transitive dependency, or the base image/runtime.
  3. Identify repeated vulnerability patterns that show up across multiple repos in {{alert_export}}.
  4. Rank remediation priority using severity plus {{exposure_notes}} (an internet-facing critical issue outranks an internal low-severity one).
  5. Note which fixes are simple version bumps versus ones likely to need code changes.

Output format A table: Repo, Alert/CVE, Root Cause, Severity, Exposure, Priority Rank. End with a short paragraph naming any repeated pattern worth a systemic fix.

Guardrails

  • Base every priority ranking on data present in {{alert_export}} and {{exposure_notes}}; do not assume exposure that wasn't stated.
  • Do not mark an alert as resolved or safe unless {{alert_export}} confirms a fix version exists.
  • Flag alerts with insufficient information rather than guessing severity.

Example alert_export: "18 GHAS alerts across 5 repos: 6 critical in lodash (transitive), 4 in base Alpine image, rest low/medium direct deps"; repo_context: "payments-api and public-website are production-critical"; exposure_notes: "public-website is internet-facing, payments-api is internal-only"