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
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.ISO 8601 timestamp when the vulnerability was discovered.Format:
YYYY-MM-DDTHH:MM:SSZExample: 2026-03-01T12:34:56ZAlways in UTC timezone.Brief, descriptive title of the vulnerability.Guidelines:
- Be specific and actionable
- Include vulnerability type
- Mention affected component
- Keep under 100 characters
SQL Injection in Search EndpointAuthentication Bypass via JWT ManipulationSensitive Data Exposure in API Response
Classification Fields
Severity classification based on CVSS score.Possible values:
critical- CVSS 9.0-10.0high- CVSS 7.0-8.9medium- CVSS 4.0-6.9low- CVSS 0.1-3.9info- CVSS 0.0
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.Complete CVSS v3.1 metric breakdown.Attack Vector (AV)CVSS Vector String:
N- Network (remotely exploitable)A- Adjacent Network (local network required)L- Local (local access required)P- Physical (physical access required)
L- Low (no special conditions)H- High (requires specific conditions)
N- None (unauthenticated)L- Low (basic user account)H- High (admin/privileged account)
N- None (no user action needed)R- Required (victim must take action)
U- Unchanged (impact limited to vulnerable component)C- Changed (impact extends beyond vulnerable component)
N- None (no information disclosure)L- Low (limited information disclosure)H- High (total information disclosure)
N- None (no data modification)L- Low (limited data modification)H- High (complete data manipulation)
N- None (no service disruption)L- Low (degraded performance)H- High (complete denial of service)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVE (Common Vulnerabilities and Exposures) identifier if applicable.Format:
CVE-YYYY-NNNNNExample: CVE-2024-12345Only included when the vulnerability corresponds to a known CVE.CWE (Common Weakness Enumeration) identifier.Format:
CWE-NNNExamples:CWE-89- SQL InjectionCWE-79- Cross-Site Scripting (XSS)CWE-287- Improper AuthenticationCWE-352- Cross-Site Request Forgery (CSRF)CWE-22- Path Traversal
Target Fields
The target where the vulnerability was found.Examples:
https://example.comhttps://github.com/user/repo./my-projectexample.com192.168.1.42
Specific endpoint, path, or resource affected.Examples:
/api/search/auth/login/users/{id}/profilews://example.com/chat
HTTP method or operation type.Examples:
GETPOSTPUTDELETEPATCHWebSocketGraphQL Query
Description Fields
Detailed description of the vulnerability.Should explain:Typically 2-4 sentences providing clear context.
- What the vulnerability is
- Where it exists
- Under what conditions it can be exploited
- Basic technical mechanism
Potential impact and consequences of exploitation.Should explain:Typically 3-5 bullet points or paragraphs.
- What an attacker could achieve
- Data or systems at risk
- Business consequences
- Compliance implications
In-depth technical analysis of the vulnerability.Should include:Typically several paragraphs with technical details.
- How the vulnerability works at a technical level
- Root cause analysis
- Attack vector details
- Any preconditions or limitations
Proof of Concept Fields
Step-by-step description of how to reproduce the vulnerability.Should include:Typically 3-6 numbered steps.
- Prerequisites and setup
- Exact steps to reproduce
- Expected vs actual results
- How to verify exploitation succeeded
Actual exploit code or payload demonstrating the vulnerability.Requirements:Must include working exploit code. This is a required field.
- Must be functional, working code
- Include all necessary imports and dependencies
- Add comments explaining key steps
- Use realistic but safe payloads
- Include error handling
Code Location Fields
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
- Starting line number (1-indexed)
- Must be positive integer
- Example:
42
- Ending line number (1-indexed)
- Must be >= start_line
- Example:
45
- Code snippet showing the vulnerable code
- Preserves original formatting
- Example:
- Description of this code location
- Example:
Vulnerable SQL query construction
- Original vulnerable code
- Used for showing diffs
- Suggested fixed code
- Used for showing diffs
Remediation Fields
Step-by-step instructions to fix the vulnerability.Should include:Typically 5-10 numbered steps with code examples.
- Immediate mitigation steps
- Long-term fixes
- Code changes with examples
- Configuration changes
- Testing procedures
- Prevention measures
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:- Same target + endpoint + vulnerability type
- Similar title and description (via LLM similarity)
- Same CVE or CWE
See Also
- Reports - Report file formats
- Examples - Usage examples
- CVSS v3.1 Specification
- CWE List