Skip to content

fix(deps): pin vulnerable transitive dependencies, add bun audit CI - #3

Merged
sdOps merged 5 commits into
mainfrom
feat/infra-release
Sep 16, 2026
Merged

sdOps merged 5 commits into
mainfrom
feat/infra-release

Conversation

@sdOps

@sdOps sdOps commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Closes #2.

bun audit found 6 vulnerable transitive packages (shell-quote, brace-expansion, protobufjs, undici, nanoid, postcss) that Dependabot never flagged, since GitHub's dependency graph doesn't parse bun.lock.

  • Pin patched versions via package.json overrides in all three lockfiles
  • Add a weekly + on-push/PR bun audit workflow (mirrors gwlint's govulncheck job)
  • Add SECURITY.md

Verified: bun audit clean in all three workspaces, typecheck/tests/UI build/docker compose build all pass.

bun audit flagged six transitive packages with known CVEs across the
three lockfiles: shell-quote, brace-expansion, protobufjs, undici,
nanoid, postcss. None are direct dependencies, so pin the patched
versions via package.json overrides.
GitHub's dependency graph doesn't parse bun.lock, so Dependabot alerts
never fire here. Run bun audit on push, PR, and a weekly schedule
instead, mirroring the govulncheck workflow in gwlint.
Adapted from gwlint's SECURITY.md, scoped to argus's actual attack
surface (REST/WebSocket/webhook endpoints, tool-calling agent) instead
of copied as-is.
v5 was two majors behind. No behavior change affects these workflows
(v6's cred-persistence change and v7's fork-PR checkout block are both
no-ops here). oven-sh/setup-bun@v2 already floats to the latest v2.x
release, so it's unchanged.
Mirrors gwlint's pr-title.yml. Same action, same pinned version.
@sdOps
sdOps merged commit 426f29e into main Sep 16, 2026
4 checks passed
@sdOps
sdOps deleted the feat/infra-release branch September 16, 2026 04:39
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.

Fix vulnerable transitive dependencies and cover them in CI

1 participant