diff --git a/apps/desktop/src-tauri/.cargo/audit.toml b/apps/desktop/src-tauri/.cargo/audit.toml new file mode 100644 index 00000000..008c8166 --- /dev/null +++ b/apps/desktop/src-tauri/.cargo/audit.toml @@ -0,0 +1,21 @@ +[advisories] +ignore = [ + "RUSTSEC-2024-0413", # atk: gtk-rs GTK3 bindings - no longer maintained + "RUSTSEC-2024-0416", # atk-sys + "RUSTSEC-2025-0057", # fxhash: no longer maintained + "RUSTSEC-2024-0412", # gdk + "RUSTSEC-2024-0418", # gdk-sys + "RUSTSEC-2024-0411", # gdkwayland-sys + "RUSTSEC-2024-0417", # gdkx11 + "RUSTSEC-2024-0414", # gdkx11-sys + "RUSTSEC-2024-0415", # gtk + "RUSTSEC-2024-0420", # gtk-sys + "RUSTSEC-2024-0419", # gtk3-macros + "RUSTSEC-2024-0370", # proc-macro-error: unmaintained + "RUSTSEC-2025-0081", # unic-char-property: unmaintained + "RUSTSEC-2025-0075", # unic-char-range: unmaintained + "RUSTSEC-2025-0080", # unic-common: unmaintained + "RUSTSEC-2025-0100", # unic-ucd-ident: unmaintained + "RUSTSEC-2025-0098", # unic-ucd-version: unmaintained + "RUSTSEC-2024-0429" # glib: unsoundness in VariantStrIter +] diff --git a/docs/security/dependency-policy.md b/docs/security/dependency-policy.md index 8d08591b..a369502e 100644 --- a/docs/security/dependency-policy.md +++ b/docs/security/dependency-policy.md @@ -102,6 +102,7 @@ Exceptions are allowed only when no patched version exists and the advisory is n Current controlled exception: - `GHSA-5239-wwwm-4pmq` (`Pygments <=2.19.2`) in Python dev/test dependency path; no patched version is available at this time, impact is low/local-access ReDoS, and BandScope does not expose Pygments parsing on untrusted runtime input paths. The CI `security-audit` workflow applies a targeted ignore for this advisory only. +- Cargo audit warnings for legacy `gtk3`, `glib`, and `fxhash` vulnerabilities (e.g. `RUSTSEC-2024-0413`, `RUSTSEC-2024-0429`, `RUSTSEC-2025-0057`) inherited through Tauri v2 `wry`/`webkit2gtk` integration are explicitly allowed. These are deep framework dependencies with no alternative, so they are documented exceptions and ignored by default. ## Required checks intent diff --git a/services/analysis-engine/tests/test_cli.py b/services/analysis-engine/tests/test_cli.py index 918bd00c..1504a023 100644 --- a/services/analysis-engine/tests/test_cli.py +++ b/services/analysis-engine/tests/test_cli.py @@ -8,6 +8,7 @@ import runpy import subprocess import sys +import warnings from pathlib import Path from bandscope_analysis import cli @@ -212,7 +213,9 @@ def test_cli_module_runs_as_main(monkeypatch) -> None: monkeypatch.setattr(sys, "stdout", stdout) try: - runpy.run_module("bandscope_analysis.cli", run_name="__main__") + with warnings.catch_warnings(): + warnings.simplefilter("ignore", RuntimeWarning) + runpy.run_module("bandscope_analysis.cli", run_name="__main__") except SystemExit as exit_signal: assert exit_signal.code == 0