Skip to content

Improve CodeQL coverage and enforce security findings before merge #305

Open

Description

@san360

Problem

The CodeQL workflow scans JavaScript/TypeScript with the default query suite, but does not run dedicated GitHub Actions analysis. The active rulesets inspected during the configuration review do not require CodeQL scanning or block security findings before merge. A successful analysis workflow alone does not mean there are no findings.

Proposed Solution

Implement the High- and Medium-priority recommendations from the CodeQL configuration review:

  • Add actions to the CodeQL language matrix while retaining javascript-typescript and stable per-language analysis categories.
  • Enable security-extended queries for both languages.
  • Ensure the existing Autobuild step only runs for the JavaScript/TypeScript job, not Actions analysis.
  • Document the scan coverage and administrator setup for merge enforcement.
  • Have a repository administrator enable an active branch ruleset for main requiring CodeQL scan results, blocking High/Critical security alerts and error-level non-security alerts. Enable this after the updated workflow has produced both language analyses, and verify the rule blocks missing scans and qualifying alerts.

The current account has maintainer access (maintain: true, admin: false); live merge-enforcement configuration requires an administrator or an explicitly delegated rules-management role. Keep this issue open until that configuration and verification are complete.

Preserve existing triggers, pinned actions, permissions, and analysis scope. Low-priority cleanup and operational recommendations are out of scope.

Alternatives Considered

  • Keep the default suite: less triage, but less security coverage.
  • Use security-and-quality: broader quality findings overlap with existing TypeScript and ESLint checks; prefer security-extended initially.
  • Require only successful workflow status checks: insufficient to block qualifying CodeQL findings, because a scan can succeed while reporting alerts.

Activity

  1. san360 commented on Oct 23, 2026

    @san360
    ContributorAuthor

    Implementation prepared on branch san360-codeql-configuration-review:

    • Added actions to the CodeQL matrix, preserving JavaScript/TypeScript coverage and stable per-language categories.
    • Enabled security-extended for both languages.
    • Restricted the existing Autobuild step to the JavaScript/TypeScript job.
    • Added administrator merge-protection instructions to CONTRIBUTING.md (CodeQL required; High/Critical security alerts and error-level alerts block merging).

    Validation: workflow YAML parsing and exact configuration assertions passed with Python/PyYAML; git diff --check passed. Confirmed both extended query suites exist upstream. npm run check could not run because dependencies are missing; restoration with npm ci --quiet failed because the configured package feed returned HTTP 404 for vite-8.3.5.tgz. GitHub-hosted CodeQL analysis has not been run for these local changes.

    Outstanding: repository administrator must activate and verify merge enforcement after the updated workflow uploads both language analyses. The effective rules for main currently contain no code-scanning rule. No live repository rules were changed. Keep this issue open until the administrator step and hosted scan verification are complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions