Skip to main content
Strix generates structured vulnerability reports following security industry standards. This page documents the complete vulnerability report format.

Report Structure

Each vulnerability report contains comprehensive information organized into these sections:
  • Identification - Unique identifiers and metadata
  • Classification - Severity, CVSS scoring, CVE/CWE mappings
  • Description - What the vulnerability is and why it matters
  • Technical Details - How the vulnerability works
  • Proof of Concept - Reproducible exploit demonstration
  • Code Analysis - Source code locations (for white-box testing)
  • Remediation - How to fix the vulnerability

Field Reference

Identification Fields

string
required
Unique identifier for the vulnerability.Format: vuln-<8-char-hex>Example: vuln-a3f8b2e1This ID is stable and can be used to track the vulnerability across systems.
string
required
ISO 8601 timestamp when the vulnerability was discovered.Format: YYYY-MM-DDTHH:MM:SSZExample: 2026-03-01T12:34:56ZAlways in UTC timezone.
string
required
Brief, descriptive title of the vulnerability.Guidelines:
  • Be specific and actionable
  • Include vulnerability type
  • Mention affected component
  • Keep under 100 characters
Examples:
  • SQL Injection in Search Endpoint
  • Authentication Bypass via JWT Manipulation
  • Sensitive Data Exposure in API Response

Classification Fields

string
required
Severity classification based on CVSS score.Possible values:
  • critical - CVSS 9.0-10.0
  • high - CVSS 7.0-8.9
  • medium - CVSS 4.0-6.9
  • low - CVSS 0.1-3.9
  • info - CVSS 0.0
Automatically calculated from CVSS breakdown.
number
required
CVSS v3.1 base score.Range: 0.0 to 10.0Precision: One decimal placeExamples: 9.8, 7.5, 4.3Automatically calculated from CVSS breakdown using the official CVSS v3.1 algorithm.
object
required
Complete CVSS v3.1 metric breakdown.Attack Vector (AV)
  • N - Network (remotely exploitable)
  • A - Adjacent Network (local network required)
  • L - Local (local access required)
  • P - Physical (physical access required)
Attack Complexity (AC)
  • L - Low (no special conditions)
  • H - High (requires specific conditions)
Privileges Required (PR)
  • N - None (unauthenticated)
  • L - Low (basic user account)
  • H - High (admin/privileged account)
User Interaction (UI)
  • N - None (no user action needed)
  • R - Required (victim must take action)
Scope (S)
  • U - Unchanged (impact limited to vulnerable component)
  • C - Changed (impact extends beyond vulnerable component)
Confidentiality (C)
  • N - None (no information disclosure)
  • L - Low (limited information disclosure)
  • H - High (total information disclosure)
Integrity (I)
  • N - None (no data modification)
  • L - Low (limited data modification)
  • H - High (complete data manipulation)
Availability (A)
  • N - None (no service disruption)
  • L - Low (degraded performance)
  • H - High (complete denial of service)
Example:
CVSS Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
string
CVE (Common Vulnerabilities and Exposures) identifier if applicable.Format: CVE-YYYY-NNNNNExample: CVE-2024-12345Only included when the vulnerability corresponds to a known CVE.
string
CWE (Common Weakness Enumeration) identifier.Format: CWE-NNNExamples:
  • CWE-89 - SQL Injection
  • CWE-79 - Cross-Site Scripting (XSS)
  • CWE-287 - Improper Authentication
  • CWE-352 - Cross-Site Request Forgery (CSRF)
  • CWE-22 - Path Traversal
See cwe.mitre.org for complete list.

Target Fields

string
required
The target where the vulnerability was found.Examples:
  • https://example.com
  • https://github.com/user/repo
  • ./my-project
  • example.com
  • 192.168.1.42
string
Specific endpoint, path, or resource affected.Examples:
  • /api/search
  • /auth/login
  • /users/{id}/profile
  • ws://example.com/chat
