P3 audit remediation: wire dead Settings→Scanners knobs + README truth - #26
Merged
tyler-rich merged 1 commit intoJul 6, 2026
Conversation
…+ README truth Addresses the P3 tier of docs/reviews/full-audit-2026-07-05.md §10 (feature gaps that mislead users): - FEAT-6 (QUA-3): apply the stored Grype ignore config at scan time — a new grype_policy module materializes the YAML into tmpfs and the worker passes it to Grype via a `-c` config flag (mirroring the Trivy policy path). - FEAT-7 (QUA-3): the New Scan form prefills its severity filter and ignore-unfixed toggle from GET /settings/scanners so instance defaults take effect instead of being overridden by hardcoded form values. - FEAT-4 (QUA-3): the maintenance tick honors auto_update_db + interval, running `trivy image --download-db-only` and `grype db update` best-effort when due. - DOC-1/2/5 + FEAT-1/2/3/8: README aligned with reality — Docker Hub publishing is in scope; uploaded image-tar, Docker-env multi-select scan, and filesystem-archive upload are marked not-implemented; VEX/.trivyignore are global (not per-scan); the ECR/GCR/ACR helper-binaries caveat is stated. - FEAT-5/FEAT-10: offline DB import and admin bulk secret re-encryption are listed as not-yet-implemented; the key-rotation README claim is corrected. New tests cover the Grype config flag/materialization and the DB-update tick. Deviation logged in docs/PLAN.md.
tyler-rich
merged commit Jul 6, 2026
7d833ab
into
claude/audit-fixes-2026-07-05-9bqe6n-p2
4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the P3 tier of
docs/reviews/full-audit-2026-07-05.md§10 (feature gaps that mislead users).The three dead Settings→Scanners knobs (QUA-3) — now real
scanners/grype_policy.pymaterializesScannerSettings.grype_ignoreinto tmpfs; the worker hands it to Grype via a-c <path>config flag (mirroring the Trivy-policy materialization), carried on a private env-overlay key the Grype runner turns into argv (never leaked to the child).GET /settings/scannerson mount, so changingdefault_severities/default_ignore_unfixedactually affects new scans instead of being overridden by hardcoded form values. Fetch failure falls back to the built-in defaults.auto_update_db+db_update_interval_hours— newworkers/db_update.pyrunstrivy image --download-db-onlyandgrype db updatebest-effort when enabled and the interval has elapsed (in-process last-run marker; a restart re-checks). Failures are logged, never raised.README truth (DOC-1 / DOC-2 / DOC-5 + feature de-scoping)
securedbytyler/scrye,:latest/:<version>/:dev) is now described as in-scope; the "no published registry image" claims are removed (Quick start, Building, Roadmap)..trivyignoreare described as global (Settings → Scanners), not per-scan.Scope note
The audit allowed "implement or explicitly de-scope in docs" for FEAT-1/2/3/5. Those larger feature builds (tar upload, multi-select launcher, archive upload, offline DB import, rotation tool) are de-scoped in the docs here rather than built in this tier; the three misleading Settings knobs — the audit's headline P3 item — are wired.
Testing
tests/test_audit_p3.py: Grype-cconfig flag + tmpfs materialization; DB-update tick (disabled / due-then-skip / interval re-fire / missing-binary-safe). Frontendtsc -b, ESLint, Prettier clean onNewScanPage.tsx.ruff+blackclean.Deviation logged in
docs/PLAN.md§ Deviations (2026-07-05 P3 entry).