ci(security): govern CodeQL source boundaries - #338
Merged
Conversation
ty-everett
requested review from
BraydenLangley,
sirdeggen and
tonesnotes
as code owners
July 25, 2026 23:34
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Collaborator
Author
|
Final pre-cutover verification is complete at
GitHub reports only |
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.



Program linkage
Advances the final CodeQL security-extended follow-up in #324.
Summary
security-extendedsuite, remote threat model, and PR/push/weekly coverage as current default setupgovernance/repository-health/projects.jsonWhy advanced setup
Default setup cannot apply a repository-owned
paths-ignorelist. The three remaining generated findings (#168, #169, #183) are inside the checked-in JSight OpenRPC HTML export, whose source contract and generator boundary are already owned. Hand-editing its vendored JavaScript would be non-durable and would recur on regeneration. Advanced setup provides the precise exclusion mechanism while preserving analysis coverage.The only non-generated alert, #165, treats the public
/.well-known/authhandshake selector as a user-controlled bypass. BRC-104 must expose that endpoint before a session can exist; it handles the authentication protocol, not protected application content. All non-handshake traffic still takes signed general-message validation or the explicitallowUnauthenticatedpolicy. New tests prove exact path matching and the signed-request-ID dispatch boundary. After merge and a clean rescan, #165 will receive an evidence-backed false-positive disposition if CodeQL retains it.Safe cutover
CODEQL_ADVANCED_ENABLEDexists as a repository variable and is currentlyfalse, so this review PR cannot upload concurrently with default setup. After merge:true;main;Coverage preserved
Analyze (actions)Analyze (javascript-typescript)Analyze (python)security-extendedqueries (includes the default suite)main, everymainpush, weekly schedule, and manual dispatchsecurity-events: writejob permission and read-only repository/package/action permissionsVerification
pnpm health:check— 14/14 zero-install controls; 37 projects; 30 public packages; 242 findings; 6 active exceptions; 0 control errorspnpm --filter @bsv/auth-express-middleware lint— no errors (7 pre-existing warnings)pnpm --filter @bsv/auth-express-middleware buildpnpm --filter @bsv/auth-express-middleware test:coverage— 3 suites / 31 testspnpm --filter docs-site validate— 93 frontmatter files and links validgit diff --checkCompatibility and release impact
No runtime route, authentication policy, public API, CORS, CSP, origin, credential, or service-edge behavior changes. No package is published by this PR. The accumulated
@bsv/auth-express-middleware@2.2.0candidate already includes the documentation-only source clarification and tests; no additional bump is proposed.