Skip to content

ci(codeql): scan the 'actions' language (workflow files)#365

Merged
hyperpolymath merged 3 commits into
mainfrom
claude/codeql-actions-language
Jun 3, 2026
Merged

ci(codeql): scan the 'actions' language (workflow files)#365
hyperpolymath merged 3 commits into
mainfrom
claude/codeql-actions-language

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

@hyperpolymath hyperpolymath commented Jun 3, 2026

Scan the actions language with CodeQL

Adds an actions entry to the CodeQL matrix (build-mode: none) so CodeQL scans the repo's GitHub Actions workflow files for security issues, alongside the existing javascript-typescript analysis.

Resolves the Hypatia workflow_audit finding codeql_missing_actions_language (surfaced on #362 once the medium-severity timeout noise was cleared).

         include:
           - language: javascript-typescript
             build-mode: none
+          - language: actions
+            build-mode: none

Why a separate PR

Per owner request — this enables a new analysis target, isolated from the workflow-hygiene work (#360, #362) so the new scan is easy to review on its own. It may surface new code-scanning alerts on existing workflows; those would be triaged normally.

Also in this PR: registry sync (required to pass registry-verify)

This branch was cut before #356 + #361 landed on main. After merging main in, the registry-verify gate failed because main's committed .machine_readable/REGISTRY.a2ml is itself stale#361's estate-wide workflow edits changed files under tracked spec-home dirs without re-running just registry, leaving 9 source_hash entries out of date. Regenerated deterministically via scripts/build-registry.sh; --check now exits clean. (Heads-up: main's own registry-verify is likely red until this lands or a dedicated regen does.)

PR diff vs main: codeql.yml (+2) and the regenerated REGISTRY.a2ml.

🤖 Draft.

https://claude.ai/code/session_01XZhw6Fq27eoeyEB4LR3a2c

Adds an 'actions' matrix entry (build-mode: none) so CodeQL scans the
repo's GitHub Actions workflows for security issues, alongside the
existing javascript-typescript analysis. Resolves the Hypatia
workflow_audit finding codeql_missing_actions_language.

https://claude.ai/code/session_01XZhw6Fq27eoeyEB4LR3a2c
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🔍 Hypatia Security Scan

Findings: 152 issues detected

Severity Count
🔴 Critical 64
🟠 High 66
🟡 Medium 22

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in governance.yml",
    "type": "missing_timeout_minutes",
    "file": "governance.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in mirror.yml",
    "type": "missing_timeout_minutes",
    "file": "mirror.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in secret-scanner.yml",
    "type": "missing_timeout_minutes",
    "file": "secret-scanner.yml",
    "action": "flag",
    "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 mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Brings in #356 (AffineScript v2 spec registry) and #361 (estate workflow
timeout sweep). Regenerated .machine_readable/REGISTRY.a2ml: main's
committed registry was stale (9 spec source_hashes) because #361 edited
files under tracked spec homes without running 'just registry'. The
registry-verify gate on the PR-merge result now passes.

PR payload remains the codeql 'actions' language addition.

https://claude.ai/code/session_01XZhw6Fq27eoeyEB4LR3a2c
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🔍 Hypatia Security Scan

Findings: 152 issues detected

Severity Count
🔴 Critical 64
🟠 High 66
🟡 Medium 22

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in governance.yml",
    "type": "missing_timeout_minutes",
    "file": "governance.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in mirror.yml",
    "type": "missing_timeout_minutes",
    "file": "mirror.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in secret-scanner.yml",
    "type": "missing_timeout_minutes",
    "file": "secret-scanner.yml",
    "action": "flag",
    "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 mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath marked this pull request as ready for review June 3, 2026 23:12
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 3, 2026 23:13
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🔍 Hypatia Security Scan

Findings: 152 issues detected

Severity Count
🔴 Critical 64
🟠 High 66
🟡 Medium 22

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action for the check script)\n        uses: actions/checkout@de0f needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in governance.yml",
    "type": "missing_timeout_minutes",
    "file": "governance.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in mirror.yml",
    "type": "missing_timeout_minutes",
    "file": "mirror.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in secret-scanner.yml",
    "type": "missing_timeout_minutes",
    "file": "secret-scanner.yml",
    "action": "flag",
    "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 mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in mirror-reusable.yml",
    "type": "secret_action_without_presence_gate",
    "file": "mirror-reusable.yml",
    "action": "webfactory/ssh-agent",
    "rule_module": "workflow_audit",
    "severity": "high"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit c97b2bd into main Jun 3, 2026
22 checks passed
@hyperpolymath hyperpolymath deleted the claude/codeql-actions-language branch June 3, 2026 23:14
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