ci(deps): bump actions/checkout from 4 to 6#5
Open
dependabot[bot] wants to merge 1 commit intomasterfrom
Open
Conversation
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
ninjat6
pushed a commit
that referenced
this pull request
Apr 26, 2026
…leware
Architectural change: add require_release_in_scope dependency to
core/deps.py + assert_release_in_scope helper. All future release-scoped
endpoints must Depends() on this; absence enforced by
test_endpoint_decorator_enforcement.
Closed findings:
- SDLC-001 (architectural introduction; status moves to in-progress
until SEC-001a/b/c/d migration in #2-#5 brings enforcement
test from 2 missing → 0 missing)
- SEC-023 (placeholder route remediation, discovered during this commit's
enforcement test first run — validates the test's value)
Verification type: structural-verify
Before fix:
enforcement test result: 3 endpoints missing ownership dependency
- GET /api/releases/{release_id}/compliance → list_compliance
- GET /api/policies/releases/{release_id}/violations → release_violations
- GET /api/licenses/releases/{release_id}/violations → release_violations
After fix:
list_compliance now has Depends(require_release_in_scope)
enforcement test result: 2 endpoints still missing (SEC-001b/d, expected —
will be closed in #3 + #5)
Regression: test_all.py 54/54 pass (unchanged behaviour for 30 existing
_assert_release_org callers; legacy pattern still allowed during
migration window per test code comment)
Files added:
backend/app/core/deps.py — assert_release_in_scope + require_release_in_scope
backend/tests/test_endpoint_decorator_enforcement.py — 2 tests:
test_all_release_scoped_endpoints_have_ownership_dependency
test_decorator_argument_consistency
Files modified:
backend/app/api/releases.py — list_compliance gets Depends() (1 line + import)
Audit doc updates:
.knowledge/audit/security-audit-2026-04-26.md
- SDLC-001 status: open → in-progress
- SDLC-001 lessons_learned block added with falsifiable-prediction analysis
.knowledge/audit/security-audit-batch-tlt-2-21.md
- SEC-023 finding added (parent_finding: SDLC-001;
discovered_via: enforcement_test_first_run)
.knowledge/audit/phase-4-summary-2026-04-26.md
- §0.1 Methodology Validation Note added (cross-references SEC-023 +
SDLC-001 lessons_learned)
Note: SDLC-001 is NOT yet "complete" by audit definition until
SEC-001a/b/c/d all use the new middleware (Phase 5 #2-#5). This commit
establishes the control; subsequent commits apply it. Acceptance moment =
enforcement test transitions from 2 missing → 0 missing after #5 lands.
Methodology validation captured for due diligence:
audit batch grep heuristic missed list_compliance (stub endpoint,
no DB query, file-level "_assert_release_org call presence" cleared
releases.py globally). Enforcement test caught it on first run.
Pattern: "automated invariant enforcement beats one-shot grep audit".
Top-10 progress: #0 done. #1 in-progress (this commit). Next: #2 SEC-001a.
Tooling: Claude Code (Anthropic)
Methodology-review: see .knowledge/audit/phase-4-summary-2026-04-26.md §0
ninjat6
pushed a commit
that referenced
this pull request
Apr 27, 2026
…dmin Phase 5 #2 — applies SDLC-001's existing require_admin dependency to the /api/licenses/violations/summary endpoint. Closes the cross-tenant license-violation aggregate disclosure to authenticated viewers. Verification type: poc-rerun Before fix: SEC-001a-licenses-summary-leak.py [LEAK CONFIRMED] viewerB (zero own data) sees total=2, GPL-3.0=1 — identical to admin view → cross-tenant data exposure proven After fix: SEC-001a-licenses-summary-leak.py [NO LEAK] viewerB GET → HTTP 403 "此操作需要管理員權限" SEC-001a primary_remediation verified post-fix Regression: python test_all.py 55/55 PASS, 0 FAIL (run against verification backend on :9101 with same SEC-001a fix applied; original :9100 backend remains stale due to non-reload mode but is not the verification target) Files modified: backend/app/api/licenses.py:9 — added require_admin to imports backend/app/api/licenses.py:118 — added _admin: dict = Depends(require_admin) to violations_summary signature .knowledge/audit/poc/SEC-001a-licenses-summary-leak.py — step [8] now gracefully recognises HTTP 403 as post-fix NO LEAK signal (script is now re-runnable for both pre-fix LEAK and post-fix NO LEAK verification) Audit doc: SEC-001a status: open → fixed (2026-04-26 by Phase 5 #2 commit) SDLC-001 enforcement test status: unchanged at 2 missing (SEC-001b + SEC-001d, expected to drop to 0 after Phase 5 #3 + #5) Top-10 progress: #0 done, #1 done (in-progress), #2 done. Next: #3 SEC-001b (licenses release IDOR with Depends(require_release_in_scope) + 404 not 403). Tooling: Claude Code (Anthropic) Methodology-review: see .knowledge/audit/phase-4-summary-2026-04-26.md §0
ninjat6
pushed a commit
that referenced
this pull request
Apr 27, 2026
…via SDLC-001 middleware Phase 5 #3 — applies SDLC-001's require_release_in_scope dependency to the /api/licenses/releases/{release_id}/violations endpoint. Closes CWE-639 IDOR; uses 404 (not 403) to prevent release_id enumeration oracle (CWE-204 Observable Response Discrepancy). Verification type: poc-rerun Before fix: SEC-001b-licenses-release-idor.py [IDOR CONFIRMED] viewerB GET /licenses/releases/<orgA_id>/violations → HTTP 200 + 1 violation entry (orgA's GPL component) cross-tenant license violation disclosure proven After fix: SEC-001b-licenses-release-idor.py [NO LEAK] viewerB GET /licenses/releases/<orgA_id>/violations → HTTP 404 "Release not found" SEC-001b primary_remediation verified post-fix (assert_release_in_scope returns 404 in both 'not found' and 'cross-org' cases — no oracle) Regression: python test_all.py 54/54 PASS, 0 FAIL SDLC-001 enforcement test: 2 missing → 1 missing (only SEC-001d remains; closing in Phase 5 #5) Files modified: backend/app/api/licenses.py:10 — added require_release_in_scope import backend/app/api/licenses.py:144-154 — release_violations endpoint: - signature: release_id: str + manual lookup → release: Release = Depends(require_release_in_scope) - removed manual `db.query(Release).filter(...).first()` + 404 raise (now done by the dependency, with bonus joinedload(product) to avoid N+1) - removed manual `if not release` check (dependency handles) - body: Component.release_id == release_id → release.id - response: "release_id": release_id → release.id - added docstring noting SEC-001b fix + 404-not-403 rationale Audit doc: SEC-001b status: open → fixed (2026-04-26 by Phase 5 #3 commit) Top-10 progress: #0 done, #1 done (in-progress), #2 done, #3 done. Next: #4 SEC-001c (policies summary, mirrors #2 pattern). Tooling: Claude Code (Anthropic) Methodology-review: see .knowledge/audit/phase-4-summary-2026-04-26.md §0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
a17cd16 to
fbeb08a
Compare
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.
Bumps actions/checkout from 4 to 6.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
de0fac2Fix tag handling: preserve annotations and explicit fetch-tags (#2356)064fe7fAdd orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (...8e8c483Clarify v6 README (#2328)033fa0dAdd worktree support for persist-credentials includeIf (#2327)c2d88d3Update all references from v5 and v4 to v6 (#2314)1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)