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.

I2134 — Klíč odebraný ze seznamu důvěry ztratí svá spojení bez restartu a klíč uzlu lze rotovat

Znovu číst deklaraci důvěry za běhu runtime, zahodit odkazy a přijetí vyřazeného klíče, nabídnout rotaci klíče, kterou mohou peeři sledovat, a vytvořit soubor klíče uzlu soukromý od prvního bajtu.

HOTOVO vlna 0 · p0 · profil implementation · běží samostatně

Součást runtime-trust — Runtime je bezpečné zpřístupnit z jiného stroje a připojení k mesh nikomu nevěří omylem.

Cíl

Znovu číst deklaraci důvěry za běhu runtime, zahodit odkazy a přijetí vyřazeného klíče, nabídnout rotaci klíče, kterou mohou peeři sledovat, a vytvořit soubor klíče uzlu soukromý od prvního bajtu.

Proč

Důvěra je zmrazena při aktivaci (apps/majordomus-cli/src/mesh/manager.rs:466,486, apps/majordomus-cli/src/mesh/cooperation.rs:1150): klíč odebraný z trust.allow si ponechá svá spojení, dokud se nerestartují všichni peeři, a neexistuje tok rotace ani odvolání (hrozba T11). Kompromitovaný klíč tedy nelze odříznout bez restartu každého runtime. Soubor s klíčem uzlu se zapíše a pak chmodne na 0600 (apps/majordomus-cli/src/mesh/identity.rs:338-347), takže na okamžik existuje s oprávněními podle umask. Znovunačtené události odvolaného klíče patří I2124 (znovunačtení žurnálu uplatňuje politiku důvěry, milník runtime-trust); tento úkol je živá polovina. Baseline audit z 2026-10-09 na master 1fb8d6be44, mezera meshe 6 a řádek identity.

Aktuální stav

Odvolání se projeví až při restartu každého peera. Rotace neexistuje. Soubor klíče je krátce čitelný s oprávněními podle umask.

Cílový stav

Cooperation drží svou důvěru jako vyměnitelnou hodnotu; Cooperation::retrust uvede v platnost novou a ukončí link každého peera, kterému už nedůvěřuje, a server ji volá s každou novou generací repozitáře, kterou čte, takže klíč stažený z trust.allow a commitnutý ztrácí své linky bez restartu: jeho další synchronizace narazí na unknown_link a jeho hello je odmítnuto untrusted. Odložená část, rotace klíče uzlu a vymazání událostí staženého klíče z běžícího žurnálu, je I2705.

Rozsah

  • apps/majordomus-cli/src/mesh/manager.rs
  • apps/majordomus-cli/src/mesh/cooperation.rs
  • apps/majordomus-cli/src/mesh/trust.rs
  • apps/majordomus-cli/src/mesh/identity.rs
  • apps/majordomus-cli/src/shared.rs
  • apps/majordomus-cli/src/capability/builtin/mesh.rs
  • apps/majordomus-cli/tests/mesh_cooperation.rs
  • docs/MESH.md

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Odebrání klíče z trust.allow na běžícím runtime zavře spojení tohoto klíče do jednoho heartbeatu a odmítne jeho další hello, bez restartu
  • Při povolné umask není soubor s klíčem uzlu nikdy čitelný pro skupinu ani ostatní

Validace

  • bin/majordomus plan validate
  • cargo test --test mesh_cooperation
  • cargo test --lib mesh::identity

Požadované důkazy

  • revocation_without_restart_test
  • key_file_created_private_test

Důkazy

pokrývátypcommandvýsledeku commitu
revocation_without_restart_testtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib -- mesh::cooperation::tests::a_withdrawn_key_loses_its_link_without_a_restartrevocation_without_restart_test pojmenovává test, který pod tímto názvem nikdy nebyl napsán; prokázáno testem mesh::cooperation::tests::a_withdrawn_key_loses_its_link_without_a_restart (dodáno v 9d09a4a5f22): 1 prošel na c0e3585dc8, 2026-10-14 23:3xZ, tento Macc0e3585
key_file_created_private_testtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib -- mesh::identity::tests::a_node_key_is_never_readable_by_otherskey_file_created_private_test jmenuje test, který nikdy nebyl napsán pod tímto jménem; dokázáno pomocí mesh::identity::tests::a_node_key_is_never_readable_by_others (dodáno 37c72bbed6c): 1 prošel na c0e3585dc8, 2026-10-14 23:3xZ, tento Macc0e3585

Časová osa

zahájeno
2026-10-14T23:32:46Z
ověřeno
2026-10-14T23:32:54Z
dokončeno
2026-10-14T23:33:07Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2134.yaml. Přečtěte jej zpět pomocí majordomus plan show I2134.

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