Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Objevený uzel nezíská žádné provádění ani oprávnění tím, že byl zaslechnut; stav meshe smí změnit jen podepsaný provoz od propojeného uzlu a důvěra označuje záznamy podle explicitní politiky, jejíž výchozí hodnota je deny_unknown

Objevení vytváří povědomí, ne autoritu. Být slyšet v síti, i s

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Jednotkové testy důvěry dokazují, že deny_unknown pozoruje, aniž by důvěřoval, sémantiku allowlist a TOFU a že změna klíče u známého id uzlu je odmítnuta; integrační test dokazuje, že padělaná obálka je započtené odmítnutí. Objevení stále nic neuděluje: být slyšen nebo důvěryhodný sám o sobě žádné spojení nepovoluje – spojení vyžaduje handshake z mesh-cooperation-links – a nic, co propojený peer pošle, nic nespouští; příkazy spolupráce zapisují deník tohoto runtime a u přijaté předávky jeden záznam do adresáře handovers tohoto checkoutu (ADR 0067).

Co to znamená

Objevení vytváří povědomí, ne autoritu. Být slyšet v síti — i s platným podpisem, i když mu politika důvěřuje — uzlu nedává nic: v tomto spustitelném souboru není žádné vzdálené provádění, které by mohl získat. Povrch HTTP, který uzel inzeruje, odpovídá na čtení každému, kdo se k němu dostane, bez ověření; každá schopnost, která něco mění — mimo jiné operace mesh (mesh.register, mesh.claim, operace předávky, posouzení a relace) — je vzdálenému volajícímu odmítnuta, pokud jeho vstup nepodepsal uzel propojený přes politiku důvěry a podepsaný handshake (ExecutionPolicy::admits_remote). Důvěra je explicitní, deklarovaná politika: deny_unknown (výchozí — platný neznámý uzel se zaznamená, je viditelný a nedůvěřuje se mu v ničem), allowlist (deklarované veřejné klíče), nebo tofu (vývojové pohodlí, které každý výpis jako takové označuje). Kdo později postaví vzdálené operace, musí přinést vlastní rozhodnutí o autorizaci; ADR 0050 vylučuje zdědit ji z objevování.

Princip

Politika je data na deklaraci mesh; vyhodnocení je jedna čistá funkce (apps/majordomus-cli/src/mesh/trust.rs), kterou manager volá po ověření podpisu a před registrem. Její jednotkové testy dokazují, že deny_unknown pozoruje bez důvěry, sémantiku allowlistu a TOFU a že id uzlu, které se objeví pod jiným klíčem, je odmítnuto bez ohledu na politiku — s id uzlů odvozenými z klíčů je podvržení identity problém držení klíče. Integrační test dokazuje, že padělaná obálka je započítané odmítnutí přes skutečný socket. Pravidlo project.mesh-is-observation-not-authority drží hranice a kontrola mesh-check vynucuje jeho strukturální polovinu.

Jak to vidět

majordomus mesh nodes --format json | jq '.nodes[].trust'   # every verdict, labelled
majordomus check --rule project.mesh-is-observation-not-authority
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib mesh::trust

deny_unknown_observes_and_never_trusts a a_key_change_under_one_node_id_is_rejected jsou pojmenované jednotkové důkazy; integrační test zaregistruje padělanou obálku a přečte odmítnutí.

Co nepokrývá

Neautentizuje čtení HTTP povrchu — ta jsou podle trvalého návrhu repozitáře neautentizovaná, ve výchozím stavu na loopbacku, a z sítě dosažitelná, když je server navázán dál. A neslibuje, že budoucí vzdálené operace budou bezpečné; slibuje, že nemohou zdědit autorizaci z discovery.

Proč existuje

Přítomnost, která se tiše stává oprávněním, je způsob, jak se objevování v LAN stává útočnou plochou. Pojmenování hranice jako blokujícího pravidla — a výchozí důvěra „nikdo“ — drží „kdo existuje“ a „kdo smí co dělat“ jako různé otázky s různými odpověďmi (ADR 0050).

Detail vykreslený z docs/claims/mesh-observation-not-authority.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Objevený uzel nezíská žádné provádění ani oprávnění tím, že byl zaslechnut; stav meshe smí změnit jen podepsaný provoz od propojeného uzlu a důvěra označuje záznamy podle explicitní politiky, jejíž výchozí hodnota je deny_unknown

    Vytvořeno na Mesh.

  2. 2 · kanonické tvrzení

    mesh-observation-not-authoritydeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v .ai/repo/rules/project/mesh-is-observation-not-authority.v1.md

  3. 3 · implementace

    apps/majordomus-cli/src/mesh/trust.rs

  4. 4 · test a scénáře

    Test: apps/majordomus-cli/tests/mesh.rs

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh apps/majordomus-cli/tests/mesh.rs

Prohledává názvy a popisy všech stránek, které tento web publikuje.