Joan edukira
HodeiShield®

API, CLI eta MCP: zure arrisku-datuak, irakurketa soilez.

REST API publiko eta bertsionatu bat api.hodeishield.com helbidean, kode irekiko CLI bat eta hura kontsumitzen duen MCP zerbitzari ostatatu bat. Garatzaileentzako gainazal batek ere ez ditu zure maizterraren datuak aldatzen.

  • Scopedun API gakoak edo OAuth 2.1 PKCErekin.
  • Apache-2.0 CLIa, Sigstore sinadurarekin eta SLSA jatorriarekin.
Dei bat, muturretik muturrera
curl -H "Authorization: Bearer $HODEISHIELD_API_KEY" "https://api.hodeishield.com/v1/vendors?per_page=5"
Erantzunaren forma (egitura, daturik gabe)
{
  "data": [ … ],
  "pagination": {
    "page": 1, "per_page": 5,
    "total": …, "total_pages": …
  }
}

Bost gainazal, kontratu bera

Guztiek zure maizterraren datuak irakurtzen dituzte. Batek ere ez du idazten.

hodeishield CLIa

Linux x86_64 eta arm64 · macOS unibertsala · Windows x86_64

Komando-lerroko bezero ofiziala, terminalerako eta scriptetarako.

  • Apache-2.0, 0.3.1 bertsioa (0.x: komandoak eta irteera alda daitezke).
  • Bertsio bakoitza Sigstorerekin eta SLSA jatorriarekin sinatuta dago.
  • 5 urteko euskarria bertsio nagusi bakoitzeko, 1.0.0 bertsiotik kontatuta; euskarriaren amaiera 12 hilabete lehenago iragartzen da.
  • 0.x seriak segurtasun-zuzenketak jasotzen ditu bere azken bertsioan; segurtasun-eguneratzeak eskuragarri jarraitzen dute harpidetza iraungi ondoren.

Irismena: Irakurketa soilik. Homebrewrekin (macOS eta Linux), Scooprekin (Windows) edo bertsioaren fitxategitik instalatzen da.

MCP zerbitzari ostatatua

https://mcp.hodeishield.com/mcp

Zure AA laguntzaileak zure datuak MCP protokoloaren bidez irakurtzen ditu, ezer instalatu gabe.

  • Irakurketa soileko 11 tresna, /v1eko eragiketa bakoitzeko bat.
  • OAuth 2.1 PKCErekin eta maizter bakarreko saioak.

Irismena: Ez du ezer aldatzen. Emaitzak prompt-injekzioen aurkako bilgarri batean doaz.

Irteerako webhookak

Zure HTTPS endpointak maizterraren gertaerak jasotzen ditu zure bideratze-arauen arabera, HMAC-SHA256rekin sinatuta.

  • Denbora-zigiludun sinadura, errepikapenak detektatzeko.
  • Gehienez sei bidalketa-saiakera (bost berriz saiatze) 2xx erantzuten ez baduzu.

Irismena: Alerta-helmuga bat da: jakinarazi egiten du, ez du ezer exekutatzen HodeiShield-en.

APIa: autentifikazioa, scopeak eta eragiketak

Gako bakoitza maizter bati dagokio eta behar dituen irakurketa-scopeak soilik ditu.

Nola autentifikatzen den

Administratzaile batek gakoa kontsolan sortzen du, izen batekin, iraungitze-data batekin eta beharrezko scopeak soilik emanda. Tokena (hsk_…) behin bakarrik erakusten da. Pertsona zehatz gisa jarduteko, adibidez CLItik edo laguntzaile batetik, OAuth 2.1 erabiltzen da PKCErekin.

supply_risk:read
Hornitzaileak, alertak eta arriskuak
compliance.<framework>:read
Esparru zehatz baten kontrolak eta egoera
evidence:read
Ebidentzia
endpoints:read
Agentea duten ekipoak

Erantzuna eta erroreak

Bildumek page (1etik aurrera) eta per_page (1etik 200era, lehenespenez 50) onartzen dituzte eta data eta pagination itzultzen dituzte. Erroreek beti bilgarri bera dute, euskarrirako request_id batekin.

Lehen irakurketa

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

OpenAPI dokumentua (autentifikaziorik gabe)

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

/v1/openapi.json helbidean sortutako dokumentua da iturri baimenduna; bezero tipatuak sortzeko balio du.

Eragiketak

EragiketaEskaeraScope
HornitzaileakGET /v1/vendors · /v1/vendors/{id}supply_risk:read
AlertakGET /v1/alerts · /v1/alerts/{id}supply_risk:read
ArriskuakGET /v1/risks · /v1/risks/{id}supply_risk:read
Betetze-kontrolakGET /v1/compliance/controls?framework=…compliance.<framework>:read
Esparru baten egoeraGET /v1/compliance/frameworks/{framework}compliance.<framework>:read
EbidentziaGET /v1/evidence · /v1/evidence/{id}evidence:read
EndpointakGET /v1/endpointsendpoints:read
OpenAPI dokumentuaGET /v1/openapi.jsonbat ere ez

CLIa: instalatu, egiaztatu eta irakurri

Instalatu Homebrewrekin edo Scooprekin, edo deskargatu zure plataformaren fitxategia argitaratutako bertsiotik, egiaztatu eta jarri zure PATHean.

Instalatu

Homebrewk (macOS eta Linux) eta Scoopek (Windows x86_64) 0.3.1 bertsioa instalatzen dute Hodeitek-en biltegi publikoetatik. Windowseko exekutagarria Authenticode bidez sinatuta dago; macOSekoa oraindik ez.

Homebrew (macOS eta Linux)

brew install hodeitek/hodeishield/hodeishield

Homebrew, tap-a lehendik gehituta baduzu

brew trust --formula hodeitek/hodeishield/hodeishield

Scoop (Windows)

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

Egiaztatu deskarga

Bertsio bakoitzak SHA256SUMS, fitxategi bakoitzeko Sigstore pakete bat eta SLSA jatorria argitaratzen ditu; 0.2.0 bertsiotik aurrera, fitxategi bakoitzeko CycloneDX SBOM bat ere argitaratzen du. Fitxategiak .tar.gz dira Linuxen eta macOSen, eta .zip Windowsen. Cosign sinadura baliozko batek frogatzen du fitxategia biltegiko release.yml workflowak eraiki duela, zuk espero duzun tag zehatzak abiarazita.

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

Plataformak

  • Linux x86_64 (musl)
  • Linux arm64 (musl)
  • macOS, Apple silicon eta Intel
  • Windows x86_64

Iturburu-kodetik ere konpila daiteke cargo install --locked erabilita, bertsioaren tag-a finkatuta.

Erabili

--json-ekin APIaren erantzuna ukitu gabe inprimatzen du; --csv-rekin zerrendak CSV gisa ateratzen ditu; --all-ekin orri guztiak zeharkatzen ditu. Irteera-kodeak 0tik 8ra doaz eta bereizten dituzte, adibidez, kredentzialik eza, scope nahikorik eza, erabilera-muga edo maizterraren lizentzia indarrean ez egotea.

API gako batekin (scriptak, CI)

export HODEISHIELD_API_KEY=hsk_...

Pertsona gisa (nabigatzailea, 2FA, passkey edo 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: konektatu zure laguntzailea

Zerbitzari ostatatua, instalaziorik gabe. Laguntzaileak zuk aukeratzen duzun maizterrean zuk ikusiko zenukeen gauza bera ikusten du, eta emandako scopeekin soilik.

Nola konektatzen den

Urruneko zerbitzariak eta OAuth onartzen dituen MCP bezero batean, gehitu konektore bat URL honekin. Bezeroak berak aurkitzen du baimen-zerbitzaria; zuk app.hodeishield.com helbidean hasten duzu saioa ohiko faktoreekin eta maizter bakarra aukeratzen duzu.

MCP zerbitzariaren URLa

https://mcp.hodeishield.com/mcp

Irakurketa soileko hamaika tresna

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

Batek ere ez du maizter-identifikatzailerik onartzen parametro gisa: ez dago beste batenak eskatzeko modurik.

Segurtasun-eredua

  • Emaitza bakoitza bilgarri batean doa, maizterraren datu gisa markatzen duena, inoiz ez laguntzailearentzako agindu gisa.
  • Hornitzaile baten, ebidentzia baten edo ohar baten testua pertsona batek edo hirugarren batek idatzi zuen. Hizkuntza-eredu batek agindutzat har dezake: berrikusi beste tresna batzuekin laguntzaileak hortik abiatuta proposatzen duen edozein ekintza.
  • Erregistroak zein tresnari deitu zaion eta haren emaitza teknikoa gordetzen ditu, inoiz ez argumentuak, emaitzak edo zure tokena.
  • Zerbitzariak erabiltzaile bakoitzeko bere erabilera-muga aplikatzen du.

HMACrekin sinatutako webhookak

Egiaztatu beti sinadura gorputza prozesatu aurretik, eta baztertu denbora-zigilu zaharrak.

Bidalketa bakoitzaren goiburuak

X-HodeiShield-Timestamp
Denbora-zigilua segundotan; saiakera bakoitzean aldatzen da.
X-HodeiShield-Signature-256
sha256= gehi sekretuaren HMAC-SHA256 "{timestamp}.{body}" gainean.
X-HodeiShield-Delivery
Bidalketa baten berriz saiatze guztietan bera da; bikoiztuak kentzeko balio du.
X-HodeiShield-Event
Gertaera mota.

Sekretua (whsec_…) behin bakarrik erakusten da webhooka sortzean; galtzen baduzu, errotatu egiten da. Zure endpointak 2xx erantzuten ez badu, bidalketa gehienez sei aldiz saiatzen da guztira (bost berriz saiatze, 5 minututik 24 ordura bitarteko itxaronaldiarekin); saiakerak agortuta, bidalketa kontsolan huts egin duela markatzen da eta berriro ilaran jar dezakezu.

Egiaztapena (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)

Egiaztatu egiaztagiri bat konexiorik gabe

Egiaztatzailea bash eta Python scripta bat da, osorik irakur dezakezuna. Ez dio HodeiShield-i deitzen egiaztatzen ari den unean.

Irismena: Sinatutakoaren osotasuna, jatorria eta unea frogatzen ditu. Ez du frogatzen baieztapenak egiazkoak direnik, ez du auditoretza ordezkatzen eta ez dago gardentasun-erregistrorik. Pasatu beti --expect-slug eta --expect-issuer: haiek gabe, beste erakunde baten egiaztagiri baliozkoak ere egiaztatzen dira. Irteera-kodea 0 da egiaztatzen bada, 1 huts egiten badu eta 2 egiaztatu ezin izan bada. Dokumentu autentikoa baina iraungia 1ekin ateratzen da, eta bere azken lerroa «EXPIRED — the signature is valid» testuarekin hasten da.

Baldintzak: bash 4, OpenSSL 3.5 edo berriagoa eta python3. Zure makinak ez baditu (macOS, Windows edo Ubuntu 24.04), egiaztatzailearen biltegiak dokumentatzen du nola exekutatu script bera Docker edo Podman duen edukiontzi batean; ibilbide horrek OpenSSL eta python3 instalatzen ditu abiaraztean, beraz sarea behar du.

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

Gainazal hauek egiten ez dutena

Integratzean aurkitu ez dezazun.

  1. Ez dute idazten

    API, CLI eta MCP irakurketa soilekoak dira. Maizterrean jarduteko kontsola erabiltzen da, eta ACT beti pertsona batetik pasatzen da.

  2. CLIa 0.x da

    Komandoak eta irteera alda daitezke 1.0 baino lehen. Finkatu bertsioa zure scriptetan.

  3. MCP zure bezeroaren araberakoa da

    Zerbitzariak ez du kontrolatzen zure bezeroak emaitzekin zer egiten duen. Tratatu fidagaitz gisa emaitzek dituzten hirugarrenen testuak.

  4. Sarbidea lizentziaren eta maizterraren arabera

    APIaren eta MCPren erabilgarritasuna zure lizentziaren araberakoa da eta maizter bakoitzeko berresten da; demoan ikusten dugu.

  5. Errendimendu-zifrarik ez

    Ez dugu web honetan SLArik, erantzun-denborarik ez APIaren erabilgarritasunik argitaratzen.

  6. Datuak ez dira denbora errealekoak

    APIak plataformak dagoeneko bildu duena itzultzen du: agenteak zikloka jakinarazten du eta eskaneoak aldizkakoak dira.

Integrazio-galderak

Talde tekniko batek hasi aurretik galdetu ohi duena.

Datuak idatz ditzaket APIarekin?

Ez. /v1 APIa irakurketa soilekoa da: GET ez den edozein metodok 405 itzultzen du. CLIak eta MCPk erabiltzen dute, beraz haiek ere ez dute idazten.

Nola autentifikatzen dut script bat edo CI pipeline bat?

Administratzaile batek sortutako maizterraren API gako batekin (hsk_…), beharrezko irakurketa-scopeak soilik emanda. CLIan nahikoa da HODEISHIELD_API_KEY esportatzea.

Nola jakin deskargatzen dudan CLIa ofiziala dela?

Bertsio bakoitzak SHA256SUMS, Sigstore paketeak eta SLSA jatorria argitaratzen ditu. Egiaztatu cosignekin fitxategia biltegiko release.yml workflowak eraiki duela tag zehatzerako.

Zer ikusten du nire laguntzaileak MCPren bidez?

Sarbidea ematean aukeratzen duzun maizter bakarrean zuk ikusiko zenukeen gauza bera, eta ematen dituzun scopeekin soilik. Batek ere ez du maizter-identifikatzailerik onartzen.

Egiaztagiri bat egiazta dezaket konturik izan gabe?

Bai. /api/public/attest/keys helbidetik gako publikoa deskargatzen duzu eta kode irekiko egiaztatzailea exekutatzen duzu. Konexiorik gabe funtzionatzen du bash 4, OpenSSL 3.5 eta python3rekin, edo Docker edo Podman duen edukiontzi batean.

Integratu HodeiShield dagoeneko duzunarekin

Demoan ikusten dugu zer irakurri APIz, CLIz edo MCPz, eta nola uztartzen den zure alertekin eta zure pipelineekin.

Lan-elkarrizketa bat, konpromisorik gabe.