ci: complete batch 02 security and compatibility controls - #173
Merged
Merged
Conversation
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
5 tasks
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.
Completes batch 02 from #169. CI now pins every action to a reviewed release SHA, guards development/release versions, and uses isolated Maven repositories. Two fail-closed gates preserve the browser, all ten ESAPI versions, Java 8 unit tests, source parity and packaged consumers on Java 8/11/17/21/25. Advanced CodeQL covers Java (including the optional Jakarta app), Actions and Python. Weekly grouped Dependabot updates and trusted-main submissions expose resolved runtime/test and build-plugin dependency graphs.
Repository controls are enabled and read back: read-only default tokens, no Actions PR approvals, all-external-contributor run approval, secret scanning/push protection, Pages HTTPS, inactive obsolete webhooks, immutable tags, an exact action allowlist and full-SHA enforcement. Main requires both CI gates and all three CodeQL jobs in a no-bypass ruleset. Review rules retain one approval, stale dismissal and latest-push approval; only Jim Manico and Jeremy Long have audit-visible PR-only emergency review bypass. This bypass does not bypass checks or constitute independent review. CODEOWNERS validation remains with #127.
Validation: actionlint 1.7.12; 10 policy/parser tests; fresh-repository JDK 17
clean verify(2,118 unit + eight integration tests); Java 17 packaged consumers and 11 artifact guard tests; optional Jakarta package/graph resolution without install and exact reactor JAR bytes in the WAR. All 26 checks passed on the implementation head, with zero CodeQL findings; the final documentation head is being checked again. Live probes rejected mutable action tags, unlisted pinned actions, tag update/deletion, and direct branch updates without PR/checks. Original tags remain unchanged. Full evidence and recovery instructions are inreleases/batch-02-validation.mdand.github/CI_SECURITY.md.Closes #102. Closes #109. Closes #97. Closes #119. Closes #108.