Skip to content

[Security] Track upstream-owned glib 0.18.5 RustSec exception #196

@seonghobae

Description

@seonghobae

Role

  • 직무 / O0: v0.1.4 release-readiness stabilization
  • 업무 / O1: Rust desktop dependency security closure
  • 과업 / O2~O3: keep the remaining upstream-owned glib 0.18.5 RustSec exception narrow and removable
  • 작업 / O4~O7: owner-chain verification, upstream watch, lockfile refresh, audit exception removal

Current evidence

RUSTSEC-2024-0429 for glib 0.18.5 remains after the compatible Tauri lockfile refresh. Current owner chain is the Tauri/wry/webkit2gtk/gtk GTK3 stack, not BandScope application code.

The branch stepwise/rust-alert-owner-chain-v2 adds repo-controlled guardrails so the exception is allowed only when every glib 0.18.5 owner is reachable from tauri and belongs to the documented GTK/WebKit stack. The same change removes the retired rand 0.7.3 and fxhash exceptions.

Acceptance criteria

  • apps/desktop/src-tauri/.cargo/audit.toml contains only the narrow RUSTSEC-2024-0429 glib 0.18.5 exception for this advisory.
  • scripts/checks/verify_supply_chain.py rejects unowned, mixed-owner, or unexpected Tauri-reachable glib 0.18.5 owners.
  • A future compatible Tauri/wry/webkit2gtk/gtk update is tested with cargo update --manifest-path apps/desktop/src-tauri/Cargo.toml.
  • When the chain drops or patches glib <0.20.0, remove the audit exception and close this issue with lockfile and gate evidence.

Security Notes

  • Untrusted inputs: no new runtime input path is introduced; this is dependency metadata and lockfile policy enforcement.
  • Trust boundary: the remaining vulnerable package is externally owned by the desktop framework stack, so the repo enforces a narrow owner-chain allowlist instead of broad suppression.
  • Safe failure: policy checks fail closed if glib versions are non-numeric, below patched range, unowned, or owned by unexpected packages.
  • Logging/privacy: no runtime user data is logged or exported by this tracking work.
  • Test points: python3 scripts/checks/verify_supply_chain.py and uv run --project services/analysis-engine pytest services/analysis-engine/tests/test_supply_chain_policy.py -q.

Blocked-by: upstream Tauri/wry/webkit2gtk/gtk stack moving off vulnerable glib 0.18.5 or patching to glib >=0.20.0.

Metadata

Metadata

Labels

dependenciesPull requests that update a dependency filerustPull requests that update rust code

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions