Skip to content

ci: add CodeQL code scanning (Rust + Angular frontend) - #98

Merged
thedancingdeveloper merged 4 commits into
mainfrom
security/codeql-scanning
Aug 30, 2026
Merged

ci: add CodeQL code scanning (Rust + Angular frontend)#98
thedancingdeveloper merged 4 commits into
mainfrom
security/codeql-scanning

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Collaborator

Closes the code-scanning blind spot flagged during the security review (WI-4). Secret scanning + push protection were enabled on the repo via API alongside this.

What

  • New .github/workflows/codeql.yml analyzing two languages in a matrix:
    • rustbuild-mode: autobuild
    • javascript-typescriptbuild-mode: none (frontend, no build needed)
  • Runs on the standard self-hosted fleet [self-hosted, node-b, linux, x64, rust]passes the runner-policy gate (verified locally with scripts/runner_policy.py: "8 workflow file(s) audited, all self-hosted").
  • Triggers: push to main, PRs, weekly schedule, manual dispatch. Skips Bot PRs like ci.yml. fail-fast: false so one language's failure doesn't hide the other.

⚠️ First-run watch items

Because CodeQL hasn't run on these self-hosted runners before, the first run needs an eye on:

  1. CodeQL bundle download — the runners must have egress to GitHub's CodeQL releases; if egress is locked down this step will fail.
  2. Rust analysis memory — CI comments note tight memory limits on the isolated runners; the Rust build tracer is heavy. CARGO_BUILD_JOBS: 1 is set to match CI. If Rust OOMs/times out, the fallback is to scope this workflow to javascript-typescript only and pursue Rust scanning once runner capacity is confirmed.

Recommendation (separate)

dependabot_security_updates is currently disabled — enabling it would auto-open fix PRs for future advisories. Happy to flip that too if wanted.

🤖 Generated with Claude Code

thedancingdeveloper and others added 2 commits August 25, 2026 09:03
Adds static analysis (code scanning) covering the Rust workspace (build-mode
autobuild) and the TypeScript/Angular frontend (build-mode none). Findings
surface under Security > Code scanning and as PR annotations.

Runs on the same self-hosted [self-hosted, node-b, linux, x64, rust] fleet as
the rest of CI (passes the runner-policy gate; verified with
scripts/runner_policy.py). Triggers on push to main, PRs, a weekly schedule,
and manual dispatch. Bot (Dependabot) PRs are skipped, matching ci.yml.

Companion to enabling secret scanning + push protection on the repository.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcRDAbyqhY88qnQBaMtue8
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

thedancingdeveloper and others added 2 commits August 30, 2026 00:19
The Rust extractor in the CodeQL bundle only supports buildless extraction;
`database init --build-mode=autobuild` fails with "Rust does not support the
autobuild build mode." Switch the Rust matrix entry to build-mode: none (the
js/ts entry already was), which also removes any build/tracing memory concern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcRDAbyqhY88qnQBaMtue8
@thedancingdeveloper
thedancingdeveloper merged commit b8c71bc into main Aug 30, 2026
10 checks passed
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