Repository navigation
v0.5.0
Changed
-
The
securityextra no longer declaressafetyorpip-audit. Both are
command-line tools that the wrappers shell out to and probe for onPATH--
neither is imported -- so declaring them put a scanner into the resolved
dependency graph of every project that installed the extra.pyvider-dev
includessecurity, sosafety, and through itnltk, reached the lockfile
of every project in the pyvider family. Whennltkdrew an unpatched
advisory (PYSEC-2026-3740), that read as a finding against those projects,
against a package none of them had ever asked for.They join
semgrep,gitleaksandtrufflehog, which this extra already
documented rather than declared, and the instruction is the one the wrappers'
own error messages already print:uv tool install safety uv tool install pip-auditbanditstays.quality/security/scanner.pyimports it and drives
bandit.coredirectly, so it is a library this package uses rather than a
process it launches.Consumers pick this up when they move to a release containing it; a project
that wants the two scanners available should install them as tools.
Fixed
TestSafetyScannerandTestPipAuditScannerno longer skip. Both classes
were guarded byskipif(not <TOOL>_AVAILABLE), but neither runs the tool:
they cover the constructor and command building, and the only thing that
needed the binary present was the constructor's own availability check. They
now patch that guard, as the sibling mocked tests already did, so the 8 tests
in them run on every host instead of quietly disappearing on any host without
the tool installed -- which, after the change above, is every host.