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:
- zda stažený ZIP souhlasí s
archive.digestvPLUGIN-RELEASE.json; - 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
- stáhne descriptor přes HTTPS;
- vyžaduje podporovanou
schema_versionaregistry_state: AVAILABLE; - vyhledá požadovaný skill podle stabilního ID;
- sestaví pouze jeho deklarovanou dependency closure;
- stáhne soubory do odděleného stagingu;
- ověří SHA-256 každého souboru i stromový digest balíčků;
- ověří přenosný profil skillu a bezpečnost relativních cest;
- vytvoří resolution lock s původem, cestami a digesty;
- 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
| Hrozba | Ochrana | Reakce obsluhy |
|---|---|---|
| podvržený soubor | HTTPS, souborový a stromový digest | balíček nepoužít |
| smíšený release | closure z jednoho descriptoru, staging, lock | nic ručně nekopírovat |
| přepsání cizího skillu | conflict refusal | zjistit vlastníka konfliktu |
| přerušený update | previous/failed stav a rollback | ověřit a vrátit se |
| prompt injection v referenci | žádné execution při resolve/install | obsah nebrat jako příkaz |
| únik dat ve webu | P0 bez repository a tools | vložit jen anonymizovaný výřez |
| přehnaná jistota | maturity a evidence boundary | pož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.