Skip to content

ci(codeql): scan actions extractor, not absent javascript-typescript - #19

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/gallant-faraday-LSAGJ
Jun 18, 2026
Merged

ci(codeql): scan actions extractor, not absent javascript-typescript#19
hyperpolymath merged 1 commit into
mainfrom
claude/gallant-faraday-LSAGJ

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Cliodynamics.jl is a Julia package with no JS/TS source, but .github/workflows/codeql.yml pinned language: javascript-typescript — so the analyze (javascript-typescript) job found no code and failed every run (the CodeQL Security Analysis red on main).

Fix

Switch the matrix to language: actions — CodeQL's actions extractor scans the GitHub Actions workflow files (present in every repo), which is the meaningful SAST target for a non-JS/TS repo. This matches the rest of the estate (Cliometrics, Axiology, nextgen-languages/typing, echo-types already use actions) and closes the Hypatia codeql_language_matrix_mismatch finding.

One-line change + an explanatory comment. Draft until CI confirms analyze (actions) goes green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PWMMxryCcPrAjJ8tuGvygG


Generated by Claude Code

This is a Julia repo with no JS/TS source, so the CodeQL
analyze (javascript-typescript) job found no code and failed. Switch the
matrix to language: actions (scans the GitHub Actions workflow files,
present in every repo) -- matching the rest of the estate and closing the
Hypatia codeql_language_matrix_mismatch finding.

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

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 18 issues detected

Severity Count
🔴 Critical 0
🟠 High 13
🟡 Medium 5
View findings
[
  {
    "reason": "Action julia-actions/CompatHelper@v1 needs attention",
    "type": "unpinned_action",
    "file": "CompatHelper.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "scorecard_publish_with_run_step",
    "file": "scorecard-enforcer.yml",
    "action": "split_scorecard_publish_job",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Nominal-only SAST in Cliodynamics.jl: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
    "type": "StaticAnalysis",
    "file": "/home/runner/work/Cliodynamics.jl/Cliodynamics.jl",
    "action": "auto_fix",
    "rule_module": "scorecard",
    "severity": "medium",
    "remediation": "Add CodeQL or equivalent SAST workflow.",
    "scorecard_check": "SAST"
  },
  {
    "reason": "1 workflow(s) with tag-pinned (not SHA-pinned) actions in Cliodynamics.jl",
    "type": "DependencyPinning",
    "file": "/home/runner/work/Cliodynamics.jl/Cliodynamics.jl",
    "action": "auto_fix",
    "rule_module": "scorecard",
    "severity": "medium",
    "remediation": "Pin GitHub Actions and Docker base images by SHA hash.",
    "scorecard_check": "Pinned-Dependencies"
  },
  {
    "reason": "Repository has 5 non-main remote branch(es). Policy: single main branch only.",
    "type": "GS007",
    "file": ".",
    "action": "delete_remote_branches",
    "rule_module": "git_state",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Scorecard): TokenPermissionsID -- Token-Permissions -- 0 day(s) old",
    "type": "CSA001",
    "file": ".github/workflows/Documenter.yml",
    "action": "update",
    "rule_module": "code_scanning_alerts",
    "severity": "high"
  },
  {
    "reason": "Code scanning (Scorecard): TokenPermissionsID -- Token-Permissions -- 3 day(s) old",
    "type": "CSA001",
    "file": ".github/workflows/hypatia-scan.yml",
    "action": "update",
    "rule_module": "code_scanning_alerts",
    "severity": "high"
  },
  {
    "reason": "Code scanning (Scorecard): TokenPermissionsID -- Token-Permissions -- 3 day(s) old",
    "type": "CSA001",
    "file": ".github/workflows/dependabot-automerge.yml",
    "action": "update",
    "rule_module": "code_scanning_alerts",
    "severity": "high"
  },
  {
    "reason": "Code scanning (Scorecard): TokenPermissionsID -- Token-Permissions -- 3 day(s) old",
    "type": "CSA001",
    "file": ".github/workflows/TagBot.yml",
    "action": "update",
    "rule_module": "code_scanning_alerts",
    "severity": "high"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath marked this pull request as ready for review June 18, 2026 07:01
@hyperpolymath
hyperpolymath merged commit c72e8a9 into main Jun 18, 2026
13 checks passed
@hyperpolymath
hyperpolymath deleted the claude/gallant-faraday-LSAGJ branch June 18, 2026 07:02
@hyperpolymath hyperpolymath mentioned this pull request Jun 23, 2026
13 tasks
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