Inferensys

Prompt

SAST Report Executive Summary Prompt

A practical prompt playbook for using SAST Report Executive Summary Prompt in production AI workflows.
Operations team reviewing AI workflow automation on laptop, workflow builder visible, casual office setup.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the job-to-be-done, ideal user, required context, and boundaries for the SAST Report Executive Summary Prompt.

Security leads and DevSecOps engineers use this prompt to transform raw, high-volume static analysis scan data into a structured executive summary for engineering leadership. The primary job-to-be-done is communication: turning thousands of individual findings, severity distributions, remediation timelines, and trend data into a concise brief that answers 'How healthy is our SAST program?' and 'What should I pay attention to right now?' The ideal user is someone who already understands the scan data but needs to compress it into a format that VPs of Engineering, CTOs, or security steering committees can act on without wading through tool-specific exports or developer-level ticket queues.

This prompt requires specific, structured input to produce a useful summary. You must provide finding counts by severity, remediation velocity metrics (such as mean time to remediate and aging buckets), trend data comparing current scans to previous baselines, and a list of top-risk findings with their exploitability context. The prompt is designed to ingest this quantitative data and produce qualitative synthesis—it will not perform the raw data extraction or calculation itself. Before using this prompt, aggregate your SAST tool output into the expected input schema. If your scan data is still in raw SARIF, CodeQL, or Semgrep JSON format, use a separate data extraction or normalization prompt first to prepare the structured input this prompt requires.

Do not use this prompt for detailed technical remediation guidance or developer-facing ticket generation. Those workflows require separate, code-aware prompts that can reference specific source locations, data flow paths, and fix suggestions. Do not use this prompt when the audience expects granular finding-level detail or when the goal is to assign work to individual developers. This prompt is also inappropriate for real-time incident response where SAST findings are part of an active exploitation investigation—in that context, use an incident root cause analysis prompt that can correlate findings with runtime evidence. The output of this prompt should always be treated as a decision-support artifact, not a replacement for human security judgment. For high-risk findings that appear in the executive summary, implement a human review gate before the summary reaches leadership to validate that the risk framing and prioritization are accurate and that no critical context has been lost in compression.

PRACTICAL GUARDRAILS

Use Case Fit

Where the SAST Report Executive Summary Prompt delivers value and where it introduces unacceptable risk. Use this card grid to decide if this prompt fits your workflow before integrating it into a security reporting pipeline.

01

Good Fit: Multi-Scan Trend Reporting

Use when: you have aggregated SAST results across multiple scans, time periods, or project boundaries and need a structured executive summary. Guardrail: The prompt excels at identifying trends and top risks from pre-processed data. Always provide a structured data payload rather than raw tool output to prevent hallucinated statistics.

02

Bad Fit: Single Finding Deep Analysis

Avoid when: you need a detailed technical root-cause analysis of a single finding. This prompt is designed for aggregation and communication, not deep technical investigation. Guardrail: Route single-finding deep dives to the SAST Finding Remediation Guidance Prompt or a human security engineer. Using this prompt for individual findings will produce shallow, untrustworthy analysis.

03

Required Inputs: Structured Finding Data

What to watch: The prompt cannot operate on raw, unstructured tool output. It requires a pre-processed JSON payload with finding counts, severities, categories, and remediation statuses. Guardrail: Build a data normalization layer before the prompt that aggregates raw SAST, SCA, and secret scanning results into a consistent schema. Without this, the model will invent numbers to fill gaps.

04

Operational Risk: Hallucinated Metrics

What to watch: The model may generate plausible-sounding but incorrect statistics, trend percentages, or risk rankings if the input data is incomplete or ambiguous. Guardrail: Implement a post-generation validation step that cross-references every numerical claim in the summary against the source data payload. Flag any unsupported metric for human review before the summary reaches leadership.

05

Operational Risk: Downplaying Critical Findings

What to watch: The summarization process may soften or omit critical security findings in favor of a positive narrative, especially if instructed to be 'concise' or 'executive-friendly.' Guardrail: Include explicit instructions to preserve all critical and high-severity findings in the summary, and add a mandatory 'Top Risks Not Yet Remediated' section that cannot be truncated.

06

Operational Risk: Stale Data Misrepresentation

What to watch: If scan data is outdated or from a partial scan, the summary may present an inaccurate picture of the current security posture without caveats. Guardrail: Require a scan timestamp and completeness flag in the input schema. Instruct the prompt to prominently display the data freshness and warn if scans are older than a defined threshold or marked incomplete.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for generating an executive summary from raw SAST scan data, ready to be populated with your tool output and risk context.

The following prompt template is designed to be populated with structured and unstructured data from your SAST tools before being sent to the model. It instructs the model to act as a security engineering lead and synthesize raw findings into a narrative executive summary. The summary focuses on program health trends, risk heatmaps, remediation velocity, and top risks that require leadership attention. The template uses square-bracket placeholders for all dynamic inputs; replace each placeholder with your specific scan data, tool names, and organizational context before execution.

code
You are a senior security engineering lead preparing an executive summary of our SAST program for the VP of Engineering and CISO. Your goal is to provide a clear, data-driven narrative that enables decision-making, not an exhaustive list of findings.

Use the following inputs to generate the summary:

[SCAN_DATA]

[PREVIOUS_SCAN_DATA]

[REMEDIATION_SLA_CONTEXT]

[ORGANIZATIONAL_RISK_CONTEXT]

[OUTPUT_SCHEMA]

[CONSTRAINTS]

Generate the executive summary by following these steps:

1.  **Trend Analysis:** Compare [SCAN_DATA] against [PREVIOUS_SCAN_DATA]. Calculate the change in total findings, findings by severity, and net new vs. resolved findings. Identify any significant positive or negative trends.
2.  **Risk Heatmap:** Map the top 5-10 services or code areas with the highest concentration of unresolved High and Critical severity findings. For each, note the primary vulnerability classes (e.g., SQL Injection, XSS, Hardcoded Secrets).
3.  **Remediation Velocity:** Calculate the average time-to-remediation for findings closed in this period, broken down by severity (Critical, High, Medium). Compare this velocity against our defined [REMEDIATION_SLA_CONTEXT]. Flag any SLA breaches or bottlenecks.
4.  **Top-Risk Findings:** Select the 3-5 most critical findings that demand immediate leadership attention. For each, explain the business risk in plain language, the affected asset, and the current remediation status, considering our [ORGANIZATIONAL_RISK_CONTEXT].
5.  **Executive Summary Narrative:** Synthesize the above into a concise, half-page narrative. Lead with the most important signal (e.g., "Our critical vulnerability count is down 15% this month, but a new high-risk pattern in our payment service requires immediate action").

**Output Format:**
Return the analysis strictly as a JSON object conforming to the provided [OUTPUT_SCHEMA]. Do not include any text outside the JSON object.

**Constraints:**
- [CONSTRAINTS]
- If the [SCAN_DATA] is empty or malformed, return a JSON object with an `error` key describing the issue.
- Base all claims strictly on the provided data. Do not infer or assume external context.
- Use a professional, objective tone suitable for a C-suite audience.

To adapt this template, start by replacing the [SCAN_DATA] and [PREVIOUS_SCAN_DATA] placeholders with the raw JSON or structured text output from your SAST tools. The [REMEDIATION_SLA_CONTEXT] should contain your organization's specific policies, such as "Critical findings must be remediated within 7 days." The [ORGANIZATIONAL_RISK_CONTEXT] is crucial for the model to correctly prioritize findings; it should include information like "the payment-gateway service is our most business-critical asset" or "we are currently under a regulatory audit for PCI DSS." The [OUTPUT_SCHEMA] placeholder must be replaced with a strict JSON schema definition that your application can validate against, ensuring the model's output is machine-readable. Finally, use the [CONSTRAINTS] placeholder to inject any final rules, such as "Do not mention specific engineer names" or "Classify any finding older than 90 days as 'stale'."

After populating the placeholders, test the prompt with a known set of scan data where you can manually verify the trend calculations and risk prioritization. Pay close attention to how the model handles edge cases, such as a scan with zero new findings or a situation where remediation velocity has dropped to zero. The next step is to build a thin application harness around this prompt that can pre-process your SAST data into the required format, call the model, and validate the JSON output against your schema before the summary ever reaches a human reviewer.

