You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The central CodeQL dispatch can complete an exact-head Python scan and produce clean SARIF, but its GHAS base/head configuration-identity proof cannot read the target repository's Code Scanning analyses.
Immediately afterward, Verify GHAS base/head CodeQL configuration identity called scripts/ci/codeql_ghas_configuration_identity.py, which requests GET /repos/ContextualWisdomLab/TEPP/code-scanning/analyses. The authenticated request failed:
GitHub API GET failed with HTTP 403: {"message":"Resource not accessible by integration", ...}
The same run later received HTTP 403 when attempting cross-repository commit-status publication with the available target App/GITHUB tokens. That status-publication gap is related to #1929, but this issue owns the distinct Code Scanning analyses read authority required by the newer GHAS identity contract.
Why this is not a TEPP source finding
The exact Python CodeQL analysis itself completed and its SARIF gate reported zero results. The failure occurs only when the central owner tries to query authenticated GHAS analysis metadata in the target repository. Treating 403 as “no baseline” would weaken the identity proof and is not acceptable.
Required repair
Determine which credential is intended to own cross-repository code-scanning/analyses reads for codeql-scan-dispatch.yml.
Give that credential the narrow target-repository permission needed to list Code Scanning analyses (GitHub App installation/repository security-events/code-scanning read as applicable), without broadening unrelated write authority.
Preserve fail-closed behavior for 401/403/transport errors; do not translate unreadable evidence into an empty identity set.
Add a contract/canary proving an unchanged target PR head can read both protected-base and exact-head CodeQL analyses and complete wait_for_language_pairing().
This is a canonical .github/GitHub App permission-path repair. Do not copy the identity logic into TEPP and do not weaken target-repository CodeQL gates. The separate TEPP Actions cache-poisoning findings are tracked in TEPP #594 and are being repaired in the TEPP owner.
Finding
The central CodeQL dispatch can complete an exact-head Python scan and produce clean SARIF, but its GHAS base/head configuration-identity proof cannot read the target repository's Code Scanning analyses.
Reproduced on
ContextualWisdomLab/TEPP#538:0a6947b11f2dba9e161f2abe8bdec0f652d4b47aa243f18da4a4ca8a8d068c39922537f1f8ed6ad035045658451.github35276762974.github@64aa08d7fa487deacd41c761c36277ca68cab6c9files=1 results=0 medium_plus=0Immediately afterward,
Verify GHAS base/head CodeQL configuration identitycalledscripts/ci/codeql_ghas_configuration_identity.py, which requestsGET /repos/ContextualWisdomLab/TEPP/code-scanning/analyses. The authenticated request failed:The same run later received HTTP 403 when attempting cross-repository commit-status publication with the available target App/GITHUB tokens. That status-publication gap is related to #1929, but this issue owns the distinct Code Scanning analyses read authority required by the newer GHAS identity contract.
Why this is not a TEPP source finding
The exact Python CodeQL analysis itself completed and its SARIF gate reported zero results. The failure occurs only when the central owner tries to query authenticated GHAS analysis metadata in the target repository. Treating 403 as “no baseline” would weaken the identity proof and is not acceptable.
Required repair
code-scanning/analysesreads forcodeql-scan-dispatch.yml.wait_for_language_pairing().Boundary
This is a canonical
.github/GitHub App permission-path repair. Do not copy the identity logic into TEPP and do not weaken target-repository CodeQL gates. The separate TEPP Actions cache-poisoning findings are tracked in TEPP #594 and are being repaired in the TEPP owner.