For web applications, this is typically a URL path. For code analysis, it may be a module or function name.
string
HTTP method or operation type.Examples:
  • GET
  • POST
  • PUT
  • DELETE
  • PATCH
  • WebSocket
  • GraphQL Query

Description Fields

string
required
Detailed description of the vulnerability.Should explain:
  • What the vulnerability is
  • Where it exists
  • Under what conditions it can be exploited
  • Basic technical mechanism
Example:
Typically 2-4 sentences providing clear context.
string
required
Potential impact and consequences of exploitation.Should explain:
  • What an attacker could achieve
  • Data or systems at risk
  • Business consequences
  • Compliance implications
Example:
Typically 3-5 bullet points or paragraphs.
string
required
In-depth technical analysis of the vulnerability.Should include:
  • How the vulnerability works at a technical level
  • Root cause analysis
  • Attack vector details
  • Any preconditions or limitations
Example:
Typically several paragraphs with technical details.

Proof of Concept Fields

string
required
Step-by-step description of how to reproduce the vulnerability.Should include:
  • Prerequisites and setup
  • Exact steps to reproduce
  • Expected vs actual results
  • How to verify exploitation succeeded
Example:
Typically 3-6 numbered steps.
string
required
Actual exploit code or payload demonstrating the vulnerability.Requirements:
  • Must be functional, working code
  • Include all necessary imports and dependencies
  • Add comments explaining key steps
  • Use realistic but safe payloads
  • Include error handling
Example:
Must include working exploit code. This is a required field.

Code Location Fields

array
Array of source code locations related to the vulnerability.Only included for white-box testing when source code is available.Each location object contains:file (string, required)
  • Relative path to the file
  • Must be relative, not absolute
  • Must not contain .. path traversal
  • Example: src/api/search.py
start_line (integer, required)
  • Starting line number (1-indexed)
  • Must be positive integer
  • Example: 42
end_line (integer, required)
  • Ending line number (1-indexed)
  • Must be >= start_line
  • Example: 45
snippet (string, optional)
  • Code snippet showing the vulnerable code
  • Preserves original formatting
  • Example:
label (string, optional)
  • Description of this code location
  • Example: Vulnerable SQL query construction
fix_before (string, optional)
  • Original vulnerable code
  • Used for showing diffs
fix_after (string, optional)
  • Suggested fixed code
  • Used for showing diffs
Example:

Remediation Fields

string
required
Step-by-step instructions to fix the vulnerability.Should include:
  • Immediate mitigation steps
  • Long-term fixes
  • Code changes with examples
  • Configuration changes
  • Testing procedures
  • Prevention measures
Example:
Typically 5-10 numbered steps with code examples.

Complete Example

Here’s a complete vulnerability report showing all fields:

Validation Rules

Strix validates vulnerability reports before creating them:

Required Field Validation

All required fields must be present and non-empty:
  • title
  • description
  • impact
  • target
  • technical_analysis
  • poc_description
  • poc_script_code (must contain actual exploit code)
  • remediation_steps
  • cvss_breakdown

CVSS Validation

CVSS metrics must use valid values:
  • attack_vector: N, A, L, or P
  • attack_complexity: L or H
  • privileges_required: N, L, or H
  • user_interaction: N or R
  • scope: U or C
  • confidentiality: N, L, or H
  • integrity: N, L, or H
  • availability: N, L, or H

CVE/CWE Validation

  • CVE format: CVE-YYYY-NNNNN (e.g., CVE-2024-12345)
  • CWE format: CWE-NNN (e.g., CWE-89)

Code Location Validation

When code_locations is provided:
  • file path must be relative (not absolute)
  • file path must not contain ..
  • start_line must be positive integer
  • end_line must be positive integer >= start_line

Duplicate Detection

Strix automatically detects and prevents duplicate vulnerability reports:
Duplicates are detected using:
  • Same target + endpoint + vulnerability type
  • Similar title and description (via LLM similarity)
  • Same CVE or CWE

See Also