OculusCyber Logo

OculusCyber

Home

Browse Topics


A sample format of Checkmarx SAST output format

By oculus

•

November 9, 2025


Checkmarx SAST findings data is available in formats such as JSON, XML, PDF, and CSV reports and contains detailed information about identified vulnerabilities.

A sample of the data you would find for a single vulnerability instance (e.g., an SQL Injection) would include fields such as:

Key Data Fields

  • Vulnerability Type: The specific type of security flaw found (e.g., SQL Injection, Reflected XSS, Command Injection).
  • Severity: The impact ranking of the vulnerability (Critical, High, Medium, Low, Informational).
  • Status/State: The current workflow status (New, Recurrent, To Verify, Confirmed, Not Exploitable, Proposed Not Exploitable).
  • Source Node: The initial input point (user-provided or external input) that starts the vulnerable data flow.
  • Source File/Path: The name and location (file path) of the file containing the source node.
  • Sink Node: The specific code location where the vulnerable data is used in an unsafe way (e.g., the line where a query is executed).
  • Code Snippets: The relevant lines of source code where the vulnerability exists and where the data flows.
  • Description/Learn More: A detailed explanation of the vulnerability, its potential risk, and how to remediate it (including code samples of a secure implementation).
  • Detection Date: The date the vulnerability was first or last detected.
  • Project/Scan ID: Identifying information for the project and the specific scan run that found the issue.
  • Language: The programming language of the scanned code (e.g., Java, C#).
{
  "scanId": "12345",
  "projectId": "67890",
  "vulnerability": {
    "type": "SQL_Injection",
    "severity": "High",
    "status": "To Verify",
    "description": "An SQL injection vulnerability exists when user input is used directly in an SQL query without proper sanitization.",
    "OWASP": ["A03:2021 - Injection"],
    "CWE": "CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')"
  },
  "findingDetails": {
    "source": {
      "file": "/src/main/java/com/example/LoginController.java",
      "line": 32,
      "snippet": "String username = request.getParameter(\"name\");"
    },
    "sink": {
      "file": "/src/main/java/com/example/UserRepository.java",
      "line": 150,
      "snippet": "String query = \"SELECT * FROM users WHERE name = '\" + username + \"'\";"
    },
    "dataFlow": [
      {"file": "...", "line": "..."},
      // ... intermediate steps in the data flow path
    ]
  }
}