No signal changes detected since 2026-11-06.
| Environment | pytest | ruff | ty | bandit | pip-audit |
|---|---|---|---|---|---|
| linux-x64 / py3.14 | |||||
| linux-x64 / py3.14t | |||||
| linux-x64 / py3.15 | |||||
| macos-arm64 / py3.13 | |||||
| windows-x64 / py3.13 |
| Advisory | Package | Severity | Summary |
|---|---|---|---|
| GHSA-6q48-6c7w-9gw2 | certifi 2026.4.22 | critical | certifi bundles emSign root CAs with compromised intermediate CA keys |
| GHSA-27vj-qcqg-25rc | fsspec 2026.4.0 | high | fsspec: Server-Side Template Injection in ReferenceFileSystem leads to Remote Code Execution |
| GHSA-v4x8-3wr5-3wq8 | filelock 3.29.0 | high | filelock ReadWriteLock: SQLite reopens the lock database by name, so a planted symlink or journal file makes the lock user's process overwrite or unlink its own files |
| GHSA-42vr-xj54-vc7v | pyjwt 2.14.0 | moderate | PyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / verify_signature=False) |
| GHSA-69hj-f68j-2879 | filelock 3.29.0 | moderate | filelock: UnixFileLock truncates and chmods any regular file another user renames or hard-links onto the lock path |
| GHSA-8mx5-7m5m-r77g | filelock 3.29.0 | moderate | filelock: WindowsFileLock ignores mode: a 0o600 lock file and the ReadWriteLock database inherit the directory ACL |
| GHSA-c8m5-c952-6cm4 | rustls 0.23.45 | moderate | Rustls: Session Debug formatting exposes TLS master secrets and resumption PSKs |
| GHSA-cwqr-hh33-gh44 | filelock 3.29.0 | moderate | filelock ReadWriteLock: a crafted lock database makes every acquire stall or hang regardless of timeout |
| GHSA-fq56-3cx3-fjxp | filelock 3.29.0 | moderate | filelock: SoftFileLock stale-lock break removes a live lock file on a reused inode number and admits two holders |
| GHSA-j8f7-rjxc-mr56 | filelock 3.29.0 | moderate | filelock: ReadWriteLock follows a symlink at the lock path into SQLite |
| GHSA-rfpc-qcw5-3pc4 | filelock 3.29.0 | moderate | filelock: SoftFileLock removes a live holder's marker when another user forges the PID in a writable marker |
| GHSA-x33g-cr3x-6449 | pyjwt 2.14.0 | moderate | PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion |
| GHSA-567q-5qvw-pf92 | filelock 3.29.0 | low | filelock: On Windows an oplock on a soft lock's marker holds SoftFileLock.acquire() past its timeout and blocks the stale break |
| GHSA-9vhv-jxww-xfm5 | filelock 3.29.0 | low | filelock: ReadWriteLock on Windows acts on SQLite side files another local user places beside its database |
| GHSA-h2v8-394m-p7vv | rustls 0.23.45 | low | Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication. |
| GHSA-vp88-798v-h67f | rustls 0.23.45 | low | rustls: ECH rejection can expose buffered application data to authenticated outer server before `ech_required` alert |
| GHSA-w44r-93j7-qv28 | rustls 0.23.45 | low | rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a classical X25519 share |
| RUSTSEC-2026-0381 | webpki-roots 1.0.9 | unknown | Bundled root certificates allow trust in distrusted emSign intermediates |
| RUSTSEC-2026-0382 | rustls-webpki 0.103.15 | unknown | Certificate verification may accept distrusted intermediates |
| RUSTSEC-2026-0386 | tokio 1.53.1 | unknown (unsound) | `AsyncFd::new` and related constructors violate I/O safety |
Suppressions are markers that silence a linter, type-checker, or security scanner. See security.html for the full ledger across the org.
Counts non-blank, non-comment lines (sloc). Excludes .venv,
target, dist, build,
__pycache__, _site, and lockfiles
(uv.lock, Cargo.lock). Tests are paths whose
ancestors contain tests, test, or
benches. Authorship: this codebase is
AI-assisted — lines were generated with Claude (Anthropic) and
human-reviewed before commit. We count what's in git;
we do not claim humans typed every character.