Skip to content

build(deps): Bump chacha20 from 0.9.1 to 0.10.1 - #18

Open
dependabot[bot] wants to merge 26 commits into
mainfrom
dependabot/cargo/chacha20-0.10.1
Open

build(deps): Bump chacha20 from 0.9.1 to 0.10.1#18
dependabot[bot] wants to merge 26 commits into
mainfrom
dependabot/cargo/chacha20-0.10.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 24, 2026

Copy link
Copy Markdown

Bumps chacha20 from 0.9.1 to 0.10.1.

Commits
  • 5f3430b Release chacha20 v0.10.1 (#574)
  • 5e2e7b3 build(deps): bump actions/checkout from 6 to 7 (#573)
  • 7edb728 chacha20: use intel-sde-install action for AVX-512 CI (#572)
  • 2aa613e Update Cargo.lock (#571)
  • 57cb130 chacha20: apply unreachable_pub lint (#570)
  • 637e168 build(deps): bump hybrid-array from 0.4.11 to 0.4.12 in the all-deps group (#...
  • 51bb585 chacha20: widen NEON bulk path to 8 parallel blocks (#564)
  • 269a7b9 Update Cargo.lock (#563)
  • 315fe6c build(deps): bump the all-deps group with 2 updates (#561)
  • 3248a87 Fix header level of example sections (#560)
  • Additional commits viewable in compare view

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot @github

dependabot Bot commented on behalf of github Jun 24, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, security. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

leocelis and others added 20 commits June 25, 2026 11:22
…tact

Replace github.com/vault with leocelis/vault across badges, GHSA, and cosign
docs; add security email fallback; track public-flip checklist in AUDIT_READINESS.

Co-authored-by: Cursor <cursoragent@cursor.com>
Delete all workflows and Dependabot (no paid CI). Releases are maintainer-local
per docs/RELEASE.md. OSS scrub: README badges, samples path, UC-19 .sdlc ref, CLI drift.

Co-authored-by: Cursor <cursoragent@cursor.com>
SUPPORT.md, README docs/community sections, INSTALL accuracy, public-readiness
checklist complete. Bump to 0.1.0-alpha.2; quality gate local-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Implement vault stanzas list/add/remove guidance, headless C27 exit 7,
fix constraint index labels, add minimal CI, docs hub, README release-first install.
Bump v0.1.0-alpha.3.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Soften stanzas claim, clarify prebuilt platform scope, align CI status
with GHA workflow, add docs hub link, and refresh VERIFYING_RELEASES.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align RELEASE/SECURITY/AUDIT_READINESS with minimal GHA CI and alpha.3;
expand docs/README hub; add vault-clip to ARCHITECTURE; fix THREAT_MODEL
footnote; bump UC spec headers from Draft to Accepted v0.2.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mark repo public in AUDIT_READINESS/ROADMAP, restore README CI badge,
add rust-cache to GHA workflow, remove pre-flip checklist language.

Co-authored-by: Cursor <cursoragent@cursor.com>
cargo fmt on stanzas/cli tests; document Stanza::on_disk_len for clippy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Land P0–P3 audit items: format freeze (ADR-0005), KDF floor policy, sync
provisioning guide, YubiKey strict default, agent broker scaffold (ADR-0006),
cargo-vet in audit-ready, ptrace hardening, rotate-data-key crypto-shred,
recovery codes, live FIDO2/TPM via subprocess tools, streaming payload parse,
GUI in-app TOTP, Padmé research, and doc/threat-model updates. Gate 0 crypto
fixes accepted in ADR-0003/0004 without maintainer sign-off ceremony. Third-party
audit explicitly declined; automated gates only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Fix cargo fmt --check failures on CI (agent, hardware, sys modules).

Co-authored-by: Cursor <cursoragent@cursor.com>
Document FIDO2/TPM envelope fields, derive SaveOptions Default,
fix needless return/borrow in vault-agent and vault-cli.

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve Option? misuse in vault-agent store on non-macOS Unix. Add
--allow-weak-kdf to init-only paths; omit it from upgrade-kdf invocations.

Co-authored-by: Cursor <cursoragent@cursor.com>
upgrade-kdf hard-rejects below-floor Argon2id; bump to m=19456 t=2 p=1.

Co-authored-by: Cursor <cursoragent@cursor.com>
Pattern YAML lives outside the vault repo; regression tests anchor on
in-repo research docs only so GitHub Actions stays self-contained.

Co-authored-by: Cursor <cursoragent@cursor.com>
GitHub Actions may expose a readable but non-writable coredump_filter;
match C25 best-effort semantics and skip when write fails.

Co-authored-by: Cursor <cursoragent@cursor.com>
…repo hygiene

- MAINTAINERS.md: flat handle list, authority delegated to CODEOWNERS
- GOVERNANCE.md decision tiers: code-owner sign-off (path-scoped), no person-rank labels
- cowork.yaml / CLAUDE.md / CODEOWNERS comment: lane split without hierarchy wording
- Remove internal work-tracking references from public research notes, ADR metadata,
  scripts, supply-chain config, and test/doc comments
- Update audit_commission doc test to match renamed section

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ted clouds (C61-C66)

One sealed blob for any file/folder, droppable on Dropbox/Drive/S3/git:
- vault-core: file-archive TLV payload behind the existing STREAM envelope
  (VLTF magic, fresh data key per seal, no new crypto paths — C61); zero
  plaintext metadata (C62); bounded-memory streaming seal/open with one KDF
  run per op (C63); fail-closed staged extraction (C64); zip-slip-safe paths
  (C65); Padmé padding default-on (C66); new fuzz target file_archive_parse
- vault-cli: seal/open/peek + pipe modes, --append, stanza management,
  upgrade-kdf and rotate-data-key on .vltf, keyfile/YubiKey/FIDO2/TPM unlock
- vault-gui: drag-and-drop seal/open, worker-thread progress + cancel,
  keyfile/YubiKey 2FA at seal time, virtualized peek
- vault-tui: seal/open/peek parity with progress gauge
- intent v1.8.0: G16 forward constraints C61-C66 + conflict SC9; spec
  UC-23 Accepted v1.0; PRD, ROADMAP S-22, CONSTRAINT_INDEX, THREAT_MODEL,
  CLI docs updated; synthetic samples/project_docs for a safe try-it path
- research: encrypted_cloud_storage_research.md — the survey grounding the
  design (tools, academic literature, community practice)

Tests: 48 workspace suites green incl. sealed_constraints, joint
satisfaction on one artifact, CLI round-trip/auth/append matrices, GUI/TUI
wiring; clippy -D warnings clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Renames the project end-to-end (crates, binary, env vars, default data
directories, CLI docs, runtime hint strings) and repositions the README
around the agent-broker use case instead of the password-manager frame.

Why: crates.io names `vault`/`vault-cli`/`vault-core` are already taken by
unrelated projects, so `cargo install vault-cli` (promised throughout the
old docs) could never work. Infisical's "Agent Vault" (github.com/Infisical/
agent-vault) validated the AI-agent-credential-broker category with 1.9K
stars in ~4 months on a research preview, while GitGuardian found ~24,000
secrets in public MCP config files in 2026 — the local-first, no-account,
handle-based lane (blindkey-agent) is the differentiated angle this project
already had the tech for (C27, ADR-0006) but had buried under a password-
manager pitch competing with 10-year-old incumbents. Full research/decision
record: limitless/docs/research/ventures/vault/
VAULT_AGENT_SECURITY_PIVOT_DECISION_2026-07.md (private).

What changed:
- 8 crates renamed vault-* → blindkey-* (dirs, Cargo.toml package/bin names,
  path deps, all `use` imports); workspace builds and all 404+ tests pass.
- Binary `vault` → `blindkey`; env vars VAULT_* → BLINDKEY_*; default data
  dir `~/.vault` → `~/.blindkey`; `vault_intent.yaml` → `blindkey_intent.yaml`.
- Every user-facing runtime hint string in the CLI/TUI/agent broker updated
  (e.g. "run `vault init` first" → "run `blindkey init` first") — these are
  real error/help text a user would otherwise follow into a command that no
  longer exists.
- README rewritten: new positioning headline, agent-broker comparison table,
  MCP/GitGuardian context in "Why Blindkey exists".
- Full docs/specs/ADR/guides/research sweep for brand references, while
  deliberately leaving internal Rust identifiers (the `Vault` struct type,
  `vault_id`/`vault_version` field names) untouched — those are generic
  domain vocabulary, not brand references, and renaming them was out of
  scope and unnecessary risk in a crypto-adjacent codebase.
- Root `LICENSE` pointer file's prose replaced with verbatim MIT text: it
  could not simply be deleted (an earlier hygiene-pass attempt to delete it
  for GitHub license-detection reasons violated constraint C24, which the
  test suite caught) — this keeps the file present per C24 while giving
  GitHub's detector real, recognizable license text instead of custom prose.
- Also includes the previously-uncommitted OSS-readiness audit fixes: CI
  matrix expanded to macOS + experimental Windows, new `audit` and
  `reproducible` CI jobs, Dependabot config, 3 broken doc links fixed,
  stale constraint-count fix, quickstart fixed for binary-only installs.

Verification: cargo build --workspace, cargo test --workspace --all-features
--no-fail-fast (0 failures), cargo clippy --all-targets --all-features -D
warnings (0 warnings), cargo fmt --all -- --check (clean).

Not included — needs Leo directly: git history rewrite (old commits still
reference internal card/limitless paths), crates.io publish (needs
`cargo login` token), Apple Developer notarization for macOS binaries,
signed v1.0.0 release tag, branch protection on main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… fixes

Full re-audit of the Vault→Blindkey rename requested after the initial
push. Found and fixed real gaps the first pass missed:

- **fuzz/ crate was never touched — completely broken.** It's excluded
  from the main Cargo workspace (cargo-fuzz needs nightly-only features),
  so `cargo test --workspace` never caught that fuzz/Cargo.toml still
  depended on `vault-core = { path = "../crates/vault-core" }` — a path
  that no longer existed after the rename. `cargo check` inside fuzz/
  failed outright. Fixed: crate renamed blindkey-fuzz, path dep and all
  6 fuzz target imports updated to blindkey_core; added `exclude =
  ["fuzz"]` to the root workspace (a separate pre-existing nesting
  ambiguity, unrelated to naming, that blocked verifying the fix).
- **~20 more files with `vault <subcommand>` references**, mostly in Rust
  doc comments (`///`, `//!`) that my first pass's string-literal-only
  regex didn't match: crypto/tune.rs, error.rs, vault.rs, format/stanza.rs,
  format/payload.rs, docs/PRD.md, docs/CLI.md, docs/RELEASE.md (binary
  paths in the release process — missed entirely, first pass didn't cover
  this file), several UC specs, ROADMAP.md, samples/keys.txt.
- **Grammar breaks from the earlier blind `Vault`→`Blindkey` regex**,
  where "Vault" was a generic noun, not the brand: "Credential Blindkey"
  → "Credential Vault" (research/vault_spec.md, research/ui_architecture.md
  titles), "the Blindkey" → dropped article in 2 UC spec titles, "cross-
  blindkey lock contention" → "cross-vault" (a hyphenated compound the
  regex matched mid-word), "The blindkey open/save orchestration" (doc
  comment meant "vault-opening", not the CLI command) reverted.
- **CHANGELOG.md: 8 instances of `Vault::` (the actual Rust struct/method
  name, e.g. `Vault::find`, `Vault::open_keyfile`) had been incorrectly
  capitalized to `Blindkey::`** by the same broad regex — these described
  real API history and were now factually wrong (that method never existed
  under that name). Reverted. Also fixed the "Known limitations" collision
  note, which had been rewritten to claim `blindkey`/`blindkey-cli` are
  crates.io-taken — backwards; the taken names were the old `vault-*` ones,
  which is the whole reason for the rename.
- **macOS bundle**: CFBundleName/CFBundleDisplayName in bundle-macos.sh
  still said "Vault" — the actual Dock/Finder-visible app name.
- Root LICENSE restored correctly (confirmed still present, C24-satisfying,
  from the previous commit).
- Top-comment brand mentions in justfile, supply-chain/config.toml,
  .github/workflows/ci.yml (non-.md files the doc sweep didn't cover).

Verification: cargo build/test(--no-fail-fast, 0 failures)/clippy(0
warnings)/fmt(clean), all local. Also checked GitHub Actions on the prior
rename push (run 29663071185): `check` (macOS + Linux) and `reproducible`
jobs — the ones that actually exercise the rename — passed clean. Two
unrelated pre-existing issues surfaced for the first time because this is
the first run of the newly-added `audit` job and Windows job: a real
`cargo audit` failure (2 high-severity RUSTSEC advisories in `quick-xml`,
a transitive GUI dependency) and a missing-docs compile error in
blindkey-sys on Windows (continue-on-error, non-blocking by design).
Neither is a rename bug — both would fail identically under the old name.
Flagged separately for Leo, not fixed here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/chacha20-0.10.1 branch from a15dc2c to cebb40a Compare July 18, 2026 22:34
leocelis and others added 6 commits July 18, 2026 19:54
…e-path leak

Third and deepest verification pass over the Vault→Blindkey rename. This
round targeted binary-invocation forms and metadata the earlier
subcommand-only sweeps structurally could not catch.

Critical:
- **Anti-lockout recovery instructions pointed at a nonexistent command.**
  crates/blindkey-cli/src/commands/mod.rs printed 7 user-facing messages
  telling a locked-out user to unlock with `vault --recovery <command>` /
  `vault --vault F --keyfile K open …`. After the rename the binary is
  `blindkey`, so anyone who lost their keyfile and followed the printed
  recovery steps would hit "command not found" — the worst possible moment
  for a dead instruction. All 7 corrected to `blindkey …`. These are the
  flag-form (`vault --flag`) invocations the prior subcommand-matching
  passes never saw.
- **Private path leaked into the public CHANGELOG.** The rename entry cited
  an internal `limitless/…` research path (added in the previous commit).
  Removed; the rename rationale now stands on the public-safe crates.io
  name-collision explanation alone.
- **Cargo.toml `repository`/`homepage` still pointed at github.com/leocelis
  /vault.** GitHub redirects, but this is the canonical metadata crates.io
  and docs.rs would display — repointed to /blindkey.

Also:
- ~18 documentation files: `vault --flag` invocations and future/rejected
  command names (`vault exec`, `vault capture`, `vault migrate`,
  `vault doctor`) → `blindkey …`, across CLI.md, the enterprise/recovery/
  sync guides, and UC-05/07/09/17/23 specs. Fixed with a lookbehind so the
  `--vault` selector flag is never corrupted.
- Consistency in examples: rejected hypothetical `VAULT_PASSWORD` →
  `BLINDKEY_PASSWORD` (UC-05), example shell var `VAULT_FILE` →
  `BLINDKEY_FILE` and `/etc/vault/` → `/etc/blindkey/` (sync guide).

Deliberately retained as generic domain vocabulary, not brand: the `Vault`
struct type, `vault_id`/`vault_version` fields, `VAULT_VERSION` TLV tag,
the `.vlt`/`.vltf` extensions, the `~/.blindkey/vault.vlt` filename, the
"vault header is corrupt" error string, and the CHANGELOG's historical
`vault`/`vault-cli`/`vault-core` mentions that explain why the rename
happened.

Verification: cargo build/test(--no-fail-fast, 48 suites, 0 failures)/
clippy(-D warnings, 0)/fmt(clean). Exhaustive sweep confirms zero
`leocelis/vault` URLs, zero `limitless` references, zero bare-binary
`vault`-command invocations remaining.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…xemptions

Closes the two pre-existing findings the newly-added CI jobs surfaced (both
unrelated to the rename — they would fail identically under any name).

Windows build:
- blindkey-sys `read_line_from_fd` had an undocumented `cfg(not(unix))` stub
  under `#![deny(missing_docs)]`, so the crate failed to compile on Windows
  (the only platform that selects that arm). Documented the stub.

Supply-chain advisories (RUSTSEC-2026-0194 / -0195, quick-xml < 0.41):
- Documented, per-ID exemptions in `deny.toml` and a new `.cargo/audit.toml`,
  with rationale and a removal trigger. The advisory is a DoS on *malicious*
  XML; quick-xml enters the tree only via `wayland-scanner`, a BUILD-TIME
  proc-macro that parses trusted vendored Wayland protocol XML to generate
  bindings — never runtime or untrusted input, and only in `blindkey-gui` on
  Linux/Wayland. `cargo tree -i quick-xml` confirms the security core, CLI,
  and blindkey-sys never depend on it. No upstream fix exists: `wayland-scanner`
  at its latest release (0.31.10) still pins quick-xml 0.39, so no dependency
  bump moves it. Exemptions are scoped to single IDs and drop automatically
  when the Wayland crates ship quick-xml >= 0.41.
- New `docs/SUPPLY_CHAIN.md` documents the gates, the security boundary, every
  exemption, and the review cadence — publicly and in version control, as a
  security tool should. Linked from SECURITY.md and the docs hub.

Docs accuracy:
- Corrected stale "60 constraints" → "66" in three current-facing docs
  (AUDIT_COMMISSION, ENTERPRISE_POSTURE, THIRD_PARTY_AUDIT) and the intake
  checklist script. Version-tagged historical references (v1.7.0 == 60) are
  left intact — that pairing is accurate for its version.

Verification: cargo build/test(48 suites, 0 failures)/clippy(-D warnings, 0)/
fmt clean; all doc links resolve. The `cargo audit` / `cargo deny` exemptions
are verified in CI (those tools run there, not locally).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…core

The newly-added `audit` CI job runs `cargo deny check` for the first time, which
is stricter than `cargo audit` and surfaced pre-existing policy gaps (all in the
desktop-GUI dependency tree; the security core is unaffected):

- **Licenses:** allow `BSL-1.0` (clipboard-win, error-code), `Zlib` (foldhash,
  slotmap), and `MPL-2.0` (nucleo-matcher). All are OSI-approved permissive /
  file-scoped-copyleft licenses confined to `blindkey-gui`'s transitive tree; none
  impose any obligation on Blindkey's own MIT-or-Apache-2.0 source.
- **Wildcards:** pin `blindkey-gui`'s intra-workspace path deps
  (`blindkey-core`, `blindkey-clip`) to `version = "1.0.0"`; a versionless path dep
  reads as a wildcard under `wildcards = "deny"`.
- **Unmaintained advisories:** ignore RUSTSEC-2024-0436 (`paste`) and
  RUSTSEC-2026-0192 (`ttf-parser`) — "no longer maintained" notices, not
  vulnerabilities, both GUI-only transitive. `cargo deny` errors on unmaintained by
  default; documented in docs/SUPPLY_CHAIN.md with a removal trigger.

Windows CI: `blindkey-agent`'s broker is Unix-socket only (a `compile_error!` guards
non-Unix) and the CLI depends on it, so the full workspace does not build on Windows.
Replaced the always-red experimental full-workspace job with `check-windows-core`,
which tests the PORTABLE security crates (`blindkey-core`, `-sys`, `-clip`,
`-hardware`) — real, green Windows signal for the crypto/format/memory/hardware
layers that must be correct everywhere, instead of a masked failure.

docs/SUPPLY_CHAIN.md updated to cover the license additions, the two unmaintained
exemptions, the remaining non-blocking `lru`/`memmap2` warnings, and the Windows
support boundary.

Verification: cargo build/metadata/fmt clean locally; `cargo deny` / `cargo audit`
verified in CI (those tools run there).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Windows-core CI job surfaced a genuine test-portability bug (the extraction
code itself is correct — 156 core tests, including the real path-traversal
defenses, pass on Windows). The UC-23 joint-satisfaction test asserted that
`SealedContainer::open_to_dir(.., "/")` returns an error, relying on `/` being
unwritable — a Unix-only filesystem property. On the Windows admin CI runner `/`
resolves to a writable drive root, so extraction succeeded and the assertion
failed.

Replaced it with a destination whose parent is a regular file, which makes the
write fail on every platform, preserving the exact security intent (a hostile /
unwritable destination is surfaced as an error at extract time, never a silent
success or panic). Zip-slip path traversal *inside* an archive remains covered
portably by the file_archive tests.

Verified: the test passes on macOS; clippy `-D warnings` and fmt clean. Windows
coverage of the portable security core (crypto, format, memory, hardware) is now
a real green gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ale brand strings

Push toward top-OSS polish (Batches A + B).

CI / security signal:
- OpenSSF Scorecard workflow (scorecard.yml) + badge — the score security-tool
  evaluators filter by.
- All GitHub Actions pinned to commit SHAs (Scorecard hardening) with version comments.
- Coverage job (cargo-llvm-cov, reporting) and MSRV build job (proves the 1.96 claim).
- Scheduled fuzz-smoke workflow runs every libFuzzer target for 60s against the
  untrusted-input parsers (the fuzz crate existed but never ran in CI).
- README badge row: CI · Scorecard · MSRV · license.

Positioning / docs:
- README mermaid diagrams (GitHub renders natively): the "agent uses a secret without
  seeing it" sequence, and the crate architecture with the security boundary.
- Real captured CLI demo in the quickstart (actual init/import/ls/gen/get output, not a
  mockup).
- Self-contained GitHub Pages landing page (docs/site/index.html, theme-aware, no external
  assets) + Pages deploy workflow — fills the empty homepage. Deep/API docs stay in-repo
  and on docs.rs post-publish (standard Rust pattern; avoids a duplicative mdBook drift trap).

Stale brand strings the demo build surfaced (would have shipped to crates.io / shown in
`--help` and the GUI window):
- All 8 crate `description`s said "Vault" → "Blindkey".
- CLI `--help` about-line and the pre-release audit notice ("Vault has not had…").
- GUI window title, headings, and the sealed-file dialog filter.
- TUI about-line.
These are runtime/metadata surfaces, not just docs.

Verification: cargo build/test(48 suites, 0 failures)/clippy(-D warnings, 0)/fmt clean;
all 5 workflow YAMLs valid; pinned action SHAs verified against upstream tags.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bumps [chacha20](https://github.com/RustCrypto/stream-ciphers) from 0.9.1 to 0.10.1.
- [Commits](RustCrypto/stream-ciphers@chacha20-v0.9.1...chacha20-v0.10.1)

---
updated-dependencies:
- dependency-name: chacha20
  dependency-version: 0.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/chacha20-0.10.1 branch from cebb40a to 7b9657b Compare July 18, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant