Skip to content

Add CodeQL + Dependabot + SECURITY.md baseline#1

Closed
elkimek wants to merge 1 commit into
mainfrom
ci/security-baseline
Closed

Add CodeQL + Dependabot + SECURITY.md baseline#1
elkimek wants to merge 1 commit into
mainfrom
ci/security-baseline

Conversation

@elkimek
Copy link
Copy Markdown
Owner

@elkimek elkimek commented May 1, 2026

Summary

Site repo's first security setup. Same pattern as the relay/agents/lab-charts PRs but scoped down for a static-site codebase.

  • .github/workflows/codeql.yml — JS-TS analysis with the default query suite. Default (not security-extended) because the JS surface is tiny: build-blog.js runs at build time with no user input, and inline <script> blocks in HTML are the only runtime JS.
  • .github/dependabot.yml — github-actions only at monthly cadence. No npm/pip ecosystem because there's no package.json at root.
  • SECURITY.md — new. Calls out the install.sh + install.sh.sha256 trust assumption explicitly (it's the only network-trust the agent stack relies on).
  • Repo toggles enabled out-of-band: vulnerability alerts, automated security fixes, private vulnerability reporting. Secret scanning + push protection already on.

Why this is light vs. the other repos

Static site → small attack surface. The most likely real findings are: XSS via inline <script> interpolation, an unsafe innerHTML in build-blog.js, or a supply-chain issue with the install script. The default CodeQL query suite catches the first two; SECURITY.md documents the channel for the third.

If a real build pipeline (Astro, Eleventy, etc.) lands later, switch the dependabot config to add the appropriate npm ecosystem and consider bumping CodeQL to security-extended.

Test plan

  • CodeQL job runs to completion (~3-5 min on a small repo).
  • After merge, confirm Security tab shows: Code scanning enabled · Dependabot enabled · Secret scanning enabled · Private vulnerability reporting enabled.
  • Skim initial CodeQL findings — likely zero or 1-2 minor inline-HTML notes.

CodeQL workflow:
- JavaScript-TypeScript analysis on push, PR, weekly cron.
- Default query suite (no security-extended) — static-site code surface
  is small (build-blog.js + inline <script> in HTML pages) and the
  default queries already cover the XSS-shape findings worth surfacing.
- 15-min timeout cap.

Dependabot:
- github-actions only at monthly cadence. The repo has no package.json
  at root and the build script uses Node stdlib, so there's no pip /
  npm surface to track until a real build pipeline lands.

SECURITY.md:
- Routes vulnerability reports to GitHub Security Advisories.
- Calls out the install.sh + sha256 trust assumption explicitly so
  any supply-chain finding has a clear disclosure path.
- Cross-references the app + relay repos for non-site reports.

Repo-level toggles enabled out-of-band via gh api: vulnerability
alerts, automated security fixes, private vulnerability reporting.
Secret scanning + push protection were already on.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
get-based-site Ready Ready Preview, Comment May 1, 2026 3:36pm

@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.

@elkimek elkimek closed this May 14, 2026
@elkimek elkimek deleted the ci/security-baseline branch May 14, 2026 10:05
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