用途:该技能用于升级 Bitwarden 服务端 util/RustSdk/rust/Cargo.toml 中 bitwarden-crypto 的 git-rev 固定版本,使其跟踪某个 bitwarden/clients 发布版本。RustSdk 属于 util/ 下的 Seeder 测试基础设施(非 src/ 生产代码),为 C# Seeder 提供字段级加密(encrypt_string/decrypt_string/encrypt_fields),以生成密码学正确的 Protected Data 供集成测试使用,EncryptPropertyAttribute 决定哪些字段被加密。
主要能力与流程:1) 从 clients 的 web-v* 发布标签读取 npm 版本(如 0.2.0-main.841);2) 将 npm 版本映射到 git SHA——.NNN 后缀是私有 Azure 发布任务的计数器,不能由 run number 或时间戳推断,需下载 npm tarball 并从 WASM 中提取提交,例如:curl -sSL "https://registry.npmjs.org/@bitwarden/sdk-internal/-/sdk-internal-<VERSION>.tgz" -o pkg.tgz,再 grep -ao "main ([0-9a-f]{7})" package/bitwarden_wasm_internal_bg.wasm;3) 用 git log/git diff 对照 references/api-surface.md 分析破坏性变更;4) 更新 Cargo.toml 的 rev,检查 MSRV 与 rust-toolchain.toml,必要时提升 channel,执行 cargo update -p bitwarden-crypto,修复编译错误;5) 构建验证:cd util/RustSdk/rust 后 cargo build && cargo test、cargo fmt --check,确认 NativeMethods.g.cs 未变,并运行 dotnet test test/SeederApi.IntegrationTest/;6) 人工验证由人执行 Seeder 播种并确认 web 客户端可解密。
限制:RustSdk 仅为测试基础设施,服务端不解密 Vault Data,零知识不变式不受影响;api-surface.md 必须与代码同步,否则 Stop hook 会阻止;具体收费、平台与效果资料未提供。