Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Exports

Odin Scan supports exporting analysis reports in multiple formats for integration with external tools, team sharing, and compliance documentation.

Supported Formats

FormatBest For
JSONProgrammatic access, custom integrations, data processing
MarkdownHuman-readable reports, sharing with stakeholders, documentation
SARIFGitHub Code Scanning, IDE integrations, SARIF-compatible security tools

Exporting from the Dashboard

  1. Navigate to Reports and open a completed analysis.
  2. Click the Export button at the top of the report view.
  3. Select the desired format (JSON, Markdown, or SARIF).
  4. The file downloads to your browser.

Export Formats

JSON

The JSON export contains the full structured analysis result, identical to the response from the GET /api/v1/analysis/:id/result endpoint.

{
  "analysisId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "repository": {
    "url": "https://github.com/username/repo",
    "branch": "main",
    "framework": "cosmwasm"
  },
  "summary": {
    "totalFindings": 12,
    "criticalFindings": 2,
    "highFindings": 3,
    "mediumFindings": 4,
    "lowFindings": 3,
    "analysisTime": 45000
  },
  "findings": [
    {
      "id": "finding-uuid",
      "title": "Unchecked Address Validation",
      "severity": "high",
      "confidence": "high",
      "category": "Input Validation",
      "location": {
        "file": "src/contract.rs",
        "lineStart": 142,
        "lineEnd": 147
      },
      "remediation": "Implement proper address validation..."
    }
  ]
}

Use JSON exports for:

  • Feeding results into custom dashboards or reporting tools.
  • Automated processing in CI/CD pipelines.
  • Archiving results in a structured, machine-readable format.

Markdown

The Markdown export produces a formatted, human-readable report. This is the same content available in the markdownReport field of the API response.

# Security Analysis Report

**Repository:** username/repo
**Branch:** main
**Framework:** CosmWasm
**Date:** 2025-01-15

## Summary

| Severity | Count |
|----------|-------|
| Critical | 2     |
| High     | 3     |
| Medium   | 4     |
| Low      | 3     |

## Findings

### [HIGH] Unchecked Address Validation

**File:** src/contract.rs (lines 142-147)
**Category:** Input Validation

The contract accepts addresses without validation...

**Remediation:** Implement proper address validation...

Use Markdown exports for:

  • Sharing results with team members or stakeholders via email or chat.
  • Including in pull request descriptions or issue trackers.
  • Generating printable reports.

SARIF

The SARIF (Static Analysis Results Interchange Format) export produces a standard format recognized by GitHub Code Scanning, Visual Studio Code, and other SARIF-compatible tools.

{
  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json",
  "version": "2.1.0",
  "runs": [
    {
      "tool": {
        "driver": {
          "name": "Odin Scan",
          "version": "1.0.0"
        }
      },
      "results": [
        {
          "ruleId": "input-validation/unchecked-address",
          "level": "error",
          "message": {
            "text": "Unchecked Address Validation"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "src/contract.rs"
                },
                "region": {
                  "startLine": 142,
                  "endLine": 147
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

Use SARIF exports for:

  • Uploading to GitHub Code Scanning to surface findings directly in pull requests.
  • Importing into IDE extensions that support SARIF (e.g., the SARIF Viewer for VS Code).
  • Aggregating results from multiple security tools in a unified format.

API-Based Exports

You can retrieve analysis results programmatically via the API, which is useful for automation and CI/CD workflows:

# Fetch the full result (JSON format)
curl https://api.odinscan.ai/api/v1/analysis/ANALYSIS_ID/result \
  -H "Authorization: Bearer odin_sk_abc123..." \
  -o report.json

The API response includes all fields needed to construct any export format. The markdownReport field contains the pre-rendered Markdown version.

See the REST API Reference for full endpoint documentation.

Next Steps