fix(format-v3): harden system binding against replay and bypass attacks (F-01, F-02, F-03)
- F-02: Require restore_nonce token and explicit confirmation (--rebuild-mac) for PendingRebuild - F-01: Extend canonical MAC transcript to include chunk generation tuples (node_id, chunk_index, generation) and support transparent legacy migration - F-03: Make V2-to-V3 container upgrade atomic with transactional rollback and dual-slot version update - Bump version to 0.9.4 and update changelog and security docs
This commit is contained in:
@@ -117,6 +117,10 @@ enum Commands {
|
||||
/// Aktiviert den lautlosen Stealth-Modus (keine Banner, Pfade, URLs oder Fortschrittsausgaben)
|
||||
#[arg(short, long, default_value_t = false)]
|
||||
stealth: bool,
|
||||
|
||||
/// Autorisiert den Neuaufbau des Metadaten-MAC nach einem Header-Restore (F-02)
|
||||
#[arg(long, default_value_t = false)]
|
||||
rebuild_mac: bool,
|
||||
},
|
||||
|
||||
/// Trennt ein eingebundenes Netzlaufwerk manuell
|
||||
@@ -1626,6 +1630,7 @@ async fn run() -> Result<()> {
|
||||
no_anti_leak,
|
||||
anti_leak_list,
|
||||
stealth,
|
||||
rebuild_mac,
|
||||
} => {
|
||||
let drive_char = match drive {
|
||||
Some(ref d) => parse_drive_letter(d)?,
|
||||
@@ -1679,6 +1684,7 @@ async fn run() -> Result<()> {
|
||||
anti_leak,
|
||||
anti_leak_list.as_deref(),
|
||||
stealth,
|
||||
rebuild_mac,
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user