Refs #84 #87 #174 #361.
Valid current finding
Fresh exact-head review of Draft PR #361 at c6d3fd45eba1aceef074cc8b9934937f67b1d41a found one non-terminal-success security signal that must not be silently accepted: GitHub Advanced Security check Scorecard job 103545605700 completed neutral with 1 configuration not found. The check states that code scanning cannot determine alerts introduced by the pull request because the configuration present on refs/heads/main was not found for Actions workflow scorecard-analysis.yml, category supply-chain/branch-protection.
Protected main@f8260f1e03836039ff9463dd99fa982e4e270c4b owns .github/workflows/scorecard-analysis.yml. Its trigger set is branch_protection_rule, scheduled weekly, and push to main; there is no pull-request analysis. Therefore the default-branch Scorecard SARIF configuration exists in code scanning while a PR head normally has no matching Scorecard SARIF analysis for GitHub to compare. This is a causal observability/configuration mismatch, not a Wardnet product-source finding.
Current OpenSSF Scorecard upstream guidance is material to the repair choice: the supported triggers are push and default-branch schedule; pull_request is experimental and fork repositories are not supported. The canonical upstream Scorecard workflow also runs on default-branch push/schedule rather than normal PR analysis. Do not “fix” the warning by blindly enabling an unsupported/unbounded PR workflow, and do not remove Scorecard SARIF publication merely to make the neutral check disappear.
Ownership / single writer
PR #174 is the current sole writer for .github/workflows/scorecard-analysis.yml and already carries the immutable CodeQL SARIF uploader update. Keep this issue as the RED/acceptance record and repair through #174 or a verified complete successor; do not create a competing workflow writer.
RED acceptance
The existing exact #361 evidence is the reproducible RED:
- head
c6d3fd45eba1aceef074cc8b9934937f67b1d41a;
- Scorecard code-scanning check
103545605700;
- conclusion
neutral;
- warning
1 configuration not found for scorecard-analysis.yml / supply-chain/branch-protection.
Reproduce on one unchanged same-repository PR head before repair. A central CodeQL failure, queued runner, or unrelated source warning is not this RED.
Minimum causal GREEN
Preserve the protected-main Scorecard scan and its SARIF security evidence while making PR comparison behavior explicit and warning-free on the supported Wardnet contribution path.
- Keep OpenSSF Scorecard and SARIF uploader actions pinned by immutable SHA.
- Do not weaken/remove default-branch Scorecard evidence or code-scanning publication merely to suppress the warning.
- Do not use
pull_request_target, execute untrusted PR code with privileged tokens, or grant broader permissions than needed.
- If a same-repository
pull_request lane is selected, prove it against current upstream trigger support, keep fork behavior fail-closed/non-failing, and ensure the SARIF category/configuration identity matches the default-branch configuration GitHub compares.
- If GitHub cannot provide a supported safe PR comparison path for this default-branch-only scanner, document the upstream limitation and move the comparison/verification to an owner-supported evidence surface without manufacturing SUCCESS; the neutral warning must not simply be ignored.
- Preserve the existing
branch_protection_rule, scheduled and protected-main push purposes unless a narrower supported replacement is proven equivalent.
Exact-head completion gate
On one unchanged #174/successor head require current CI/security/SAST/CodeQL/review/thread evidence plus an actual pull-request Scorecard comparison that no longer emits the missing-configuration warning. Re-fetch the check result after the repair. No force push, destructive rebase, self/model approval, routine bypass, workflow-source duplication, disabled security evidence, mutable action pin, or source churn solely to redispatch.
Traceability
Refs #84 #87 #174 #361.
Valid current finding
Fresh exact-head review of Draft PR #361 at
c6d3fd45eba1aceef074cc8b9934937f67b1d41afound one non-terminal-success security signal that must not be silently accepted: GitHub Advanced Security checkScorecardjob103545605700completedneutralwith1 configuration not found. The check states that code scanning cannot determine alerts introduced by the pull request because the configuration present onrefs/heads/mainwas not found for Actions workflowscorecard-analysis.yml, categorysupply-chain/branch-protection.Protected
main@f8260f1e03836039ff9463dd99fa982e4e270c4bowns.github/workflows/scorecard-analysis.yml. Its trigger set isbranch_protection_rule, scheduled weekly, andpushtomain; there is no pull-request analysis. Therefore the default-branch Scorecard SARIF configuration exists in code scanning while a PR head normally has no matching Scorecard SARIF analysis for GitHub to compare. This is a causal observability/configuration mismatch, not a Wardnet product-source finding.Current OpenSSF Scorecard upstream guidance is material to the repair choice: the supported triggers are
pushand default-branchschedule;pull_requestis experimental and fork repositories are not supported. The canonical upstream Scorecard workflow also runs on default-branch push/schedule rather than normal PR analysis. Do not “fix” the warning by blindly enabling an unsupported/unbounded PR workflow, and do not remove Scorecard SARIF publication merely to make the neutral check disappear.Ownership / single writer
PR #174 is the current sole writer for
.github/workflows/scorecard-analysis.ymland already carries the immutable CodeQL SARIF uploader update. Keep this issue as the RED/acceptance record and repair through #174 or a verified complete successor; do not create a competing workflow writer.RED acceptance
The existing exact #361 evidence is the reproducible RED:
c6d3fd45eba1aceef074cc8b9934937f67b1d41a;103545605700;neutral;1 configuration not foundforscorecard-analysis.yml/supply-chain/branch-protection.Reproduce on one unchanged same-repository PR head before repair. A central CodeQL failure, queued runner, or unrelated source warning is not this RED.
Minimum causal GREEN
Preserve the protected-main Scorecard scan and its SARIF security evidence while making PR comparison behavior explicit and warning-free on the supported Wardnet contribution path.
pull_request_target, execute untrusted PR code with privileged tokens, or grant broader permissions than needed.pull_requestlane is selected, prove it against current upstream trigger support, keep fork behavior fail-closed/non-failing, and ensure the SARIF category/configuration identity matches the default-branch configuration GitHub compares.branch_protection_rule, scheduled and protected-main push purposes unless a narrower supported replacement is proven equivalent.Exact-head completion gate
On one unchanged #174/successor head require current CI/security/SAST/CodeQL/review/thread evidence plus an actual pull-request Scorecard comparison that no longer emits the missing-configuration warning. Re-fetch the check result after the repair. No force push, destructive rebase, self/model approval, routine bypass, workflow-source duplication, disabled security evidence, mutable action pin, or source churn solely to redispatch.
Traceability
pushand default-branchschedule;pull_requestis experimental and fork repositories are not supported. https://github.com/ossf/scorecard-action