Skip to content

chore: final audit pass — accuracy, SVGs, CLI parity#328

Merged
andres-linero merged 3 commits intomainfrom
chore/final-audit-fixes
Mar 8, 2026
Merged

chore: final audit pass — accuracy, SVGs, CLI parity#328
andres-linero merged 3 commits intomainfrom
chore/final-audit-fixes

Conversation

@msaad00
Copy link
Owner

@msaad00 msaad00 commented Mar 8, 2026

Summary

Final pass of the 9-area codebase audit. All 7 criteria fully covered.

Changes

ARCHITECTURE.md — 5 inaccuracies fixed

  • auth.py — JWT authenticationscrypt KDF API keys, RBAC roles (no JWT anywhere in codebase)
  • Runtime detectors: 67 (VectorDBInjectionDetector added in fix: wire VectorDBInjectionDetector into proxy + runtime audit #326)
  • Detector list now includes VectorDBInjectionDetector
  • CLI with 15+ commands22+ commands and groups
  • enforcement.py — 10 checks8 checks (verified by counting def check_* functions)

SVGs — 7 files updated

"6 detectors""7 detectors" in engine-internals, modes-flow, offerings-map, scanner-architecture (dark + light variants)

CLI (api command)

  • Added --log-level and --log-json flags (matching the serve command — consistency fix)
  • setup_logging() now called at api command startup
  • uvicorn log_level wired to user input instead of hardcoded "info"

AUDIT.md

  • Areas 7–9 added (CLI, discovery/peripheral modules, accuracy review)
  • Final summary table: 9 areas, 13 fixes, 3 open issues

Test plan

  • tests/test_api_endpoints.py + tests/test_api_hardening.py — 25 passed
  • ruff + ruff-format clean

msaad00 added 2 commits March 7, 2026 19:54
ResponseInspector already checks RESPONSE_INJECTION_PATTERNS for all tools.
VectorDBInjectionDetector.check() also always runs injection patterns, so
calling both for non-vector tools produced duplicate alerts.

Fix: only call vector_detector.check() when is_vector_tool() returns True.
Non-vector tools: ResponseInspector covers cloaking + SVG + invisible + injection.
Vector tools: ResponseInspector (HIGH) + VectorDBInjectionDetector (CRITICAL,
cache_poison_* tagged) — intentional dual signal for elevated risk.
ARCHITECTURE.md:
- auth.py description: JWT (wrong) → scrypt KDF + RBAC API keys (correct)
- Runtime detectors: 6 → 7 (VectorDBInjectionDetector)
- enforcement.py: 10 checks → 8 (counted actual def check_* functions)
- CLI commands: 15+ → 22+
- audit_log.py description updated: HMAC-SHA256 signed

SVGs (7 files, dark + light variants):
- engine-internals: "6 detectors" → "7 detectors (drift, injection, credential leak, vector DB)"
- modes-flow: "6 detectors: drift, injection, cred leak" → "7 detectors"
- offerings-map: "6 detectors + alert webhook" → "7 detectors + alert webhook"
- scanner-architecture: "6 detectors" → "7 detectors"

CLI (cli.py):
- api command: add --log-level and --log-json flags (matching serve command)
- Wire setup_logging() into api command body
- Pass log_level to uvicorn (was hardcoded "info")

AUDIT.md:
- Add Areas 7-9 (CLI, discovery/peripheral, accuracy)
- Final summary table covering all 9 audit areas
- 13 bugs fixed total (F1-F13), 3 open issues remain (O1-O3, O5)
@msaad00 msaad00 requested a review from andres-linero as a code owner March 8, 2026 01:10
@github-actions
Copy link
Contributor

github-actions bot commented Mar 8, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@andres-linero andres-linero merged commit ad5e558 into main Mar 8, 2026
16 checks passed
@andres-linero andres-linero deleted the chore/final-audit-fixes branch March 8, 2026 01:14
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.

2 participants