Zum Inhalt springen
HodeiShield®

API, CLI und MCP: Ihre Risikodaten, nur lesend.

Eine öffentliche, versionierte REST-API unter api.hodeishield.com, eine Open-Source-CLI und ein gehosteter MCP-Server, der sie nutzt. Keine Entwicklerschnittstelle verändert die Daten Ihres Mandanten.

  • API-Schlüssel mit Scopes oder OAuth 2.1 mit PKCE.
  • CLI unter Apache-2.0 mit Sigstore-Signaturen und SLSA-Provenienz.
Ein Aufruf, von Anfang bis Ende
curl -H "Authorization: Bearer $HODEISHIELD_API_KEY" "https://api.hodeishield.com/v1/vendors?per_page=5"
Form der Antwort (nur Struktur, keine Daten)
{
  "data": [ … ],
  "pagination": {
    "page": 1, "per_page": 5,
    "total": …, "total_pages": …
  }
}

Fünf Schnittstellen, ein Vertrag

Alle lesen die Daten Ihres Mandanten. Keine schreibt.

hodeishield CLI

Linux x86_64 und arm64 · macOS universal · Windows x86_64

Der offizielle Kommandozeilen-Client für Terminals und Skripte.

  • Apache-2.0, Version 0.3.1 (0.x: Befehle und Ausgabe können sich noch ändern).
  • Jedes Release ist mit Sigstore signiert und trägt SLSA-Provenienz.
  • Support über 5 Jahre je Hauptversion, gezählt ab 1.0.0; das Supportende wird 12 Monate im Voraus angekündigt.
  • Die 0.x-Reihe erhält Sicherheitskorrekturen in ihrer neuesten Version; Sicherheitsupdates bleiben nach Ablauf eines Abonnements verfügbar.

Geltungsbereich: Nur lesend. Installation über Homebrew (macOS und Linux), über Scoop (Windows) oder aus dem Release-Archiv.

Gehosteter MCP-Server

https://mcp.hodeishield.com/mcp

Ihr KI-Assistent liest Ihre Daten über das MCP-Protokoll, ohne dass Sie etwas installieren müssen.

  • 11 schreibgeschützte Werkzeuge, eines je /v1-Operation.
  • OAuth 2.1 mit PKCE und Sitzungen für jeweils einen Mandanten.

Geltungsbereich: Es ändert nichts. Ergebnisse kommen in einer Hülle gegen Prompt-Injection.

Ausgehende Webhooks

Ihr HTTPS-Endpunkt erhält die Ereignisse des Mandanten gemäß Ihren Routing-Regeln, signiert mit HMAC-SHA256.

  • Eine Signatur mit Zeitstempel erlaubt es, Replays zu erkennen.
  • Bis zu sechs Zustellversuche (fünf Wiederholungen), wenn Sie nicht mit 2xx antworten.

Geltungsbereich: Es ist ein Ziel für Warnungen: Es benachrichtigt und führt nichts in HodeiShield aus.

API: Authentifizierung, Scopes und Operationen

Jeder Schlüssel gehört zu einem Mandanten und trägt nur die Lese-Scopes, die er braucht.

Wie die Authentifizierung funktioniert

Ein Administrator erstellt den Schlüssel in der Konsole, mit Name, Ablaufdatum und nur den nötigen Scopes. Das Token (hsk_…) wird einmal angezeigt. Um als bestimmte Person zu handeln, etwa über die CLI oder einen Assistenten, verwenden Sie OAuth 2.1 mit PKCE.

supply_risk:read
Lieferanten, Warnungen und Risiken
compliance.<framework>:read
Kontrollen und Sicherheitslage eines Rahmenwerks
evidence:read
Nachweise
endpoints:read
Rechner mit dem Agenten

Antworten und Fehler

Sammlungen akzeptieren page (ab 1) und per_page (1 bis 200, standardmäßig 50) und liefern data und pagination. Fehler verwenden stets dieselbe Hülle, mit einer request_id für den Support.

Ein erster Lesezugriff

curl -H "Authorization: Bearer $HODEISHIELD_API_KEY" "https://api.hodeishield.com/v1/vendors?per_page=5"

OpenAPI-Dokument (ohne Authentifizierung)

curl https://api.hodeishield.com/v1/openapi.json

Das unter /v1/openapi.json erzeugte Dokument ist die maßgebliche Quelle; nutzen Sie es, um typisierte Clients zu generieren.

Operationen

OperationAnfrageScope
LieferantenGET /v1/vendors · /v1/vendors/{id}supply_risk:read
WarnungenGET /v1/alerts · /v1/alerts/{id}supply_risk:read
RisikenGET /v1/risks · /v1/risks/{id}supply_risk:read
Compliance-KontrollenGET /v1/compliance/controls?framework=…compliance.<framework>:read
Sicherheitslage je RahmenwerkGET /v1/compliance/frameworks/{framework}compliance.<framework>:read
NachweiseGET /v1/evidence · /v1/evidence/{id}evidence:read
EndpointsGET /v1/endpointsendpoints:read
OpenAPI-DokumentGET /v1/openapi.jsonkeiner

CLI: installieren, prüfen und lesen

Installieren Sie sie mit Homebrew oder Scoop, oder laden Sie das Archiv für Ihre Plattform aus dem veröffentlichten Release herunter, prüfen Sie es und legen Sie es in Ihren PATH.

Installieren

Homebrew (macOS und Linux) und Scoop (Windows x86_64) installieren Version 0.3.1 aus öffentlichen Hodeitek-Repositories. Die Windows-Programmdatei ist mit Authenticode signiert; die für macOS noch nicht.

Homebrew (macOS und Linux)

brew install hodeitek/hodeishield/hodeishield

Homebrew, falls Sie den Tap bereits hinzugefügt haben

brew trust --formula hodeitek/hodeishield/hodeishield

Scoop (Windows)

scoop bucket add hodeishield https://github.com/Hodeitek/scoop-hodeishield; scoop install hodeishield

Download prüfen

Jedes Release veröffentlicht SHA256SUMS, ein Sigstore-Bundle je Archiv und die SLSA-Provenienz; seit Version 0.2.0 zusätzlich eine CycloneDX-SBOM je Archiv. Die Archive sind unter Linux und macOS .tar.gz und unter Windows .zip. Eine gültige cosign-Signatur belegt, dass die Datei vom Workflow release.yml des Repositorys gebaut wurde, ausgeführt für genau das erwartete Tag.

sha256sum --ignore-missing -c SHA256SUMS
cosign verify-blob hodeishield-0.3.1-x86_64-unknown-linux-musl.tar.gz --bundle hodeishield-0.3.1-x86_64-unknown-linux-musl.tar.gz.sigstore.json --certificate-identity https://github.com/Hodeitek/hodeishield-cli/.github/workflows/release.yml@refs/tags/v0.3.1 --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-github-workflow-trigger push

Plattformen

  • Linux x86_64 (musl)
  • Linux arm64 (musl)
  • macOS, Apple Silicon und Intel
  • Windows x86_64

Sie können auch aus dem Quellcode bauen, mit cargo install --locked und festgelegtem Release-Tag.

Verwenden

--json gibt den API-Body unverändert aus; --csv gibt Listen als CSV aus; --all durchläuft jede Seite. Die Exit-Codes reichen von 0 bis 8 und unterscheiden etwa zwischen fehlenden Zugangsdaten, fehlendem Scope, Ratenbegrenzung und einer nicht gültigen Lizenz des Mandanten.

Mit einem API-Schlüssel (Skripte, CI)

export HODEISHIELD_API_KEY=hsk_...

Als Person (Browser, 2FA, Passkey oder SSO)

hodeishield login
hodeishield whoami
hodeishield vendors list --criticality critical
hodeishield compliance posture nis2
hodeishield alerts list --status open --all --json | jq -r '.[] | [.severity, .title] | @tsv'

MCP: Ihren Assistenten verbinden

Ein gehosteter Server, nichts zu installieren. Der Assistent sieht, was Sie im gewählten Mandanten sehen würden, und nur mit den Scopes, die Sie gewähren.

Wie die Verbindung funktioniert

Fügen Sie in einem MCP-Client, der Remote-Server mit OAuth unterstützt, einen Konnektor mit dieser URL hinzu. Der Client findet den Autorisierungsserver selbstständig; Sie melden sich unter app.hodeishield.com mit Ihren gewohnten Faktoren an und wählen genau einen Mandanten.

URL des MCP-Servers

https://mcp.hodeishield.com/mcp

Elf schreibgeschützte Werkzeuge

  • list_vendors
  • get_vendor
  • list_alerts
  • get_alert
  • list_risks
  • get_risk
  • list_compliance_controls
  • get_framework_posture
  • list_evidence
  • get_evidence
  • list_endpoints

Keines akzeptiert eine Mandantenkennung als Parameter: Es gibt keine Möglichkeit, Daten eines anderen Mandanten anzufordern.

Sicherheitsmodell

  • Jedes Ergebnis kommt in einer Hülle, die es als Mandantendaten kennzeichnet, nie als Anweisung an den Assistenten.
  • Der Text in einem Lieferantendatensatz, einem Nachweis oder einer Notiz wurde von einer Person oder einem Dritten geschrieben. Ein Sprachmodell kann ihn als Befehl behandeln: Prüfen Sie jede daraus abgeleitete Aktion, die der Assistent vorschlägt, mit anderen Mitteln.
  • Das Protokoll hält fest, welches Werkzeug aufgerufen wurde und mit welchem technischen Ergebnis, nie die Argumente, die Ergebnisse oder Ihr Token.
  • Der Server wendet eine eigene Ratenbegrenzung pro Nutzer an.

HMAC-signierte Webhooks

Prüfen Sie stets die Signatur, bevor Sie den Body verarbeiten, und weisen Sie alte Zeitstempel zurück.

Header bei jeder Zustellung

X-HodeiShield-Timestamp
Zeitstempel in Sekunden; bei jedem Versuch verschieden.
X-HodeiShield-Signature-256
sha256= plus der HMAC-SHA256 von "{timestamp}.{body}" mit dem Geheimnis.
X-HodeiShield-Delivery
Bei allen Wiederholungen einer Zustellung identisch; nutzen Sie ihn zur Deduplizierung.
X-HodeiShield-Event
Ereignistyp.

Das Geheimnis (whsec_…) wird einmal beim Erstellen des Webhooks angezeigt; wenn Sie es verlieren, rotieren Sie es. Antwortet Ihr Endpunkt nicht mit 2xx, wird die Zustellung insgesamt bis zu sechsmal versucht (fünf Wiederholungen im Abstand von 5 Minuten bis zu 24 Stunden); sind die Versuche erschöpft, wird die Zustellung in der Konsole als fehlgeschlagen markiert, und Sie können sie erneut einreihen.

Prüfung (Python)

import hashlib
import hmac

def is_valid(secret: str, timestamp: str, body: bytes, received_signature: str) -> bool:
    message = f"{timestamp}.".encode() + body
    expected = "sha256=" + hmac.new(secret.encode(), message, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, received_signature)

Eine Attestierung offline prüfen

Der Verifizierer ist ein Bash- und Python-Skript, das Sie vollständig lesen können. Bei der Prüfung ruft er HodeiShield nicht auf.

Geltungsbereich: Sie belegt Integrität, Herkunft und Zeitpunkt des Signierten. Sie belegt nicht, dass die Aussagen wahr sind, ersetzt kein Audit, und es gibt kein Transparenzprotokoll. Übergeben Sie stets --expect-slug und --expect-issuer: Ohne sie wird auch eine gültige Attestierung einer anderen Organisation erfolgreich geprüft. Der Exit-Code ist 0, wenn die Prüfung gelingt, 1, wenn sie fehlschlägt, und 2, wenn sie nicht durchgeführt werden konnte. Ein echtes, aber abgelaufenes Dokument endet mit Exit-Code 1, und seine letzte Zeile beginnt mit "EXPIRED — the signature is valid".

Voraussetzungen: bash 4, OpenSSL 3.5 oder neuer und python3. Fehlen sie auf Ihrem Rechner (macOS, Windows oder Ubuntu 24.04), dokumentiert das Repository des Verifizierers, wie Sie dasselbe Skript in einem Container mit Docker oder Podman ausführen; dieser Weg installiert OpenSSL und python3 beim Start und benötigt daher Netzwerkzugriff.

curl -s https://app.hodeishield.com/api/public/attest/keys -o keys.json
./verify-attestation.sh --attestation attestation.json --jwks keys.json --expect-slug SLUG --expect-issuer https://app.hodeishield.com

Was diese Schnittstellen nicht tun

Damit Sie es nicht erst bei der Integration merken.

  1. Sie schreiben nicht

    API, CLI und MCP sind schreibgeschützt. Um auf den Mandanten einzuwirken, nutzen Sie die Konsole, und ACT läuft immer über eine Person.

  2. Die CLI ist 0.x

    Befehle und Ausgabe können sich vor 1.0 ändern. Legen Sie die Version in Ihren Skripten fest.

  3. MCP hängt von Ihrem Client ab

    Der Server kann nicht steuern, was Ihr Client mit den Ergebnissen macht. Behandeln Sie darin enthaltene Texte Dritter als nicht vertrauenswürdig.

  4. Der Zugang hängt von Lizenz und Mandant ab

    Die Verfügbarkeit von API und MCP hängt von Ihrer Lizenz ab und wird je Mandant bestätigt; wir besprechen sie in der Demo.

  5. Keine Leistungszahlen

    Wir veröffentlichen auf dieser Website weder SLA noch Antwortzeiten noch API-Verfügbarkeit.

  6. Die Daten sind nicht in Echtzeit

    Die API liefert, was die Plattform bereits erfasst hat: Der Agent meldet zyklisch, und Scans erfolgen periodisch.

Fragen zur Integration

Was ein technisches Team üblicherweise vor dem Start fragt.

Kann ich mit der API Daten schreiben?

Nein. Die /v1-API ist schreibgeschützt: Jede andere Methode als GET liefert 405. CLI und MCP-Server nutzen sie, schreiben also ebenfalls nicht.

Wie authentifiziere ich ein Skript oder eine CI-Pipeline?

Mit einem API-Schlüssel des Mandanten (hsk_…), den ein Administrator mit nur den nötigen Lese-Scopes erstellt. In der CLI genügt es, HODEISHIELD_API_KEY zu exportieren.

Woher weiß ich, dass die heruntergeladene CLI die offizielle ist?

Jedes Release veröffentlicht SHA256SUMS, Sigstore-Bundles und SLSA-Provenienz. Prüfen Sie mit cosign, dass das Archiv vom Workflow release.yml des Repositorys für genau das Tag gebaut wurde.

Was sieht mein Assistent über den MCP-Server?

Was Sie in dem einen Mandanten sehen würden, den Sie bei der Zugriffsfreigabe wählen, und nur mit den Scopes, die Sie gewähren. Kein Werkzeug akzeptiert eine Mandantenkennung.

Kann ich eine Attestierung ohne Konto prüfen?

Ja. Laden Sie den öffentlichen Schlüssel von /api/public/attest/keys herunter und führen Sie den Open-Source-Verifizierer aus. Er arbeitet offline mit bash 4, OpenSSL 3.5 und python3 oder in einem Container mit Docker oder Podman.

Binden Sie HodeiShield in Ihre bestehende Landschaft ein

In der Demo besprechen wir, was Sie über API, CLI oder MCP lesen sollten und wie es zu Ihren Warnungen und Pipelines passt.

Ein Arbeitsgespräch, unverbindlich.