This prompt is designed for application security (AppSec) engineers, penetration testers, and security-focused QA teams who need to convert raw vulnerability findings into structured, actionable defect reports. Use it when you have a confirmed or suspected security weakness and must produce a triage-ready record that includes a clear attack vector, preconditions, a preliminary CVSS 3.1 score, and remediation guidance. The prompt enforces responsible disclosure language, evidence preservation, and impact assessment, making it suitable for workflows that feed into ticketing systems like Jira, vulnerability management platforms, or security review boards.
Prompt
Security Vulnerability Defect Report Prompt

When to Use This Prompt
Understand the ideal user, required context, and boundaries for converting vulnerability findings into structured defect reports.
The prompt expects several concrete inputs to function reliably. You must supply the raw vulnerability finding, which can include scanner output, manual test notes, or proof-of-concept code. You should also provide the affected component or endpoint, the testing environment context, and any relevant compliance or policy constraints. The prompt uses square-bracket placeholders such as [VULNERABILITY_FINDING], [AFFECTED_COMPONENT], [TEST_ENVIRONMENT], and [COMPLIANCE_REQUIREMENTS] to structure these inputs. When adapting the template, replace each placeholder with the specific data from your assessment. If a placeholder is not applicable, explicitly mark it as 'Not Available' rather than deleting it, as the model uses placeholder presence to reason about missing information.
Do not use this prompt for general functional bugs, performance issues, or cosmetic defects. It is not a replacement for a formal penetration testing report or a certified CVSS calculation by a security analyst. The prompt produces a preliminary CVSS 3.1 vector and score intended for triage and prioritization, not for regulatory submission or vendor disclosure without review. Always require human security review before the report is accepted as final, especially for high-severity findings where the CVSS score exceeds 7.0 or the impact involves sensitive data exposure. The output should be treated as a draft that accelerates the reporting workflow, not as an authoritative security assessment.
Use Case Fit
Where this prompt works, where it fails, and the operational preconditions required before relying on it in a security workflow.
Good Fit: Structured Vulnerability Intake
Use when: AppSec engineers receive scanner output (SAST/DAST), penetration test notes, or bug bounty submissions that contain technical findings. The prompt excels at normalizing attack vectors, preconditions, and impact into a consistent defect record. Guardrail: Always provide the raw finding as [INPUT] and specify the [OUTPUT_SCHEMA] with CVSS fields to prevent the model from inventing missing severity data.
Bad Fit: Zero-Day Triage Without Human Review
Avoid when: The vulnerability is a novel zero-day, involves a critical supply chain component, or requires immediate disclosure coordination. The model cannot assess real-world exploitability or handle responsible disclosure timelines. Guardrail: Route zero-day findings to a human incident commander. Use this prompt only for post-incident documentation after the containment window closes.
Required Input: Evidence and Scanner Context
Risk: Without raw evidence (HTTP requests, code snippets, stack traces), the model will hallucinate reproduction steps or invent plausible but incorrect attack vectors. Guardrail: Require [EVIDENCE] as a mandatory input field. If evidence is missing, the prompt must return a missing_evidence flag and refuse to generate reproduction steps, instead producing a list of required artifacts.
Operational Risk: CVSS Score Misalignment
Risk: The model may generate a CVSS vector string that is internally inconsistent or misaligned with the organization's risk methodology. A 7.5 from the model might be a 9.0 under your policy. Guardrail: Implement a post-generation validation step that recalculates the CVSS base score from the vector string and flags discrepancies. Never auto-populate the CVSS into a ticketing system without this check.
Operational Risk: Responsible Disclosure Leakage
Risk: The prompt might generate a full defect report including exploit code or sensitive internal paths that should not be stored in a general-purpose ticketing system. Guardrail: Add a [CONSTRAINTS] block that instructs the model to redact raw exploit payloads and internal IPs from the public-facing description. Use a separate, encrypted field for forensic evidence.
Boundary: Remediation Guidance Scope
Risk: The model may suggest specific code fixes or configuration changes that are syntactically incorrect for your stack or introduce new weaknesses. Guardrail: Treat generated remediation guidance as a suggestion for a senior engineer, not a mergeable patch. Add a mandatory human approval step before any remediation text is shared with development teams.
Copy-Ready Prompt Template
Paste this prompt into your AI harness to convert raw security findings into a structured, CVSS-scored defect report ready for engineering triage.
This prompt instructs the model to act as a senior Application Security (AppSec) engineer. It is designed to receive an unstructured vulnerability finding—such as a pentest note, a scanner alert, or a researcher email—and produce a rigorous, structured JSON defect report. The output is built for direct ingestion into a bug tracker or security dashboard, not for casual reading. Every field in the output schema is chosen to reduce the back-and-forth between security and engineering teams.
textYou are a senior Application Security engineer writing a defect report for an engineering team. Your report must be precise, evidence-backed, and actionable. Do not speculate beyond the provided input. If critical information is missing, flag it explicitly instead of guessing. Using the vulnerability finding below, produce a structured JSON defect report that conforms to the [OUTPUT_SCHEMA]. [INPUT] [OUTPUT_SCHEMA] { "defect_id": "string, a unique identifier for this report, prefixed with SEC-", "title": "string, a concise technical summary of the vulnerability (max 100 chars)", "severity": "string, one of: CRITICAL, HIGH, MEDIUM, LOW, INFO", "cvss_vector": "string, a valid CVSS v3.1 vector string (e.g., CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)", "cvss_score": "number, the calculated base score from the vector (0.0 to 10.0)", "attack_vector": "string, a description of how an attacker would deliver the exploit (e.g., network request, file upload, phishing link)", "preconditions": ["string, a list of conditions required before exploitation is possible (e.g., 'attacker must have a valid user account')"], "affected_component": "string, the specific software module, endpoint, or library that contains the vulnerability", "reproduction_steps": ["string, an ordered list of steps an engineer can follow to reproduce the issue in a test environment"], "observed_behavior": "string, what happens when the vulnerability is triggered", "expected_behavior": "string, what the system should do instead", "impact_assessment": "string, a plain-language description of the worst-case business or technical impact if exploited", "remediation_guidance": "string, specific, prioritized recommendations for fixing the root cause, not just the symptom", "evidence": ["string, a list of supporting evidence such as request/response snippets, log lines, or screenshot descriptions"], "missing_information": ["string, a list of facts not present in the input that would improve confidence or completeness"], "responsible_disclosure_note": "string, a reminder about disclosure obligations and handling restrictions for this report" } [CONSTRAINTS] - If the input does not contain enough information to fill a required field, use null and add an entry to missing_information explaining what is needed. - Do not invent CVSS scores. If the input lacks sufficient detail, use the lowest plausible score and flag it in missing_information. - The reproduction_steps must be safe to execute in a sandboxed test environment. Do not include instructions that would exploit a production system. - The responsible_disclosure_note must remind the reader not to share the report externally until the vulnerability is patched.
Adaptation notes: Replace [INPUT] with the raw vulnerability text. The [OUTPUT_SCHEMA] is provided inline for clarity, but you can move it to a separate system parameter if your harness supports structured output natively. The [CONSTRAINTS] section is critical for safety: it prevents the model from hallucinating CVSS scores and ensures reproduction steps are lab-safe. For high-risk workflows, add a [RISK_LEVEL] placeholder and conditionally require human review before the report is shared with engineering. If your platform supports tool use, consider adding a [TOOLS] section that allows the model to call a CVSS calculator function for accurate scoring rather than relying on its internal knowledge.
Prompt Variables
Inputs the Security Vulnerability Defect Report Prompt needs to work reliably. Validate each before sending to prevent incomplete or misleading vulnerability records.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[VULNERABILITY_FINDING] | Raw vulnerability description from scanner, pentest, or manual review | Reflected XSS in search parameter 'q' on /results endpoint | Must contain at least 50 characters and include an attack vector or affected component. Reject empty or placeholder-only inputs. |
[AFFECTED_COMPONENT] | The specific system, endpoint, library, or module with the vulnerability | webapp-frontend v2.4.1, search controller | Must match a known component in the asset inventory or be flagged for manual review. Null allowed if unknown. |
[EVIDENCE_SOURCES] | List of evidence artifacts: logs, screenshots, request/response captures, scanner output | Burp scan report #442, HAR file from reproduction, screenshot of alert(1) | Each source must include a type and reference ID. At least one evidence source required. Validate that references are not fabricated. |
[DISCOVERY_METHOD] | How the vulnerability was identified: automated scan, manual pentest, bug bounty, code review | Automated scan via OWASP ZAP 2.15.0 | Must be one of: automated_scan, manual_pentest, bug_bounty, code_review, external_report, internal_review. Reject unknown methods. |
[CVSS_VECTOR_STRING] | CVSS v3.1 vector string for base score calculation | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N | Must parse as valid CVSS v3.1 vector. Validate with a CVSS calculator library. Reject malformed or v2.0 strings. |
[REPRODUCTION_STEPS] | Step-by-step procedure to reproduce the vulnerability |
| Must contain numbered steps with actions and expected outcomes. Minimum 2 steps. Validate that steps are sequential and actionable. |
[SECURITY_CONTEXT] | Authentication level, user role, and network position required for exploitation | Unauthenticated, remote attacker, no special privileges | Must specify auth level (unauthenticated, user, admin, internal) and network position (remote, local, adjacent). Reject ambiguous context. |
[RESPONSIBLE_DISCLOSURE_STATUS] | Current disclosure state: not_disclosed, vendor_notified, fix_pending, public, embargoed | vendor_notified on 2025-03-15, 30-day disclosure deadline | Must be one of the defined states. If embargoed, validate that the prompt output destination is authorized. Flag for human review if status is public before fix. |
Implementation Harness Notes
How to wire the Security Vulnerability Defect Report Prompt into a secure application or triage workflow.
Integrating this prompt into a production security workflow requires treating the model output as a draft, not a final submission. The prompt is designed to produce a structured defect record with a CVSS vector, attack vector, and remediation guidance, but the model cannot independently verify the vulnerability or guarantee the accuracy of the severity score. The implementation harness must enforce a human-in-the-loop review step before any report is accepted into a defect tracker or disclosed to external stakeholders. This is non-negotiable for AppSec workflows where misclassification could delay critical patches or cause premature disclosure.
The harness should wrap the LLM call in a validation layer that checks the output schema before human review. Use a strict JSON Schema validator to confirm the presence and type of required fields: title, cvss_vector, cvss_score, attack_vector, preconditions, reproduction_steps, impact_assessment, remediation_guidance, and evidence_references. If the model output fails schema validation, retry once with a repair prompt that includes the validation error and the original input. After two failures, log the raw output and escalate to a human analyst with a flag indicating the model could not produce a well-formed report. Do not silently drop malformed outputs—they may contain partial findings that still need triage.
For evidence preservation, the harness must store the original vulnerability finding input (scanner output, pentest notes, researcher submission) alongside the generated defect report. This creates an audit trail for internal review and supports responsible disclosure workflows where the original evidence must be cited. If the input contains sensitive data—such as internal hostnames, credentials, or customer PII—redact it before passing it to the model, or use a local deployment where data never leaves your environment. The prompt's [EVIDENCE] placeholder should receive only sanitized, shareable evidence. For high-severity findings (CVSS >= 7.0), the harness should automatically flag the report for expedited review and notify the security on-call rotation rather than waiting for the normal triage queue.
Model choice matters here. Use a model with strong reasoning capabilities and a known safety profile for structured security analysis. Avoid models that are prone to hallucinating technical details or inventing CVE references. If your organization runs a private LLM deployment, prefer that path to keep vulnerability data off third-party infrastructure. When using an external API, ensure your data processing agreement covers security findings and that you are not sending exploit code or live credentials. The harness should log every model interaction—input, output, retries, and reviewer decisions—for compliance and post-incident review. Finally, never allow the model to autonomously file a defect in your tracker or send a disclosure email; the harness must require explicit human approval on the final record before any downstream action is taken.
Expected Output Contract
Fields, format, and validation rules for the structured security vulnerability defect report. Use this table to build a parser, validator, or evaluation harness that checks whether the model output is complete and safe to surface in a ticketing system.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
vulnerability_id | string (slug) | Must match pattern | |
title | string (<=120 chars) | Must contain the vulnerability type and affected component. Reject if it contains only generic terms like 'security issue' or 'bug'. | |
cve_id | string or null | If provided, must match CVE-ID regex | |
cvss_vector_string | string | Must parse as a valid CVSS v3.1 or v4.0 vector string. Reject if base score cannot be computed from the string. | |
attack_vector | enum | Must be one of: Network, Adjacent, Local, Physical. Reject if missing or not in the CVSS-specified enum. | |
preconditions | string[] (2-10 items) | Each item must describe a concrete, testable condition. Reject if array is empty or any item is a generic placeholder like 'access required'. | |
reproduction_steps | object[] | Each step must have | |
observed_behavior | string | Must differ materially from | |
expected_behavior | string | Must describe the secure/intended behavior. Reject if it contains only a negation of observed behavior (e.g., 'should not happen'). | |
affected_asset | string | Must identify a specific component, endpoint, or dependency. Reject if value is 'unknown', 'N/A', or a wildcard like '*'. | |
remediation_guidance | string | Must contain at least one actionable recommendation. Reject if it only says 'patch' or 'fix the code' without specifics. Must not suggest disabling security controls as a primary fix. | |
evidence_artifacts | object | Must contain | |
responsible_disclosure_notes | string | Must contain a statement confirming whether the report contains sensitive exploit details. Reject if it includes full exploit code or hardcoded credentials without explicit redaction flags. | |
human_review_required | boolean | Must be |
Common Failure Modes
Security vulnerability defect reports carry higher stakes than ordinary bugs. These failure modes surface where prompts drift, evidence gets lost, or severity is misjudged—and how to catch each before it reaches an incident response workflow.
CVSS Inflation Without Evidence
What to watch: The model assigns a Critical or High CVSS score based on narrative severity rather than measurable exploitability, impact sub-scores, or environmental factors. Guardrail: Require the prompt to output each CVSS vector component separately with a one-sentence justification per metric. Validate that the temporal and environmental score groups are not defaulted to 'Not Defined' without explicit instruction.
Reproduction Steps Leak Sensitive Artifacts
What to watch: The generated reproduction steps embed internal hostnames, tokens, session cookies, PII from logs, or proprietary endpoints that should not appear in a defect tracker. Guardrail: Add a post-generation redaction check that scans output for URI patterns, key-value secrets, and internal IP ranges. Flag any step containing credentials for human review before the defect is filed.
Remediation Guidance Over-Promises
What to watch: The model suggests a complete fix or configuration change without acknowledging that it lacks the full codebase, deployment architecture, or compensating controls. This can mislead triage teams into applying untested mitigations. Guardrail: Constrain the remediation section to 'Recommended Mitigation Direction' with an explicit disclaimer that the suggestion has not been tested against the live system and requires security review.
Attack Vector Omission in Complex Chains
What to watch: Multi-step exploits are collapsed into a single step, or the initial entry point is omitted because the model focuses on the final impact. The resulting defect under-represents the attack surface. Guardrail: Require the prompt template to include a dedicated 'Attack Chain' section with numbered stages, each listing preconditions, action, and observed effect. Validate that the first stage always describes the entry vector.
Responsible Disclosure Boundary Blur
What to watch: The model treats an unpatched zero-day or internally discovered vulnerability as if it should be fully documented in an unsecured ticket, ignoring embargo or coordinated disclosure requirements. Guardrail: Add a pre-generation classification step: if the finding is unpatched and externally reportable, the output must be routed to a secure disclosure template with restricted distribution markers, not a standard defect report.
Evidence-to-Claim Drift
What to watch: The model states a vulnerability exists but the cited log line, screenshot description, or request/response pair does not actually demonstrate the claimed weakness. The defect reads convincingly but is factually unsupported. Guardrail: Require each claim in the 'Impact Assessment' section to reference a specific evidence item by ID. Run an eval check that verifies every claim has at least one evidence pointer; flag orphan claims for human verification.
Evaluation Rubric
Criteria for testing the Security Vulnerability Defect Report Prompt before production deployment. Each row defines a pass standard, a failure signal, and a concrete test method to validate responsible disclosure handling, evidence preservation, and output quality.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Responsible Disclosure Handling | Output includes a clear, prominent warning that the report contains sensitive security information and must be handled per the organization's disclosure policy. No actual exploit code is generated. | Output lacks any disclosure warning or includes executable exploit code, weaponized payloads, or step-by-step attack instructions. | Static check: scan output for disclosure warning string and absence of code blocks containing exploit patterns. Human review required for borderline cases. |
Evidence Preservation | All claims about the vulnerability are grounded in the provided [INPUT] evidence. The report cites specific log lines, request/response snippets, or tool output from the input. | Report includes vulnerability claims, affected endpoints, or impact statements not present in or reasonably inferable from the provided evidence. | Evidence grounding check: for each claim in the output, verify a corresponding citation or direct quote exists in the input. Flag unsupported claims. |
CVSS Score Accuracy | The CVSS v3.1 vector string and base score are internally consistent. The selected values for AV, AC, PR, UI, S, C, I, A match the described attack vector and impact. | CVSS vector string is malformed, score does not match the vector, or selected metric values contradict the written impact description. | Automated CVSS calculator validation: parse the vector string, recompute the score, and compare. Manual check that metric choices align with the written description. |
Reproduction Steps Completeness | Reproduction steps include preconditions, ordered actions, and expected vulnerable behavior. Steps are specific enough that a security tester unfamiliar with the finding could attempt reproduction. | Steps are vague, skip preconditions, assume internal knowledge, or describe the vulnerability without actionable reproduction actions. | Reproducibility audit: have a second security tester follow the steps against a test environment. Flag steps that require clarification or fail to produce the described behavior. |
Remediation Guidance Quality | Remediation section provides at least one concrete, technically specific recommendation tied to the root cause. Avoids generic advice like 'validate input' without specifics. | Remediation is missing, consists only of generic security platitudes, or recommends mitigations that do not address the described root cause. | Remediation specificity check: verify the recommendation names a specific control, library, configuration change, or code pattern. Flag generic-only responses. |
Risk Rating Consistency | The severity/priority label is consistent with the CVSS score, the described business impact, and any provided organizational risk taxonomy in [CONSTRAINTS]. | Severity label contradicts the CVSS score or impact description. For example, a CVSS 9.8 finding labeled as 'Low' without justification. | Cross-field consistency check: compare severity label, CVSS score, and impact description. Flag contradictions. If [CONSTRAINTS] provides a risk matrix, validate mapping. |
Schema and Field Completeness | All required fields from [OUTPUT_SCHEMA] are present and non-null unless explicitly allowed. Optional fields are omitted or null when no data exists. | Required fields are missing, null, or contain placeholder text. The output structure does not parse against the expected schema. | Schema validation: parse the output against the expected JSON schema. Flag missing required fields, type mismatches, and null violations. |
Handling of Incomplete Input | When [INPUT] lacks critical information needed for a complete report, the output explicitly flags missing fields with a structured 'missing_information' section and does not fabricate details. | Output fills in missing environment details, attack preconditions, or impact data with plausible but unsupported information without indicating uncertainty. | Input sufficiency test: provide a deliberately incomplete vulnerability finding. Verify the output identifies specific missing fields and does not invent values for them. |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a frontier model and manual review of every output. Keep the CVSS scoring instruction but accept that the model may miscalculate vector strings—treat the score as a draft. Remove strict schema enforcement; accept structured markdown instead of validated JSON. Focus on getting the narrative sections right: attack vector, preconditions, impact assessment.
Prompt modification
- Replace
[OUTPUT_SCHEMA]with a markdown template instead of a JSON schema. - Add:
If you are uncertain about any field, mark it with [NEEDS REVIEW] and explain why. - Remove retry and validation instructions.
Watch for
- CVSS vector string errors (wrong metrics for the described impact)
- Overconfident severity ratings without evidence
- Missing responsible disclosure handling notes
- Model hallucinating remediation steps it cannot verify

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us