feat: integrate security audits into pre-commit and CI/CD with backend pip-audit migration #74

Merged
darkhelm merged 5 commits from feat/security-audit-precommit-cicd into main 2026-07-13 22:20:10 -04:00
Owner

Summary

This PR integrates security-focused checks into the existing quality gates and aligns local workflows with CI/CD execution.

What changed

  • Added Bandit to pre-commit backend checks.
  • Integrated eslint-plugin-security into the existing frontend ESLint setup used by pre-commit.
  • Added dedicated audit tasks:
    • backend audit via pip-audit
    • frontend audit via yarn npm audit
  • Updated CI/CD workflow to include and gate on frontend/backend audit jobs.
  • Switched backend vulnerability scanning from Safety to pip-audit to avoid interactive/auth requirements in CI.
  • Updated backend dependency set and lockfile to resolve test dependency conflicts and keep the environment solvable.
  • Marked backend integration API tests with the integration marker so marker-based unit/integration separation works consistently.

Validation

  • Pre-commit hooks run and pass after formatting/autofixes.
  • Branch commit created successfully after hook-driven file updates.
  • Branch pushed to remote and tracking is configured.

Notes

  • pip-audit now executes from backend context (for example via uv --directory backend run ...), matching project layout.
  • Remaining reported vulnerabilities depend on upstream package fix availability/constraints and may require follow-up once publishable fix versions are consumable.

Follow-ups (optional)

  • Add a curated pip-audit ignore policy for non-actionable/transient advisories with rationale.
  • Open a focused follow-up PR for remaining dependency advisories once upstream fixes are practically installable.
