Skip to content

ci(codeql): scan actions instead of empty javascript-typescript matrix#32

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/codeql-actions-matrix
May 15, 2026
Merged

ci(codeql): scan actions instead of empty javascript-typescript matrix#32
hyperpolymath merged 1 commit into
mainfrom
claude/codeql-actions-matrix

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Follow-up cleanup flagged by the Hypatia scan on #31.

.github/workflows/codeql.yml runs its matrix with
language: javascript-typescript, but the repo has no JS/TS sources (the
language policy bans them; the codebase is Rust/ReScript). The analyze
job therefore exits with "no source files" on every PR/push/schedule and
uploads no real analysis.

This switches the matrix to language: actions, which scans the GitHub
Actions workflow files that every repo has, so the security-events
upload reports something meaningful instead of a perpetual no-op.

One-line change, build-mode: none kept (no compilation needed for the
actions language).

Test plan

  • Single-line workflow edit; CodeQL actions analysis will exercise it on this PR
  • Confirm the analyze job no longer reports "no source files"

https://claude.ai/code/session_017KxkerbS1hjJwipTExFxLc


Generated by Claude Code

The repo has no JS/TS sources (language policy bans them; codebase is
Rust/ReScript), so the CodeQL `javascript-typescript` matrix exits with
"no source files" on every run and produces no analysis. Switch the
matrix to `actions`, which scans the workflow files every repo has and
gives the security-events upload something real to report.

https://claude.ai/code/session_017KxkerbS1hjJwipTExFxLc
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 44 issues detected

Severity Count
🔴 Critical 8
🟠 High 18
🟡 Medium 18

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Admitted leaves proof hole (1 occurrences, CWE-704)",
    "type": "admitted",
    "file": "/home/runner/work/my-lang/my-lang/proofs/verification/coq/Typing.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "Docker reference in Nickel config -- RSR requires Podman/Containerfile (1 occurrences, CWE-1104)",
    "type": "ncl_docker_not_podman",
    "file": "/home/runner/work/my-lang/my-lang/.machine_readable/svc/k9/my-lang-metadata.k9.ncl",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unwrap() without prior check -- DoS via panic (2 occurrences, CWE-754)",
    "type": "unwrap_without_check",
    "file": "/home/runner/work/my-lang/my-lang/src/proptest.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "panic! macro causes unrecoverable crash (1 occurrences, CWE-754)",
    "type": "panic_macro",
    "file": "/home/runner/work/my-lang/my-lang/src/proptest.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "unwrap_or(0) with dangerous default (1 occurrences, CWE-754)",
    "type": "unwrap_dangerous_default",
    "file": "/home/runner/work/my-lang/my-lang/playground/hives/me/crates/parser/src/lib.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "expect() in hot path (80 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/my-lang/my-lang/playground/hives/me/crates/parser/src/lib.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unwrap() without prior check -- DoS via panic (2 occurrences, CWE-754)",
    "type": "unwrap_without_check",
    "file": "/home/runner/work/my-lang/my-lang/dialects/solo/compiler/src/lexer.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "unwrap() without prior check -- DoS via panic (1 occurrences, CWE-754)",
    "type": "unwrap_without_check",
    "file": "/home/runner/work/my-lang/my-lang/lib/common/string.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "unwrap() without prior check -- DoS via panic (13 occurrences, CWE-754)",
    "type": "unwrap_without_check",
    "file": "/home/runner/work/my-lang/my-lang/lib/common/concurrency.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "Lock.unwrap() without poison handling (8 occurrences, CWE-754)",
    "type": "lock_unwrap",
    "file": "/home/runner/work/my-lang/my-lang/lib/common/concurrency.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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

@hyperpolymath
hyperpolymath marked this pull request as ready for review May 15, 2026 17:47
@hyperpolymath
hyperpolymath merged commit abc4b49 into main May 15, 2026
21 checks passed
@hyperpolymath
hyperpolymath deleted the claude/codeql-actions-matrix branch May 15, 2026 17:47
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.

3 participants