Skip to content

ci(deps): Bump anchore/sbom-action from 0.17.7 to 0.24.0#2

Merged
berusmith merged 1 commit intomasterfrom
dependabot/github_actions/anchore/sbom-action-0.24.0
Apr 29, 2026
Merged

ci(deps): Bump anchore/sbom-action from 0.17.7 to 0.24.0#2
berusmith merged 1 commit intomasterfrom
dependabot/github_actions/anchore/sbom-action-0.24.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

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

Bumps anchore/sbom-action from 0.17.7 to 0.24.0.

Release notes

Sourced from anchore/sbom-action's releases.

v0.24.0

⬆️ Dependencies

v0.23.1

⬆️ Dependencies

v0.23.0

v0.22.2

⬆️ Dependencies

v0.22.1

⬆️ Dependencies

v0.22.0

Changes in v0.22.0

⬆️ Dependencies

v0.21.1

Changes in v0.21.1

... (truncated)

Commits
  • e22c389 chore(deps): update Syft to v1.42.3 (#615)
  • 36a5fde chore: update to node 24 + deps (#614)
  • a0a6512 chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#608)
  • 57aae52 chore(deps): update Syft to v1.42.2 (#607)
  • c29e913 chore(deps): bump fast-xml-parser and other deps (#604)
  • 17ae174 chore(deps/test): move to es modules, node:test, single dist file (#595)
  • 6d473d3 chore(deps): update Syft to v1.42.1 (#599)
  • 60619e7 fix tests and bump fast-xml-parser (#598)
  • e2bd58a chore(deps-dev): bump the dev-dependencies group with 3 updates (#592)
  • d032d7d ci(syft auto update): npm ci, not npm install (#597)
  • Additional commits viewable in compare view

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 [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.7 to 0.24.0.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](anchore/sbom-action@v0.17.7...v0.24.0)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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
ninjat6 pushed a commit that referenced this pull request Apr 27, 2026
- update top-level status: "Phase 5 remediation + Phase 6 verification
  complete (2026-04-26)" — 10/10 Top-10 + SEC-014 P2 + SEC-023
  (enforcement-test discovered) all fixed
- new §9 commit-by-commit trail with PoC verdicts for all 11 fixes
- auto-pause table: #2 fired (stale uvicorn workers, not a code issue)
  and #4 fired (SEC-023 surfaced); both resolved without scope change
- §5.4 lesson learned: SEC-003 first-pass missed uvicorn's built-in
  ProxyHeadersMiddleware silently rewriting request.client.host —
  three-layer fix needed.  Same methodological pattern as SEC-023:
  PoC re-run after-fix is load-bearing, not formality

Phase 6 verification — all green:
  • SEC-001a/b/c/d PoCs: NO LEAK (403/404)
  • SEC-002 PoC: SAFE 400 in 0.00s
  • SEC-003 PoC: NO LEAK rate-limited
  • SEC-014 PoC: encryption round-trip + wrong-pass rejection
  • SDLC-001 enforcement: 42/42 release-scoped routes
  • test_all.py: 55/55

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@berusmith berusmith merged commit 26bc741 into master Apr 29, 2026
3 of 6 checks passed
@berusmith berusmith deleted the dependabot/github_actions/anchore/sbom-action-0.24.0 branch April 29, 2026 11:08
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.

1 participant