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).