## Summary This PR integrates security-focused checks into the existing quality gates and aligns local workflows with CI/CD execution. ## What changed - Added Bandit to pre-commit backend checks. - Integrated eslint-plugin-security into the existing frontend ESLint setup used by pre-commit. - Added dedicated audit tasks: - backend audit via pip-audit - frontend audit via yarn npm audit - Updated CI/CD workflow to include and gate on frontend/backend audit jobs. - Switched backend vulnerability scanning from Safety to pip-audit to avoid interactive/auth requirements in CI. - Updated backend dependency set and lockfile to resolve test dependency conflicts and keep the environment solvable. - Marked backend integration API tests with the integration marker so marker-based unit/integration separation works consistently. ## Validation - Pre-commit hooks run and pass after formatting/autofixes. - Branch commit created successfully after hook-driven file updates. - Branch pushed to remote and tracking is configured. ## Notes - pip-audit now executes from backend context (for example via uv --directory backend run ...), matching project layout. - Remaining reported vulnerabilities depend on upstream package fix availability/constraints and may require follow-up once publishable fix versions are consumable. ## Follow-ups (optional) - Add a curated pip-audit ignore policy for non-actionable/transient advisories with rationale. - Open a focused follow-up PR for remaining dependency advisories once upstream fixes are practically installable.
copilotcoder was assigned by darkhelm 2026-07-13 14:47:27 -04:00
darkhelm added 1 commit 2026-07-13 14:47:33 -04:00
feat: integrate security audits across pre-commit and CI
Some checks failed
CICD / Build and Publish CICD Base Image (push) Successful in 47s
CICD / Backend Dependency Audit (pull_request) Blocked by required conditions
CICD / E2E Tests Failure Postmortem (pull_request) Blocked by required conditions
CICD / CICD Tests Complete (pull_request) Blocked by required conditions
CICD / Build Backend Base Image (pull_request) Blocked by required conditions
CICD / Build Frontend Base Image (pull_request) Blocked by required conditions
CICD / Build Integration Tester Image (pull_request) Blocked by required conditions
CICD / Build E2E Tester Image (pull_request) Blocked by required conditions
CICD / Build Backend Main Image (pull_request) Blocked by required conditions
CICD / Build Frontend Main Image (pull_request) Blocked by required conditions
CICD / Production Images Complete (pull_request) Blocked by required conditions
CICD / Production Image Failures Postmortem (pull_request) Blocked by required conditions
CICD / Source Lanes Failure Postmortem (pull_request) Blocked by required conditions
CICD / Runtime Black-Box Integration Tests (pull_request) Blocked by required conditions
CICD / Integration Tests Failure Postmortem (pull_request) Blocked by required conditions
CICD / End-to-End Tests (pull_request) Blocked by required conditions
CICD / Build and Push CICD Image (push) Has been cancelled
CICD / Build CICD Image Failure Postmortem (push) Has been cancelled
CICD / Backend Tests (push) Has been cancelled
CICD / Pre-commit Checks (push) Has been cancelled
CICD / Frontend Tests (push) Has been cancelled
CICD / Backend Doctests (push) Has been cancelled
CICD / Frontend Dependency Audit (push) Has been cancelled
CICD / Backend Dependency Audit (push) Has been cancelled
CICD / CICD Tests Complete (push) Has been cancelled
CICD / Build Backend Base Image (push) Has been cancelled
CICD / Build Frontend Base Image (push) Has been cancelled
CICD / Build Integration Tester Image (push) Has been cancelled
CICD / Build E2E Tester Image (push) Has been cancelled
CICD / Build Backend Main Image (push) Has been cancelled
CICD / Build Frontend Main Image (push) Has been cancelled
CICD / Production Images Complete (push) Has been cancelled
CICD / Production Image Failures Postmortem (push) Has been cancelled
CICD / Source Lanes Failure Postmortem (push) Has been cancelled
CICD / Runtime Black-Box Integration Tests (push) Has been cancelled
CICD / Integration Tests Failure Postmortem (push) Has been cancelled
CICD / End-to-End Tests (push) Has been cancelled
CICD / E2E Tests Failure Postmortem (push) Has been cancelled
CICD / Build and Publish CICD Base Image (pull_request) Successful in 40s
CICD / Build CICD Image Failure Postmortem (pull_request) Has been cancelled
CICD / Build and Push CICD Image (pull_request) Has been cancelled
CICD / Backend Tests (pull_request) Has been cancelled
CICD / Pre-commit Checks (pull_request) Has been cancelled
CICD / Frontend Tests (pull_request) Has been cancelled
CICD / Backend Doctests (pull_request) Has been cancelled
CICD / Frontend Dependency Audit (pull_request) Has been cancelled
c2ff0a1699
darkhelm changed title from eat: integrate security audits into pre-commit and CI/CD with backend pip-audit migration to feat: integrate security audits into pre-commit and CI/CD with backend pip-audit migration 2026-07-13 14:49:20 -04:00
darkhelm added 1 commit 2026-07-13 15:50:37 -04:00
fix: harden renovate datasource access and registry reliability
Some checks failed
CICD / Build CICD Image Failure Postmortem (push) Blocked by required conditions
CICD / Backend Tests (push) Blocked by required conditions
CICD / Pre-commit Checks (push) Blocked by required conditions
CICD / Frontend Tests (push) Blocked by required conditions
CICD / Backend Doctests (push) Blocked by required conditions
CICD / Frontend Dependency Audit (push) Blocked by required conditions
CICD / Backend Dependency Audit (push) Blocked by required conditions
CICD / CICD Tests Complete (push) Blocked by required conditions
CICD / Build Backend Base Image (push) Blocked by required conditions
CICD / Build Frontend Base Image (push) Blocked by required conditions
CICD / Build Integration Tester Image (push) Blocked by required conditions
CICD / Build E2E Tester Image (push) Blocked by required conditions
CICD / Build Backend Main Image (push) Blocked by required conditions
CICD / Build Frontend Main Image (push) Blocked by required conditions
CICD / Production Images Complete (push) Blocked by required conditions
CICD / Production Image Failures Postmortem (push) Blocked by required conditions
CICD / Source Lanes Failure Postmortem (push) Blocked by required conditions
CICD / Build and Publish CICD Base Image (push) Successful in 25s
CICD / Runtime Black-Box Integration Tests (push) Blocked by required conditions
CICD / Integration Tests Failure Postmortem (push) Blocked by required conditions
CICD / End-to-End Tests (push) Blocked by required conditions
CICD / E2E Tests Failure Postmortem (push) Blocked by required conditions
CICD / Build and Publish CICD Base Image (pull_request) Successful in 1m19s
CICD / Build and Push CICD Image (push) Has been cancelled
CICD / Build and Push CICD Image (pull_request) Successful in 1h20m2s
CICD / Build CICD Image Failure Postmortem (pull_request) Has been skipped
CICD / Backend Tests (pull_request) Failing after 2m2s
CICD / Backend Doctests (pull_request) Successful in 47s
CICD / Frontend Dependency Audit (pull_request) Failing after 2m27s
CICD / Backend Dependency Audit (pull_request) Failing after 2m3s
CICD / Pre-commit Checks (pull_request) Failing after 10m36s
CICD / Frontend Tests (pull_request) Failing after 15m32s
CICD / CICD Tests Complete (pull_request) Failing after 34s
CICD / Build Backend Base Image (pull_request) Has been skipped
CICD / Build Frontend Base Image (pull_request) Has been skipped
CICD / Build Integration Tester Image (pull_request) Has been skipped
CICD / Build E2E Tester Image (pull_request) Has been skipped
CICD / Build Backend Main Image (pull_request) Has been skipped
CICD / Build Frontend Main Image (pull_request) Has been skipped
CICD / Source Lanes Failure Postmortem (pull_request) Successful in 31s
CICD / Production Images Complete (pull_request) Failing after 34s
CICD / Production Image Failures Postmortem (pull_request) Has been skipped
CICD / Runtime Black-Box Integration Tests (pull_request) Has been skipped
CICD / End-to-End Tests (pull_request) Has been skipped
CICD / Integration Tests Failure Postmortem (pull_request) Has been skipped
CICD / E2E Tests Failure Postmortem (pull_request) Has been skipped
8c925d2b39
darkhelm added 1 commit 2026-07-13 17:33:22 -04:00
perf: reduce renovate datasource latency and timeout impact
Some checks failed
CICD / CICD Tests Complete (push) Blocked by required conditions
CICD / Build Backend Base Image (push) Blocked by required conditions
CICD / E2E Tests Failure Postmortem (pull_request) Blocked by required conditions
CICD / Build Frontend Base Image (push) Blocked by required conditions
CICD / Build Integration Tester Image (push) Blocked by required conditions
CICD / CICD Tests Complete (pull_request) Blocked by required conditions
CICD / Build E2E Tester Image (push) Blocked by required conditions
CICD / Build Backend Base Image (pull_request) Blocked by required conditions
CICD / Build Backend Main Image (push) Blocked by required conditions
CICD / Build Frontend Base Image (pull_request) Blocked by required conditions
CICD / Build Frontend Main Image (push) Blocked by required conditions
CICD / Build Integration Tester Image (pull_request) Blocked by required conditions
CICD / Production Images Complete (push) Blocked by required conditions
CICD / Build E2E Tester Image (pull_request) Blocked by required conditions
CICD / Build Backend Main Image (pull_request) Blocked by required conditions
CICD / Production Image Failures Postmortem (push) Blocked by required conditions
CICD / Build Frontend Main Image (pull_request) Blocked by required conditions
CICD / Source Lanes Failure Postmortem (push) Blocked by required conditions
CICD / Build and Publish CICD Base Image (push) Successful in 27s
CICD / Runtime Black-Box Integration Tests (push) Blocked by required conditions
CICD / Production Images Complete (pull_request) Blocked by required conditions
CICD / Integration Tests Failure Postmortem (push) Blocked by required conditions
CICD / Production Image Failures Postmortem (pull_request) Blocked by required conditions
CICD / End-to-End Tests (push) Blocked by required conditions
CICD / Source Lanes Failure Postmortem (pull_request) Blocked by required conditions
CICD / E2E Tests Failure Postmortem (push) Blocked by required conditions
CICD / Runtime Black-Box Integration Tests (pull_request) Blocked by required conditions
CICD / Integration Tests Failure Postmortem (pull_request) Blocked by required conditions
CICD / End-to-End Tests (pull_request) Blocked by required conditions
CICD / Build and Publish CICD Base Image (pull_request) Successful in 46s
CICD / Build and Push CICD Image (push) Successful in 1h19m42s
CICD / Build CICD Image Failure Postmortem (push) Has been skipped
CICD / Backend Tests (push) Failing after 2m1s
CICD / Pre-commit Checks (push) Successful in 7m32s
CICD / Backend Dependency Audit (push) Failing after 2m12s
CICD / Frontend Tests (push) Successful in 10m2s
CICD / Frontend Dependency Audit (push) Failing after 10m1s
CICD / Backend Doctests (push) Failing after 10m9s
CICD / Build and Push CICD Image (pull_request) Successful in 2h41m15s
CICD / Pre-commit Checks (pull_request) Successful in 2m57s
CICD / Build CICD Image Failure Postmortem (pull_request) Has been skipped
CICD / Backend Doctests (pull_request) Successful in 40s
CICD / Frontend Dependency Audit (pull_request) Failing after 1m20s
CICD / Backend Dependency Audit (pull_request) Failing after 1m15s
CICD / Backend Tests (pull_request) Failing after 11m5s
CICD / Frontend Tests (pull_request) Failing after 3h13m3s
fd46194673
darkhelm added 1 commit 2026-07-13 21:39:58 -04:00
perf: split renovate into low-memory manager batches
Some checks failed
CICD / Build and Publish CICD Base Image (push) Waiting to run
CICD / Build and Publish CICD Base Image (pull_request) Successful in 47s
CICD / E2E Tests Failure Postmortem (push) Has been cancelled
CICD / Build and Push CICD Image (push) Has been cancelled
CICD / Build CICD Image Failure Postmortem (push) Has been cancelled
CICD / Backend Tests (push) Has been cancelled
CICD / Pre-commit Checks (push) Has been cancelled
CICD / Frontend Tests (push) Has been cancelled
CICD / Backend Doctests (push) Has been cancelled
CICD / Frontend Dependency Audit (push) Has been cancelled
CICD / Backend Dependency Audit (push) Has been cancelled
CICD / CICD Tests Complete (push) Has been cancelled
CICD / Build Backend Base Image (push) Has been cancelled
CICD / Build Frontend Base Image (push) Has been cancelled
CICD / Build Integration Tester Image (push) Has been cancelled
CICD / Production Image Failures Postmortem (push) Has been cancelled
CICD / Source Lanes Failure Postmortem (push) Has been cancelled
CICD / Runtime Black-Box Integration Tests (push) Has been cancelled
CICD / Build E2E Tester Image (push) Has been cancelled
CICD / Build Backend Main Image (push) Has been cancelled
CICD / Build Frontend Main Image (push) Has been cancelled
CICD / Production Images Complete (push) Has been cancelled
CICD / Integration Tests Failure Postmortem (push) Has been cancelled
CICD / End-to-End Tests (push) Has been cancelled
CICD / Build and Push CICD Image (pull_request) Successful in 1h14m16s
CICD / Build CICD Image Failure Postmortem (pull_request) Has been skipped
CICD / Pre-commit Checks (pull_request) Successful in 7m39s
CICD / Backend Tests (pull_request) Failing after 9m8s
CICD / Backend Doctests (pull_request) Successful in 21s
CICD / Frontend Tests (pull_request) Successful in 1m51s
CICD / Frontend Dependency Audit (pull_request) Failing after 1m22s
CICD / Backend Dependency Audit (pull_request) Failing after 2m13s
CICD / Source Lanes Failure Postmortem (pull_request) Successful in 32s
CICD / CICD Tests Complete (pull_request) Failing after 33s
CICD / Build Backend Base Image (pull_request) Has been skipped
CICD / Build Frontend Base Image (pull_request) Has been skipped
CICD / Build Integration Tester Image (pull_request) Has been skipped
CICD / Build E2E Tester Image (pull_request) Has been skipped
CICD / Build Backend Main Image (pull_request) Has been skipped
CICD / Build Frontend Main Image (pull_request) Has been skipped
CICD / Production Images Complete (pull_request) Failing after 41s
CICD / Runtime Black-Box Integration Tests (pull_request) Has been skipped
CICD / End-to-End Tests (pull_request) Has been skipped
CICD / Production Image Failures Postmortem (pull_request) Has been skipped
CICD / Integration Tests Failure Postmortem (pull_request) Has been skipped
CICD / E2E Tests Failure Postmortem (pull_request) Has been skipped
9f9d2dbf45
darkhelm added 1 commit 2026-07-13 21:52:29 -04:00
chore: include quick renovate check script update
Some checks failed
CICD / Build and Publish CICD Base Image (pull_request) Successful in 5m44s
CICD / Build and Publish CICD Base Image (push) Successful in 24s
CICD / Build and Push CICD Image (pull_request) Successful in 41m31s
CICD / Build CICD Image Failure Postmortem (pull_request) Has been skipped
CICD / Backend Tests (pull_request) Failing after 8m18s
CICD / Pre-commit Checks (pull_request) Failing after 2m19s
CICD / Frontend Tests (pull_request) Failing after 44s
CICD / Backend Doctests (pull_request) Successful in 21s
CICD / Frontend Dependency Audit (pull_request) Failing after 1m20s
CICD / Backend Dependency Audit (pull_request) Failing after 1m30s
CICD / Source Lanes Failure Postmortem (pull_request) Successful in 27s
CICD / CICD Tests Complete (pull_request) Failing after 36s
CICD / Build Backend Base Image (pull_request) Has been skipped
CICD / Build Frontend Base Image (pull_request) Has been skipped
CICD / Build Integration Tester Image (pull_request) Has been skipped
CICD / Build E2E Tester Image (pull_request) Has been skipped
CICD / Build Backend Main Image (pull_request) Has been skipped
CICD / Build Frontend Main Image (pull_request) Has been skipped
CICD / Production Images Complete (pull_request) Failing after 35s
CICD / Runtime Black-Box Integration Tests (pull_request) Has been skipped
CICD / End-to-End Tests (pull_request) Has been skipped
CICD / Production Image Failures Postmortem (pull_request) Has been skipped
CICD / Build and Push CICD Image (push) Successful in 44m27s
CICD / Build CICD Image Failure Postmortem (push) Has been skipped
CICD / Backend Tests (push) Failing after 1m16s
CICD / Pre-commit Checks (push) Failing after 2m22s
CICD / E2E Tests Failure Postmortem (pull_request) Failing after 11m49s
CICD / Integration Tests Failure Postmortem (pull_request) Failing after 11m56s
CICD / Frontend Tests (push) Failing after 44s
CICD / Backend Doctests (push) Successful in 23s
CICD / Frontend Dependency Audit (push) Failing after 1m16s
CICD / Source Lanes Failure Postmortem (push) Successful in 22s
CICD / Backend Dependency Audit (push) Failing after 9m21s
CICD / CICD Tests Complete (push) Failing after 36s
CICD / Build Backend Base Image (push) Has been skipped
CICD / Build Frontend Base Image (push) Has been skipped
CICD / Build Integration Tester Image (push) Has been skipped
CICD / Build E2E Tester Image (push) Has been skipped
CICD / Build Backend Main Image (push) Has been skipped
CICD / Build Frontend Main Image (push) Has been skipped
CICD / Production Image Failures Postmortem (push) Has been skipped
CICD / Production Images Complete (push) Failing after 1h51m39s
CICD / Runtime Black-Box Integration Tests (push) Has been skipped
CICD / End-to-End Tests (push) Has been skipped
CICD / E2E Tests Failure Postmortem (push) Has been skipped
CICD / Integration Tests Failure Postmortem (push) Has been skipped
343966d8e6
darkhelm merged commit f627ef018a into main 2026-07-13 22:20:10 -04:00
darkhelm deleted branch feat/security-audit-precommit-cicd 2026-07-13 22:20:26 -04:00
Sign in to join this conversation.