Skip to content

ci(deps): Bump actions/setup-node from 4 to 6#3

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

ci(deps): Bump actions/setup-node from 4 to 6#3
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/github_actions/actions/setup-node-6

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

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

Bumps actions/setup-node from 4 to 6.

Release notes

Sourced from actions/setup-node's releases.

v6.0.0

What's Changed

Breaking Changes

Dependency Upgrades

Full Changelog: actions/setup-node@v5...v6.0.0

v5.0.0

What's Changed

Breaking Changes

This update, introduces automatic caching when a valid packageManager field is present in your package.json. This aims to improve workflow performance and make dependency management more seamless. To disable this automatic caching, set package-manager-cache: false

steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
  with:
    package-manager-cache: false

Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. See Release Notes

Dependency Upgrades

New Contributors

Full Changelog: actions/setup-node@v4...v5.0.0

v4.4.0

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@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
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