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
    ]
  }
}