FORMATS D’EXPORT

Téléchargez et intégrez les résultats de scan dans vos outils de sécurité et workflows de conformité.

FORMATS DISPONIBLES

FormatExtensionContent-TypePlan
JSON.jsonapplication/jsonTOUS LES PLANS
YAML.yamlapplication/x-yamlTOUS LES PLANS
CSV.csvtext/csvTOUS LES PLANS
PDF.pdfapplication/pdfTOUS LES PLANS
SARIF.sarifapplication/sarif+jsonENTERPRISE

ENDPOINT API

GET/api/scans/:id/export?format=json|yaml
curl https://wardek.io/api/scans/scan_abc123/export?format=json \
  -H "Authorization: Bearer ssk_live_..." \
  -o report.json

EXPORT JSON

Données complètes du scan en JSON structuré. Idéal pour le traitement programmatique, les tableaux de bord et l’intégration avec les outils de gestion des informations et événements de sécurité (SIEM).

scan-report.json
{
  "id": "scan_abc123def456",
  "url": "https://example.com",
  "score": 87,
  "grade": "B+",
  "createdAt": "2026-03-14T10:30:00Z",
  "duration": 12340,
  "results": [
    {
      "name": "headers",
      "score": 82,
      "weight": 12,
      "findings": [
        {
          "severity": "medium",
          "title": "Missing Content-Security-Policy",
          "description": "No CSP header detected.",
          "recommendation": "Add a strict CSP header."
        }
      ]
    },
    {
      "name": "ssl",
      "score": 100,
      "weight": 11,
      "findings": []
    }
  ]
}

EXPORT YAML

Même structure de données que JSON, sérialisée en YAML pour une meilleure lisibilité humaine. Utile pour les workflows configuration-as-code et la documentation.

scan-report.yaml
id: scan_abc123def456
url: https://example.com
score: 87
grade: "B+"
createdAt: "2026-03-14T10:30:00Z"
duration: 12340
results:
  - name: headers
    score: 82
    weight: 12
    findings:
      - severity: medium
        title: Missing Content-Security-Policy
        description: No CSP header detected.
        recommendation: Add a strict CSP header.
  - name: ssl
    score: 100
    weight: 11
    findings: []

EXPORT PDF

Endpoint API bientôt disponible — Disponible dans le tableau de bord

Rapport PDF professionnel avec mise en page de marque, résumé exécutif, résultats détaillés et recommandations de remédiation. Actuellement disponible via le bouton de téléchargement du tableau de bord.

Les rapports PDF incluent le branding WarDek, l’horodatage du scan, la ventilation par module et une liste priorisée d’actions de remédiation.

EXPORT SARIF

ENTERPRISE

Static Analysis Results Interchange Format (SARIF v2.1.0). Standard industriel pour les résultats d’analyse de sécurité. S’intègre directement avec GitHub Code Scanning, Azure DevOps et d’autres plateformes de sécurité.

wardek-results.sarif
{
  "$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": "WarDek",
          "version": "1.0.0",
          "informationUri": "https://wardek.io"
        }
      },
      "results": [
        {
          "ruleId": "headers/missing-csp",
          "level": "warning",
          "message": {
            "text": "Missing Content-Security-Policy header"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "https://example.com"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}
Uploadez les résultats SARIF vers GitHub Code Scanning avec l’action github/codeql-action/upload-sarif. Les résultats apparaîtront comme alertes de sécurité sur votre dépôt.

SCHÉMA DES RÉSULTATS DE SCAN

Tous les formats d’export suivent le même modèle de données. Voici les interfaces TypeScript clés :

interface ScanResult {
  id: string;              // Unique scan identifier
  url: string;             // Scanned URL
  score: number;           // 0-100 weighted security score
  grade: string;           // A, B+, B, C, D, F
  createdAt: string;       // ISO 8601 timestamp
  duration: number;        // Scan duration in ms
  results: ScanModule[];   // Per-module breakdown
}

interface ScanModule {
  name: string;            // Module identifier (headers, ssl, cors...)
  score: number;           // 0-100 module score
  weight: number;          // Weight in final score calculation
  findings: Finding[];     // Detected issues
}

interface Finding {
  severity: "critical" | "high" | "medium" | "low" | "info";
  title: string;           // Short description
  description: string;     // Detailed explanation
  recommendation: string;  // How to fix
}