Skip to content

ci(workflow): adopt hardened hypatia-scan from hyperpolymath/hypatia#237#60

Merged
hyperpolymath merged 3 commits into
mainfrom
ci/adopt-hardened-hypatia-scan-workflow
May 14, 2026
Merged

ci(workflow): adopt hardened hypatia-scan from hyperpolymath/hypatia#237#60
hyperpolymath merged 3 commits into
mainfrom
ci/adopt-hardened-hypatia-scan-workflow

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Workflow-only commit; baseline follows after the new workflow's first run captures findings. Unblocks #59.

hyperpolymath and others added 3 commits May 14, 2026 11:47


Replaces the local copy of `.github/workflows/hypatia-scan.yml` with the
canonical version from upstream main. The old copy had three issues that
combined to break every Dependabot PR:

1. `working-directory: \${{ env.HOME }}/hypatia\``, where `env.HOME`
   is not a GHA context — it evaluated to empty, so `cd /hypatia`
   failed and the scanner was never built.
2. `hypatia-cli.sh scan .` without `--exit-zero` — scanner exit-1 on
   findings short-circuited the rest of the step under `set -e`.
3. No baseline gate, so any pre-existing critical/high failed the build.

Upstream version:
- captures scanner exit code + stderr (visible on crash)
- falls back to `[]` on missing/invalid JSON
- reads `.hypatia-baseline.json` and fails only on NET-NEW critical/high
- scopes permissions narrowly (contents: read, pull-requests: write)
- marks the PR-comment step `continue-on-error: true` so Dependabot PRs
  (read-only token) don't fail on the unavoidable 403

Baseline file follows in a second commit on this branch — first we need
the new workflow to actually run and capture current findings.

Unblocks PR #59 (CODEOWNERS) which is stuck on this exact scan.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Previous commit on this branch wrote the YAML as a single line due to a
PowerShell encoding/-NoNewline mistake on my end. This re-applies the
canonical workflow content byte-for-byte, with line breaks intact, so
GitHub Actions can parse it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… first scan

Captured from run 25856301390 on this branch. 32 critical+high entries accepted as pre-existing baseline. Net-new findings going forward will still fail the gate.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 90 issues detected

Severity Count
🔴 Critical 19
🟠 High 13
🟡 Medium 58

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "boj-build.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "casket-pages.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "casket-pages.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "codeql.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/a2ml-validate-action needs attention",
    "type": "wrong_sha_pin",
    "file": "dogfood-gate.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/k9-validate-action needs attention",
    "type": "wrong_sha_pin",
    "file": "dogfood-gate.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "elixir-ci.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "elixir.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "generator-generic-ossf-slsa3-publish.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout needs attention",
    "type": "wrong_sha_pin",
    "file": "guix-nix-policy.yml",
    "action": "update_pin",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 4ca514a into main May 14, 2026
15 of 17 checks passed
@hyperpolymath hyperpolymath deleted the ci/adopt-hardened-hypatia-scan-workflow branch May 14, 2026 11:21
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.

1 participant