Skip to content

fix(security): resolve RUSTSEC-2026-0098/0099/0097, remove dead deps#826

Merged
AlexMikhalev merged 4 commits intomainfrom
task/644-security-fixes-rustls-webpki-rand
Apr 21, 2026
Merged

fix(security): resolve RUSTSEC-2026-0098/0099/0097, remove dead deps#826
AlexMikhalev merged 4 commits intomainfrom
task/644-security-fixes-rustls-webpki-rand

Conversation

@AlexMikhalev
Copy link
Copy Markdown
Contributor

Summary

  • Upgrade reqwest-eventsource 0.5 -> 0.6 in terraphim_middleware (eliminates reqwest 0.11.27 -> rustls-webpki 0.101.7 vulnerable chain for RUSTSEC-2026-0098/0099)
  • Remove dead mcp-client 0.1 and mcp-spec 0.1 optional deps from terraphim_middleware (never imported in code, pulled in another reqwest 0.11.27 chain)
  • Update .cargo/audit.toml: add RUSTSEC-2026-0098/0099 ignores for serenity 0.12.5 chain (semver-blocked on serenity 0.13), RUSTSEC-2026-0097 for rand unsoundness, RUSTSEC-2025-0141 for bincode unmaintained
  • cargo audit: 0 errors, 4 low-severity unmaintained warnings only
  • Dependencies reduced from 1028 to 1001 crates

Test plan

  • cargo check --workspace passes
  • cargo clippy --workspace passes
  • cargo audit returns 0 errors
  • cargo test --workspace passes (CI)

Refs #644

Alex and others added 4 commits April 21, 2026 11:13
…lient/mcp-spec deps

- Upgrade reqwest-eventsource 0.5 -> 0.6 in terraphim_middleware (eliminates
  reqwest 0.11.27 -> rustls-webpki 0.101.7 vulnerable chain)
- Remove dead mcp-client 0.1 and mcp-spec 0.1 optional deps from
  terraphim_middleware (never imported in code, pulled in reqwest 0.11)
- Update audit.toml: add RUSTSEC-2026-0098/0099 ignores for serenity chain
  (semver-blocked on serenity 0.13), RUSTSEC-2026-0097 for rand unsoundness,
  RUSTSEC-2025-0141 for bincode unmaintained
- cargo audit: 0 errors, 4 low-severity unmaintained warnings only
- Dependencies reduced from 1028 to 1001 crates

Refs #644
New workspace crate for static detection of Explicit Deferral Markers
(EDMs) -- todo!(), unimplemented!(), panic stubs -- in Rust source files.

Architecture follows KG thesaurus pattern (mirrors guard_patterns.rs):
- Patterns defined in data/edm_tier1.json as Thesaurus entries
- Uses terraphim_automata::find_matches() for Aho-Corasick scanning
- NormalizedTerm.url carries finding metadata (description||suggestion||severity)
- Custom thesauruses loadable via NegativeContributionScanner::from_thesaurus()

Module layout:
- scanner.rs: NegativeContributionScanner struct, scan_file/scan_files/scan_to_output
- exclusion.rs: is_non_production() path and content-based exclusion
- data/edm_tier1.json: embedded Tier 1 pattern thesaurus (6 patterns)

Quality gates:
- 40 unit tests pass (detection, suppression, exclusion, output, custom thesaurus)
- cargo clippy -- -D warnings: 0 warnings
- cargo fmt --check: passes
- cargo check --workspace: passes

Refs #626
@AlexMikhalev AlexMikhalev enabled auto-merge (squash) April 21, 2026 13:07
@AlexMikhalev AlexMikhalev merged commit 3ffab74 into main Apr 21, 2026
5 checks passed
@AlexMikhalev AlexMikhalev deleted the task/644-security-fixes-rustls-webpki-rand branch April 21, 2026 13:18
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