Skip to main content

Export Formats

AIPTx supports multiple export formats to integrate with your existing tools and workflows.

Available Formats

FormatUse CaseExtension
JSONAPI integration, automation.json
CSVSpreadsheets, data analysis.csv
PDFReports, documentation.pdf
HTMLWeb viewing, sharing.html
SARIFIDE/CI integration.sarif
XMLLegacy system integration.xml
MarkdownDocumentation.md

JSON Export

Command

aiptx findings export --scan-id scan_abc123 --format json --output findings.json

Structure

{
  "scan": {
    "id": "scan_abc123",
    "target": "https://app.example.com",
    "completed_at": "2024-01-15T14:00:00Z"
  },
  "summary": {
    "total": 42,
    "critical": 2,
    "high": 5,
    "medium": 12,
    "low": 23
  },
  "findings": [
    {
      "id": "finding_xyz789",
      "title": "SQL Injection in Search API",
      "severity": "critical",
      "cvss_score": 9.8,
      "endpoint": {
        "method": "POST",
        "path": "/api/search",
        "parameter": "query"
      },
      "description": "...",
      "remediation": "...",
      "poc": { ... }
    }
  ]
}

CSV Export

Command

aiptx findings export --scan-id scan_abc123 --format csv --output findings.csv

Columns

ColumnDescription
idFinding ID
titleFinding title
severitycritical/high/medium/low
cvss_scoreCVSS 3.1 score
statusopen/fixed/accepted
endpointAffected URL
parameterVulnerable parameter
categoryVulnerability category
cwe_idCWE identifier
descriptionFinding description
remediationFix guidance

SARIF Export

SARIF (Static Analysis Results Interchange Format) enables integration with IDEs and CI/CD tools.

Command

aiptx findings export --scan-id scan_abc123 --format sarif --output results.sarif

Integration

GitHub Code Scanning:
- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v2
  with:
    sarif_file: results.sarif
VS Code: Install the SARIF Viewer extension to view results directly in your editor.

Structure

{
  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
  "version": "2.1.0",
  "runs": [{
    "tool": {
      "driver": {
        "name": "AIPTx",
        "version": "1.0.0",
        "rules": [
          {
            "id": "sql-injection",
            "name": "SQL Injection",
            "shortDescription": { "text": "SQL injection vulnerability" },
            "defaultConfiguration": { "level": "error" }
          }
        ]
      }
    },
    "results": [
      {
        "ruleId": "sql-injection",
        "level": "error",
        "message": { "text": "SQL Injection in Search API" },
        "locations": [{
          "physicalLocation": {
            "artifactLocation": { "uri": "/api/search" }
          }
        }]
      }
    ]
  }]
}

PDF Reports

Command

aiptx report generate --scan-id scan_abc123 --format pdf --output report.pdf

Templates

  • Executive - High-level summary for leadership
  • Technical - Detailed findings for security teams
  • Compliance - Mapped to compliance frameworks
  • Developer - Code-focused for dev teams

HTML Reports

Command

aiptx report generate --scan-id scan_abc123 --format html --output report.html

Features

  • Interactive navigation
  • Expandable finding details
  • Syntax-highlighted code
  • Search and filter
  • Print-friendly styling

XML Export

Command

aiptx findings export --scan-id scan_abc123 --format xml --output findings.xml

Structure

<?xml version="1.0" encoding="UTF-8"?>
<aiptx-report>
  <scan id="scan_abc123" target="https://app.example.com">
    <completed-at>2024-01-15T14:00:00Z</completed-at>
  </scan>
  <findings>
    <finding id="finding_xyz789" severity="critical">
      <title>SQL Injection in Search API</title>
      <cvss-score>9.8</cvss-score>
      <endpoint method="POST" path="/api/search" />
      <description>...</description>
      <remediation>...</remediation>
    </finding>
  </findings>
</aiptx-report>

Markdown Export

Command

aiptx findings export --scan-id scan_abc123 --format markdown --output findings.md

Use Cases

  • GitHub/GitLab issues
  • Documentation
  • Wiki pages
  • Slack/Teams sharing

Filtering Exports

By Severity

aiptx findings export --scan-id scan_abc123 --severity critical,high --format json

By Status

aiptx findings export --scan-id scan_abc123 --status open --format csv

By Category

aiptx findings export --scan-id scan_abc123 --category injection,authentication --format json

API Export

Endpoint

GET /v1/findings/export?scan_id=scan_abc123&format=json

Example

curl -X GET "https://api.aiptx.io/v1/findings/export?scan_id=scan_abc123&format=sarif" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o results.sarif