IMPLEMENTATION TABLE

Prompt Variables

Inputs the SAST Report Executive Summary Prompt needs to work reliably. Validate each before sending to avoid hallucinated metrics or misleading trend lines.

PlaceholderPurposeExampleValidation Notes

[SAST_SCAN_DATA]

Raw finding records from one or more SAST tools across the reporting period

JSON array of finding objects with fields: finding_id, rule_id, severity, file_path, line, status, first_seen, last_seen, tool_name

Schema check: required fields present. Non-empty array. Severity values in allowed enum. Timestamps parseable. Tool names from approved tool list.

[REPORTING_PERIOD]

Time window for the executive summary

{"start": "2025-01-01", "end": "2025-03-31"}

Both dates required. Start before end. Period duration between 7 and 365 days. ISO 8601 format.

[PREVIOUS_PERIOD_DATA]

Aggregated metrics from the prior reporting period for trend comparison

{"total_findings": 342, "critical_open": 12, "mean_remediation_days": 8.3, "false_positive_rate": 0.22}

All numeric fields present and non-negative. False positive rate between 0 and 1. Previous period must not overlap with [REPORTING_PERIOD].

[REMEDIATION_SLA_MAP]

Organization-specific remediation targets by severity level

{"critical": 7, "high": 30, "medium": 90, "low": 180}

All four severity keys present. Values are positive integers in days. Critical SLA must be less than or equal to high SLA. No missing severity tiers.

[ASSET_CRITICALITY_MAP]

Mapping of code repositories or services to business criticality tiers

{"repo:auth-service": "tier-0", "repo:user-profile": "tier-1", "repo:internal-docs": "tier-3"}

All repo prefixes in [SAST_SCAN_DATA] covered by a mapping. Tier values from allowed set: tier-0, tier-1, tier-2, tier-3. No unmapped repositories.

[FALSE_POSITIVE_LOG]

Historical false positive determinations for deduplication and noise rate calculation

JSON array of objects with finding_id, determination, reviewer, timestamp

Determination field in allowed enum: confirmed_false, confirmed_true, uncertain. Reviewer field non-empty. Timestamps within or before [REPORTING_PERIOD]. Null allowed if no historical FP data exists.

[EXECUTIVE_AUDIENCE_PROFILE]

Target audience context to adjust summary depth and technical density

{"role": "vp_engineering", "technical_depth": "moderate", "time_budget_minutes": 5, "known_concerns": ["regulatory_audit_readiness", "mean_time_to_remediate"]}

Role from allowed enum. Technical depth in low, moderate, high. Time budget positive integer. Known concerns array can be empty but must be present. Null allowed for generic executive audience.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the SAST Report Executive Summary Prompt into a scheduled workflow or application with validation, retries, and human review gates.

The SAST Report Executive Summary Prompt is designed to run as a scheduled batch job, not a real-time chat interaction. It ingests structured scan data from your SAST tool's API or export pipeline, produces an executive summary, and routes the output to a review queue or distribution channel. The implementation harness must handle input normalization, output validation, and a mandatory human-in-the-loop gate before the summary reaches leadership. Treat this prompt as a data transformation step in a pipeline, not a standalone assistant.

Input assembly starts by pulling raw findings from your SAST tool (e.g., Semgrep, CodeQL, Snyk) and normalizing them into the [SCAN_DATA] placeholder format. The expected schema includes: scan_date, tool_name, total_findings, findings_by_severity (Critical/High/Medium/Low), findings_by_category (e.g., injection, crypto, auth), remediation_velocity (findings fixed/week over the last 4 weeks), and a top_findings array with finding_id, title, severity, category, file_path, status, and days_open. If your SAST tool doesn't provide remediation velocity natively, compute it from your ticketing system before calling the prompt. Model choice: use a model with strong structured reasoning and long-context handling (e.g., GPT-4o, Claude 3.5 Sonnet). Set temperature=0.2 to balance factual consistency with readable prose. Tool use: this prompt does not require function calling or RAG; all evidence must be in [SCAN_DATA]. If you need to ground findings in external threat intelligence, do that in a separate enrichment step before this prompt runs.

