Skip to content

ci(deps): bump actions/checkout from 4 to 6#5

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/github_actions/actions/checkout-6
Open

ci(deps): bump actions/checkout from 4 to 6#5
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/github_actions/actions/checkout-6

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 26, 2026

Bumps actions/checkout from 4 to 6.

Release notes

Sourced from actions/checkout's releases.

v6.0.0

What's Changed

Full Changelog: actions/checkout@v5.0.0...v6.0.0

v6-beta

What's Changed

Updated persist-credentials to store the credentials under $RUNNER_TEMP instead of directly in the local git config.

This requires a minimum Actions Runner version of v2.329.0 to access the persisted credentials for Docker container action scenarios.

v5.0.1

What's Changed

Full Changelog: actions/checkout@v5...v5.0.1

v5.0.0

What's Changed

⚠️ Minimum Compatible Runner Version

v2.327.1
Release Notes

Make sure your runner is updated to this version or newer to use this release.

Full Changelog: actions/checkout@v4...v5.0.0

v4.3.1

What's Changed

Full Changelog: actions/checkout@v4...v4.3.1

v4.3.0

What's Changed

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

v4.2.0

v4.1.7

v4.1.6

... (truncated)

Commits

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Apr 26, 2026

Labels

The following labels could not be found: ci, dependencies, security. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

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
@dependabot dependabot Bot changed the title ci(deps): Bump actions/checkout from 4 to 6 ci(deps): bump actions/checkout from 4 to 6 Apr 29, 2026
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>
@dependabot dependabot Bot force-pushed the dependabot/github_actions/actions/checkout-6 branch from a17cd16 to fbeb08a Compare April 29, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants