Přejít na obsah
Skip to main content

Registry, integrita a bezpečnost

Aktuální OpenAI full-registry release

Vedle kanonického registry descriptoru je publikován stabilní OpenAI adapter prefix registries/xds/adapters/openai/flexideo-xds/. Jeho PLUGIN-RELEASE.json uvádí digest archivu, marketplace metadata, provenance adapteru i digest zdrojového registry. Release je P0 read-only a jeho scope je full-registry: zahrnuje všechny schopnosti, které aktuální registry pro tento profil deklaruje, nikoli pouze úvodní skill.

Kontrola integrity má dvě oddělené otázky:

  1. zda stažený ZIP souhlasí s archive.digest v PLUGIN-RELEASE.json;
  2. zda release odkazuje na očekávaný obsah registru přes source_registry.digest.

ADAPTER-PROVENANCE.json uvnitř archivu je doklad, z jakého ověřeného resolution locku balíček vznikl. Digest není název cloudové složky ani příkaz k automatické aktualizaci. Aktualizace je vědomá administrátorská operace a po ní následuje hostitelský smoke test.

Tato kapitola je určena správcům pilotu a technickým integrátorům. Běžný uživatel nemusí pracovat s registry přímo; stačí mu vědět, že nápis „skill je nainstalovaný“ není důkazem jeho původu. Důkazem je úspěšné ověření obsahu a instalační lock.

Co je registry

Registry je katalog právě publikovaného a validovaného stavu XDS authoringu. Kanonický descriptor je registry.json. Descriptor ve verzi schematu 2 popisuje skills, reference, contracts, volitelné nástroje a další assets, jejich cesty, závislosti, zralost a SHA-256 otisky.

Stabilní topologie

/registries/xds/
├── registry.json
├── skills/<skill-id>/...
├── references/<reference-id>/...
├── tools/<tool-id>/...
├── contracts/<asset-id>/...
├── tests/<asset-id>/...
├── metadata/<asset-id>/...
└── workflows/<asset-id>/...

registry.json je jediný discovery vstup. Cloud nevytváří release archivy: GitHub Product repository drží historii a rollback, R2 pouze aktuální ověřený stav na stabilních URL. Při vydání se nejprve publikují obsahové soubory a descriptor až jako poslední.

Co přesně dělá resolver

  1. stáhne descriptor přes HTTPS;
  2. vyžaduje podporovanou schema_version a registry_state: AVAILABLE;
  3. vyhledá požadovaný skill podle stabilního ID;
  4. sestaví pouze jeho deklarovanou dependency closure;
  5. stáhne soubory do odděleného stagingu;
  6. ověří SHA-256 každého souboru i stromový digest balíčků;
  7. ověří přenosný profil skillu a bezpečnost relativních cest;
  8. vytvoří resolution lock s původem, cestami a digesty;
  9. teprve po úspěchu materializuje balíčky do spravovaného cíle.

U publikovaného UTF-8 textu se používá kanonická podoba s konci řádků LF; binární a jiné soubory zůstávají byte-exact. Díky tomu má tentýž obsah stejný digest na Windows, Linuxu i macOS. Klient vždy ověřuje skutečně stažené bajty proti descriptoru.

Dependency closure a lock

Skill obvykle není jediný soubor. Closure je přesný seznam potřebných skills, referencí, contracts a assets. Instalátor nesmí svévolně přidat celý katalog ani vynechat deklarovanou položku. Tím zůstanou funkční relativní odkazy a lze doložit, co agent používal.

Resolution lock obsahuje identitu a URL registry, requested skill, release provenance, cesty, digesty a host-target metadata. Neobsahuje credentials ani klientská data. Umožňuje offline verify, audit, update a bezpečný rollback.

Ověření obsahu

Pro každý files.<relative-path> stáhněte přesně deklarované bajty a porovnejte SHA-256. Poté ověřte stromový digest balíčku. Při nesouladu nepoužívejte žádný soubor, nic z cache nespouštějte a načtěte descriptor znovu.

Resolver odmítá .., absolutní Unix cestu, UNC cestu i absolutní Windows cestu typu C:\..., a to nezávisle na systému, na kterém běží. Nemůže tak zapsat distribuovaný soubor mimo spravovaný instalační prostor.

Hrozby a ochrany

HrozbaOchranaReakce obsluhy
podvržený souborHTTPS, souborový a stromový digestbalíček nepoužít
smíšený releaseclosure z jednoho descriptoru, staging, locknic ručně nekopírovat
přepsání cizího skilluconflict refusalzjistit vlastníka konfliktu
přerušený updateprevious/failed stav a rollbackověřit a vrátit se
prompt injection v referencižádné execution při resolve/installobsah nebrat jako příkaz
únik dat ve webuP0 bez repository a toolsvložit jen anonymizovaný výřez
přehnaná jistotamaturity a evidence boundarypožadovat skutečnou úroveň ověření

Execution hranice

Resolve je pouze stahování a ověřování. Tool balíčky mají execution: requires-explicit-confirmation a tool_execution: not-allowed-by-resolve. Před spuštěním přečtěte dokumentaci toolu, určete vstupy, výstupy a mutace, ověřte digest a vyžádejte samostatný souhlas operátora.

read-only rozbor → návrh → zvlášť schválená validace → zvlášť schválený build/replikace

Do registry, locku ani acceptance evidence nepatří obsah zákaznických souborů, konverzace, tokeny nebo přístupové údaje. Praktický instalační postup je v Instalaci a aktualizacích.