Esportare i risultati
I risultati delle scansioni possono essere scaricati direttamente dall'app, esportati come CSV o recuperati in modo programmatico tramite la REST API.
Download dalla pagina dei dettagli
Ogni scansione completata ha un pulsante Scarica nell'intestazione della pagina dei dettagli della scansione. Cliccalo per scaricare un report completo della scansione.
Esportazione CSV dalla pagina Scansioni
Per esportare un CSV della cronologia delle scansioni:
- Vai su Scansioni nella barra laterale
- Clicca su Esporta CSV in alto a destra nell'intestazione della pagina (visibile quando hai almeno una scansione completata)
Il file CSV contiene una riga per controllo con le colonne:
| Colonna | Descrizione |
|---|---|
id | Identificativo del controllo |
title | Titolo del controllo |
result | Passed, Failed o Skipped |
severity | Critical, High, Medium o Low |
framework | CIS, EIDSCA, CISA o altro |
helpUrl | Link di riferimento |
remediationSteps | Istruzioni di correzione |
rawOutput | Valore grezzo rilevato nel tenant |
I file CSV sono codificati in UTF-8.
Esportazione via API
Puoi recuperare i risultati in modo programmatico usando la REST API. Questo consente reportistica automatizzata, integrazione con sistemi di ticketing o alimentazione dei risultati verso un SIEM. L'accesso API è disponibile nei piani Enterprise.
Ottenere tutti i risultati di una scansione
bash
curl https://api.aether365.io/scans/{scanId}/results \
-H "Authorization: Bearer <api-key>"Restituisce un elenco paginato di tutti i risultati dei controlli. Consulta API Results per la documentazione completa.
Filtrare per stato
bash
curl "https://api.aether365.io/scans/{scanId}/results?result=Failed" \
-H "Authorization: Bearer <api-key>"Filtrare per gravità
bash
curl "https://api.aether365.io/scans/{scanId}/results?severity=Critical" \
-H "Authorization: Bearer <api-key>"Esempio Python: esportare tutti i controlli non superati in CSV
python
import requests
import csv
API_KEY = "your-api-key"
SCAN_ID = "your-scan-id"
headers = {"Authorization": f"Bearer {API_KEY}"}
results = []
page = 1
while True:
resp = requests.get(
f"https://api.aether365.io/scans/{SCAN_ID}/results",
params={"result": "Failed", "page": page, "limit": 100},
headers=headers,
)
data = resp.json()
results.extend(data["data"])
if page >= data["meta"]["totalPages"]:
break
page += 1
with open("failed_checks.csv", "w", newline="") as f:
writer = csv.DictWriter(
f, fieldnames=["id", "title", "severity", "framework", "remediationSteps"]
)
writer.writeheader()
writer.writerows(results)
print(f"Exported {len(results)} failed checks")Esempio PowerShell: ottenere tutti gli errori critici
powershell
$headers = @{ Authorization = "Bearer $env:AETHER365_API_KEY" }
$scanId = "your-scan-id"
$page = 1
$results = @()
do {
$response = Invoke-RestMethod `
-Uri "https://api.aether365.io/scans/$scanId/results?result=Failed&severity=Critical&page=$page&limit=100" `
-Headers $headers
$results += $response.data
$page++
} while ($page -le $response.meta.totalPages)
$results | Export-Csv -Path "critical_failures.csv" -NoTypeInformation
Write-Host "Exported $($results.Count) critical failures"Reportistica automatizzata
Puoi combinare l'API con i tuoi strumenti esistenti per produrre report automatizzati dopo ogni scansione:
- Webhook verso script - configura una notifica Teams o email come trigger, poi richiama l'API per i risultati dell'ultima scansione
- Script pianificato - esegui uno script a cadenza regolare che recupera gli ultimi risultati e genera un report
- Integrazione con pipeline CI/CD - recupera i risultati dopo una scansione come parte di un passaggio di verifica della conformità
Consulta Integrazioni per ulteriori esempi.