Skip to content

Raise the claude-agent-sdk floor past the resume injection advisory - #265

Merged
Antawari merged 2 commits into
mainfrom
catrina/wave0-security-bonfire-public
Oct 21, 2026
Merged

Antawari merged 2 commits into
mainfrom
catrina/wave0-security-bonfire-public

Conversation

@Antawari

@Antawari Antawari commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What

  • claude-agent-sdk>=0.1 → >=0.2.121. Releases before 0.2.121 are affected by argument injection through the resume option (GHSA-h4mw-j7qp-8mwm, CRITICAL). Under the old floor, an install could still resolve a vulnerable SDK, for example where another constraint holds the SDK back.
  • CHANGELOG.md: a ### Security entry under [Unreleased].
  • tests/unit/test_no_persona_names_in_public_docs.py: the allowlist keys its historical breadcrumbs to CHANGELOG line numbers. The new 7-line entry moves them, so four anchors shift by +7 (677/679/680/697 → 684/686/687/704), and the expected text is byte-identical. The shift is recorded in the commit message instead of a comment: tests/unit has a frozen, shrink-only line budget, and a three-line comment pushed it over. CI's gate caught that, and the second commit removes the comment.

No other floors are added: transitive packages stay unconstrained, as a library should leave them.

Verified (Python 3.14)

SDK installed pytest
0.2.168 (latest that resolved locally) 5862 passed, 4 skipped, 37 xfailed, 20 xpassed
0.2.121 (the new floor, pinned on purpose) 5862 passed, 4 skipped, 37 xfailed, 20 xpassed
  • Baseline before the change: 5862 passed. The same counts hold after.
  • ruff check and ruff format --check are clean. cf-file-budget check passes.
  • Kit gate run locally: three gauges are red (import-contract, mypy, pytest). They are just as red on an untouched origin/main with the same venv, so they come from the local kit not matching CI's pin and are not caused by this change.
  • A law-ratchet review of the diff found no other dependency change. In the test file, the anchors moved exactly by the number of inserted lines, and no allowlist entry was added or removed.
  • OSV on a fresh resolve of this branch: 0 critical, 0 high, 0 moderate.

Known CI reds that are not this PR

  • test (3.13): the timing-only ingest-scaling flake, already red on main (3.03x against an expected ~2x).
  • claude-review: the review action itself errored (is_error:true) before reviewing anything.

🤖 Generated with Claude Code

Antawari and others added 2 commits October 21, 2026 12:25
claude-agent-sdk releases before 0.2.121 are affected by argument
injection through the resume option (GHSA-h4mw-j7qp-8mwm, CRITICAL). The
old floor of 0.1 let a fresh install resolve one, so raise it and record
the change under Security in the changelog.

The changelog entry shifts the line anchors of the persona-name
allowlist by seven; re-anchor them with the expected text unchanged, as
earlier changelog additions did.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The anchor shift added a three-line breadcrumb comment, which put the
tests/unit package three lines over its shrink-only budget. Drop the
comment; the anchors stay at 684/686/687/704 and the shift is recorded
in the previous commit message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Antawari
Antawari merged commit 5e4ae3c into main Oct 21, 2026
8 of 9 checks passed
@Antawari
Antawari deleted the catrina/wave0-security-bonfire-public branch October 21, 2026 19:33
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