Output validation is critical because executive summaries carry reputational risk. After the model responds, validate the output against a schema that checks: (1) the summary contains all required sections (trend summary, risk heatmap, remediation velocity, top risks), (2) numbers in the summary match the input data within a 5% tolerance, (3) no finding is described as 'critical' unless the input severity is Critical, and (4) the output contains no hallucinated finding IDs or dates. Run these checks programmatically. If validation fails, retry once with the same prompt plus the validation errors appended as [CONSTRAINTS] feedback. If the second attempt fails, flag for human review with the raw scan data and both failed outputs attached. Logging: capture the input hash, model version, output, validation results, and reviewer identity for auditability. Human review gate: even when validation passes, route the summary to a security lead for approval before distribution. The reviewer checks for tone, accuracy, and whether any finding is over- or under-emphasized. Only after approval should the summary flow to dashboards, email digests, or slide decks. Avoid fully automated distribution for leadership-facing security content—the cost of a mischaracterized risk is too high.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, format, and validation rules for the SAST Report Executive Summary model response. Use this contract to parse, validate, and integrate the output into dashboards or downstream workflows.

Field or ElementType or FormatRequiredValidation Rule

executive_summary

string (max 300 words)

Must contain no more than 3 paragraphs. First sentence must state the overall program health (e.g., 'Improving', 'Stable', 'Degrading').

report_period

object { start: ISO8601, end: ISO8601 }

Both dates must be present and parseable as valid ISO8601 strings. start must be before end.

risk_heatmap

array of object { category: string, severity: 'CRITICAL'|'HIGH'|'MEDIUM'|'LOW', count: integer, trend: 'UP'|'DOWN'|'FLAT' }

Array length must be >= 1. Each object must have a valid severity enum and a non-negative integer count. trend must be one of the three allowed values.

top_risks

array of object { id: string, title: string, severity: 'CRITICAL'|'HIGH', component: string, exploitability: 'LIKELY'|'POSSIBLE'|'UNLIKELY', days_open: integer }

Array length must be between 1 and 5. id must match a finding ID from the input scan data. days_open must be a non-negative integer.

remediation_velocity

object { mean_days_to_fix: number, fixed_last_period: integer, opened_last_period: integer, backlog_delta: integer }

All numeric fields must be present. mean_days_to_fix must be >= 0. fixed_last_period and opened_last_period must be non-negative integers.

false_positive_rate

object { overall_percent: number, by_severity: object { CRITICAL: number, HIGH: number, MEDIUM: number, LOW: number } }

If present, overall_percent must be between 0 and 100. Each severity key in by_severity must have a value between 0 and 100.

recommendations

array of string (max 3)

Array length must be between 1 and 3. Each string must be a complete sentence starting with an action verb (e.g., 'Prioritize...', 'Investigate...', 'Tune...').

data_quality_notes

array of string

If present, each string must describe a specific data gap or caveat (e.g., 'Scan coverage missing for repository X'). No generic disclaimers allowed.

PRACTICAL GUARDRAILS

Common Failure Modes

SAST executive summaries fail in predictable ways when the prompt is treated as a one-shot report generator instead of a structured decision-support tool. These cards cover the most frequent failure modes and the guardrails that keep the output trustworthy.

01

Severity Inflation Without Context

What to watch: The model treats every High or Critical finding as an urgent escalation, producing a summary that reads like everything is on fire. This destroys leadership trust and leads to alert fatigue. Guardrail: Require the prompt to weight findings by exploitability, reachability, and asset criticality, not raw severity. Include a mandatory risk-ranking step before summary generation.

02

Trend Fabrication from Insufficient Data

What to watch: When given only one or two scan snapshots, the model invents trend language like 'improving' or 'worsening' without statistical basis. Executives make resourcing decisions on fake trends. Guardrail: Enforce a minimum data threshold in the prompt. If fewer than three comparable scan periods exist, the output must state 'insufficient data for trend analysis' rather than synthesizing a narrative.

03

Remediation Velocity Double-Counting

What to watch: The model counts the same finding as remediated multiple times when it appears in sequential scans before the fix is verified, inflating velocity metrics and creating a false sense of progress. Guardrail: Add deduplication logic to the prompt that requires findings to be matched by file path, rule ID, and line range across scans. Only count a finding as remediated when it is absent from the most recent scan, not when it fluctuates.

