Skip to content

Eksportowanie wyników

Wyniki skanów można pobierać bezpośrednio z aplikacji, eksportować jako CSV lub pobierać programowo przez REST API.

Pobieranie ze strony szczegółów skanu

Każdy zakończony skan ma przycisk Download w nagłówku strony szczegółów skanu. Kliknij go, aby pobrać pełny raport z tego skanu.

Eksport CSV ze strony Scans

Aby wyeksportować CSV obejmujący historię skanów:

  1. Przejdź do sekcji Scans w panelu bocznym
  2. Kliknij Export CSV w prawym górnym rogu nagłówka strony (widoczny, gdy masz co najmniej jeden zakończony skan)

Plik CSV zawiera jeden wiersz na kontrolę z kolumnami:

KolumnaOpis
idIdentyfikator kontroli
titleTytuł kontroli
resultPassed, Failed lub Skipped
severityCritical, High, Medium lub Low
frameworkCIS, EIDSCA, CISA lub other
helpUrlLink referencyjny
remediationStepsWskazówki naprawcze
rawOutputSurowa wartość wykryta w tenancie

Pliki CSV są kodowane jako UTF-8.

Eksport przez API

Wyniki można pobierać programowo za pomocą REST API. Umożliwia to automatyczne raportowanie, integrację z systemami zgłoszeniowymi lub zasilanie danych do SIEM. Dostęp do API jest dostępny w planach Enterprise.

Pobranie wszystkich wyników skanu

bash
curl https://api.aether365.io/scans/{scanId}/results \
  -H "Authorization: Bearer <api-key>"

Zwraca stronicowaną listę wszystkich wyników kontroli. Pełną dokumentację znajdziesz w sekcji API wyników.

Filtrowanie według statusu

bash
curl "https://api.aether365.io/scans/{scanId}/results?result=Failed" \
  -H "Authorization: Bearer <api-key>"

Filtrowanie według ważności

bash
curl "https://api.aether365.io/scans/{scanId}/results?severity=Critical" \
  -H "Authorization: Bearer <api-key>"

Przykład w Python: eksport wszystkich niespełnionych kontroli do 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")

Przykład w PowerShell: pobranie wszystkich krytycznych błędów

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"

Automatyczne raportowanie

Możesz połączyć API z istniejącymi narzędziami, aby generować automatyczne raporty po każdym skanie:

  • Webhook do skryptu - skonfiguruj powiadomienie Teams lub e-mail jako wyzwalacz, a następnie wywołaj API, aby pobrać najnowsze wyniki
  • Zaplanowany skrypt - uruchamiaj skrypt cyklicznie, który pobiera najnowsze wyniki i generuje raport
  • Integracja z pipeline CI/CD - pobieraj wyniki po skanie jako element kroku weryfikacji zgodności

Więcej przykładów znajdziesz w sekcji Integracje.

Czy ta strona była pomocna?