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.

Citlivá hodnota nikdy nevstoupí do provedení

Citlivá hodnota nikdy nevstoupí do provedení

majordomus://rule/project.executions-carry-no-secret@1aktivní bezpečnostarchitekturarust

odkazuje na něj

Zdůvodnění

Vstup provedení je zapsán. Jde do snímku, do první události, do uchované historie, na stránku v Cockpitu, do výpisu a ven po živém kanálu k tomu, kdo sleduje — šest míst z jednoho přiřazení. Redakce provedená v kterémkoli z nich chrání právě to jedno; hodnota je už v ostatních pěti.

Druhá polovina pravidla je to, co rozhoduje, co je citlivé. Porovnání názvu pole je obvyklá odpověď a je špatná oběma směry: zničí password_policy, který je názvem dokumentu, a mine credential, který budoucí pole napíše jinak. Typ už deklaruje všechno ostatní, co projekce čte — popis, omezení, příklady — a může deklarovat i toto, ve schématu, kde redaktor i čtenář reference API vidí totéž tvrzení.

Požadované chování

Citlivost se deklaruje ve schématu vstupního typu: format: "password", writeOnly: true nebo explicitní x-majordomus-sensitive: true. Redakce prochází schéma, sleduje vnitřní reference, sahá do vnořených objektů, polí a map a nahrazuje hodnotu značkou, která se čte jako zadržená, ne jako chybějící.

Děje se to jednou, v enginu provádění, před uložením vstupu, takže vše navazující čte už bezpečnou hodnotu. Žádný transport, stránka, řádek logu, generovaný dokument ani klient nesmí redigovat znovu a nesmí se na to spoléhat. O poli nesmí nikdy rozhodovat jeho název a nikde v crate, skriptech ani Cockpitu nesmí být druhý seznam vzorů.

Přihlašovací údaj, který schopnost čte z prostředí, nikdy není hodnotou na žádném povrchu: hlásí se jeho stav — nakonfigurováno, chybí, neplatné, nedostupné — a nikdy věc sama.

Chování při selhání

Recenzent odmítne redaktor porovnávající jména, druhé místo redakce a typ vstupu, který nese tajemství, aniž by to deklaroval. Jednotkové testy execution::redact selžou, pokud deklarovaná značka přestane být respektována, pokud je zničeno jméno, které jen vypadá jako tajemství, nebo pokud uniká vnořená, odkazovaná či mapovaná hodnota; tests/executions.rs ověřuje, že redigovaný vstup nedosáhne žádného snímku, události ani stránky v čitelné podobě.

Ověření

apps/majordomus-cli/src/execution/redact.rs a jeho testy, apps/majordomus-cli/tests/executions.rs a recenze. docs/EXECUTIONS.md uvádí kontrakt pro každého, kdo přidává schopnost, která takový bere.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/executions-carry-no-secret.v1.md
identity
project.executions-carry-no-secret@1
dostupné také jako
Zdroj MCP majordomus://rule/project.executions-carry-no-secret@1 · majordomus entity show rule/project-executions-carry-no-secret-1 · GET /api/v1/entity?uri=majordomus://rule/project.executions-carry-no-secret@1
v Cockpitu
/cockpit/objects/rule/project-executions-carry-no-secret-1

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

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