chore(ci): replace secret-scanner.yml with reusable wrapper#26
Merged
Conversation
Pins to hyperpolymath/standards#190 merge SHA 3e4bd4c93911750727e2e4c66dff859e00079da0. Force-propagates the shell-secrets job (added post-Cloudflare-leak 2026-05-21) to this repo's secret-scanning gate. Replaces ~75-116 lines with a ~14-line wrapper. Part of estate-wide convergence campaign 2026-05-26 (standards#199 / #190).
🔍 Hypatia Security ScanFindings: 32 issues detected
View findings[
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "codeql.yml lists `language: javascript-typescript` but the repo has no source files in any CodeQL-scannable language. The analyze job will exit 'no source files' on every run. Switch the matrix to `actions` (which scans workflow files — every repo has those).",
"type": "codeql_language_matrix_mismatch",
"file": "codeql.yml",
"action": "switch_codeql_matrix_to_actions",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "unwrap_or(0) with dangerous default (1 occurrences, CWE-754)",
"type": "unwrap_dangerous_default",
"file": "/home/runner/work/palimpsest-plasma/palimpsest-plasma/plasma-parser/src/spdx/lexer.rs",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "unwrap_or(0) with dangerous default (2 occurrences, CWE-754)",
"type": "unwrap_dangerous_default",
"file": "/home/runner/work/palimpsest-plasma/palimpsest-plasma/plasma-parser/src/spdx/catalog.rs",
"action": "flag",
"rule_module": "code_safety",
"severity": "critical"
},
{
"reason": "Download-and-execute pattern (curl|wget pipe to shell) -- verify integrity before execution (3 occurrences, CWE-494)",
"type": "shell_download_then_run",
"file": "/home/runner/work/palimpsest-plasma/palimpsest-plasma/setup.sh",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "Nominal-only SAST in palimpsest-plasma: 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/palimpsest-plasma/palimpsest-plasma",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Add CodeQL or equivalent SAST workflow.",
"scorecard_check": "SAST"
},
{
"reason": "Repository has 9 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/hypatia-scan.yml",
"action": "update",
"rule_module": "code_scanning_alerts",
"severity": "high"
},
{
"reason": "Code scanning (Hypatia): hypatia/code_safety/unwrap_dangerous_default -- Hypatia code_safety: unwrap_dangerous_default -- 4 day(s) old",
"type": "CSA001",
"file": "plasma-parser/src/spdx/catalog.rs",
"action": "update",
"rule_module": "code_scanning_alerts",
"severity": "high"
},
{
"reason": "Code scanning (Hypatia): hypatia/code_safety/unwrap_dangerous_default -- Hypatia code_safety: unwrap_dangerous_default -- 4 day(s) old",
"type": "CSA001",
"file": "plasma-parser/src/spdx/lexer.rs",
"action": "update",
"rule_module": "code_scanning_alerts",
"severity": "high"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
hyperpolymath
added a commit
that referenced
this pull request
Jun 2, 2026
…33) Validator PR #26 (merged 2026-06-01) taught the action to recognise both TOML `name = "x"` AND s-expression `(name "x")` identity and version forms. The pre-fix SHA only matched TOML, so any `.a2ml` file using s-expression dialect (idiomatic in campaign reports and audit registries) failed Dogfood Gate with "Missing required identity field" even when the field was structurally present. Real-world bite: hyperpolymath/panic-attack#94 hit this on docs/campaigns/2026-05-26.a2ml on 2026-06-01. This bump is purely a workflow SHA refresh; no behavioural change for repos that don't carry s-expression manifests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces this repo's
secret-scanner.yml(~75-116 lines) with a thin ~14-line wrapper callinghyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@3e4bd4c93911750727e2e4c66dff859e00079da0(merged via standards#190).Security debt closed
The
shell-secretsjob (added to the canonical 2026-05-21 in direct response to the live Cloudflare API token leak viaavow-protocol/deploy-repos.sh— a leak bothtrufflehog --only-verifiedand defaultgitleaksmissed) was carried by 0 of 16 sampled estate copies. This PR brings that guardrail to this repo.Why now
Estate audit: 281
secret-scanner.ymldeployments / 54 unique SHAs / 19% true drift. Drift is pin churn + whitespace; feature variance is near-zero. Converging behind the reusable means the next post-incident guardrail update propagates via one SHA bump.secrets: inheritflowsGITHUB_TOKENthrough implicitly so thegitleaks-actionstep doesn't fall back to anonymous (rate-limited) mode.Part of estate-wide convergence campaign 2026-05-26 (standards#199 / #190).