04

Executive Summary Without Decision-Support Structure

What to watch: The model produces a narrative summary with no clear recommendations, no risk heatmap, and no prioritization. Leadership receives prose instead of actionable intelligence. Guardrail: Constrain the output schema to require a top-N risk list, a remediation backlog snapshot, and explicit 'decisions needed' section. Prose-only summaries should fail validation.

05

Silent Suppression of Uncertain Findings

What to watch: The model omits findings it cannot confidently classify, creating a summary that looks clean but hides unresolved risk. These suppressed findings are often the ones that need human review most. Guardrail: Require an explicit 'uncertain findings' section in the output schema with counts, categories, and a flag for human review. The prompt must treat omission as a failure mode, not a feature.

06

Cross-Tool Correlation Collapse

What to watch: When SAST data comes from multiple tools, the model either double-counts the same vulnerability reported by different scanners or fails to recognize that two findings share a root cause. The summary misrepresents the actual risk surface. Guardrail: Add a correlation step to the prompt that groups findings by code location and vulnerability class before summarization. Require the output to note tool agreement and conflict explicitly.

IMPLEMENTATION TABLE

Evaluation Rubric

Score each criterion on a pass/fail basis. A production-ready SAST executive summary must pass all checks before delivery to engineering leadership.

CriterionPass StandardFailure SignalTest Method

Signal-to-Noise Ratio

Summary contains zero false positives or findings already suppressed in the source tool

Mentions a finding ID or pattern known to be suppressed or marked as false positive in the input data

Diff the summary finding IDs against the input suppression list; fail if intersection is non-empty

Risk Ranking Fidelity

Top-3 findings by risk in the summary match the top-3 findings by exploitability-weighted severity in the input data

A low-severity or unreachable finding appears in the top-3 while a confirmed critical exploitable finding is omitted

Sort input findings by [RISK_SCORE_FORMULA], extract top 3, compare to summary top 3; require exact match on finding ID

Trend Accuracy

All numeric trend claims (count up/down, percentage change) match the computed values from the provided historical data

A trend direction or magnitude stated in the summary contradicts the calculated delta between current and prior scan periods

Parse each trend sentence, extract the claimed metric and value, compute the same metric from [HISTORICAL_SCAN_DATA], assert equality within 1% tolerance

Remediation Velocity Reporting

Mean time to remediate (MTTR) and closure rate percentages match the input ticketing or scan history data

MTTR or closure rate stated in the summary differs from the value computed from [REMEDIATION_TIMELINE_DATA] by more than 5%

Compute MTTR and closure rate from [REMEDIATION_TIMELINE_DATA], compare to summary claims, fail if delta exceeds threshold

Executive Actionability

Summary includes at least one concrete, dated recommendation tied to a specific risk or bottleneck

Recommendations are generic (e.g., 'fix more findings') or lack any owner, date, or measurable target

LLM-as-judge with rubric: check for presence of specific finding class, suggested owner team, and a time-bound goal; fail if any missing

Data Grounding

Every severity count, risk claim, and metric in the summary can be traced to a specific row or aggregate in the input data

A severity count or metric appears in the summary that has no corresponding aggregate in the input data or is off by more than 1 finding

Automated trace: for each numeric claim in the summary, query the input data for the matching aggregate; fail if any claim is unverifiable

Conciseness Constraint

Summary fits within [MAX_WORD_COUNT] words and contains no boilerplate, disclaimers, or tool-output artifacts

Summary exceeds word limit or includes phrases like 'based on the provided data' or raw tool severity labels without context

Word count check; regex scan for boilerplate patterns defined in [BOILERPLATE_PATTERN_LIST]; fail on either trigger

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single SAST tool's JSON output. Remove strict output schema requirements initially—let the model produce markdown with sections for trends, top risks, and remediation velocity. Use a frontier model (GPT-4o, Claude 3.5 Sonnet) with temperature 0.2. Feed one scan at a time before attempting multi-scan trend analysis.

Watch for

  • The model inventing metrics not present in the source data
  • Overly confident language about risk reduction when scan coverage is incomplete
  • Missing the distinction between new findings and aging open findings
  • Producing narrative without grounding in the actual finding counts
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.