Repository navigation
Conversation
…dvisories - harnesses/agents-sdk/requirements-build.txt: certifi 2026.7.22 -> 2026.10.18 (frozen prose-agents-sdk CA bundle; removes all emSign roots, GHSA-6q48-6c7w-9gw2). 2026.10.19 is inside the 72h cooldown. - cli/bun/bun.lock: fast-uri 3.1.6 -> 3.1.8 (via ajv; GHSA-58mr-gqgx-xq4g, GHSA-hrr3-gc8f-f4qj, GHSA-qw65-cvwx-89v3). - cli/rust/Cargo.lock: rustls 0.23.45 -> 0.23.46 (RUSTSEC-2026-0346..0349). rustls-webpki 0.103.16 / webpki-roots 1.0.10 and cryptography >=49 are deferred (cooldown; darwin-x64 wheel loss). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Security impact: these fixes are in the binaries we ship to users. The bundled
certifiCA store still trusted roots whose intermediate keys are compromised, so the SDK helper could accept a forged TLS certificate.prose-buncarriedfast-urihost-confusion bugs, andprose-rustan olderrustls. Users get the fixes with the next release.Why
An osv-scanner 2.7.0 sweep on 2026-10-21 reported 2 critical and 30 high findings in this repo. Most of them are in
cli/labs/bun(not shipped) or come from osv's transitive guess forharnesses/agents-sdk/requirements.txt. The real build lock isrequirements-build.txt, and it already pins fixedhttpx22.13.1 andrequests2.34.2. Three locks do end up in released artifacts (standalone archives, npm platform packages and Homebrew), and each had a finding:prose-agents-sdk(PyInstaller helper,--collect-all certifi)harnesses/agents-sdk/requirements-build.txtprose-buncli/bun/bun.lockprose-rustcli/rust/Cargo.lockWhat changed
certifi2026.7.22 → 2026.10.18 inharnesses/agents-sdk/requirements-build.txt, with the hash checked against PyPI. 2026.10.18 removes every emSign root, so the compromised intermediates no longer chain. 2026.10.19 later restored the emSign roots that were not affected. osv still marks 2026.10.18 as affected because its fixed version is 2026.10.19. 2026.10.19 was uploaded 2026-10-20 02:24 UTC, so it is inside our 72-hour supply-chain cooldown.fast-uri3.1.6 → 3.1.8 incli/bun/bun.lock. This is the lock entry only; ajv's^3.0.1range already allows it. 3.1.9 is inside the cooldown.rustls0.23.45 → 0.23.46 incli/rust/Cargo.lock(cargo update -p rustls --precise 0.23.46). This fixes RUSTSEC-2026-0346 through 0349.No manifest or source changes. The SDK lock digest is computed at build time, so no evidence file needs regenerating.
Verification
Run with the pinned toolchain: Bun 1.3.5, Rust 1.87.0, CPython 3.10.20 and
cli/ci/requirements-test.txt.check_dependencies.pypasses.pip install --require-hashes --only-binary=:all: -r harnesses/agents-sdk/requirements-build.txton CPython 3.10 macOS arm64 succeeds.import agents, openai, certifiandssl.create_default_context(cafile=certifi.where())work. The bundle has 117 roots and no emSign entries.cli/bun:bun install --frozen-lockfileaccepts the new integrity, and typecheck passes.bun testvia thebun-testsgate: 887 pass, 0 fail.bun-buildandbun-typecheckgates pass.cli/rust:cargo build --release --lockedpasses.cargo test --locked --no-fail-fastpasses except 3credential_store_macoskeychain tests. Those 3 also fail on unmodifiedmainon this machine, so they depend on the machine rather than on this change.python3 cli/ci/run_local.py --quickpassed every gate fromlocal-runner-teststhroughrust-clippy, includingpublication-contract,dependency-contract,dependency-evidence,workflow-policyandimage-bundle. It then stopped atrust-tests. On unmodifiedmain, the same gate fails the same 4cli.rsharness-adapter tests on this machine. One extra test (prime_and_omp_preflight_…) failed once under load and passed twice on both branch andmainwhen rerun alone.--onlyand all pass:rust-build,package-lifecycle,bun-typecheck,bun-tests,bun-build,service-operations-rust-build,service-operations-bun-buildandpublic-surface-files.Not run: the full (non-quick)
run_local.py, the PyInstaller freeze, the Linux/macOS-x64 candidates, and the kernel-RC workflow. CI andcli-kernel-rc.ymlshould cover them.Left out, and why
prose-rust. Both are inside the 72-hour cooldown. A follow-up can take them after roughly 2026-10-23 09:00 UTC, usingcargo update -p rustls-webpki --precise 0.103.16 -p webpki-roots@1.0.9 --precise 1.0.10. certifi 2026.10.19 is eligible after 2026-10-23 02:24 UTC.--only-binary=:all:for darwin-x64. The lock comment already notes this. In the helper, cryptography is only reached throughmcp, which uses AES-GCM/HKDF and PyJWT, not PKCS#7 decryption or X.509 path building. A maintainer has to decide between dropping darwin-x64 for the helper, building from source, or accepting the risk.cli/labs/bun(MCP SDK, sharp 0.34.5, undici 7.29.0, proxy-addr, adm-zip and others), theexperiments/weave-seedCargo locks and the conformance/CIrequirements-test.txtfiles are labs, experiments and test harnesses. None of them goes into a release artifact.harnesses/agents-sdk/requirements.txtfindings (httpx2 2.9.1, requests 2.9.2) are false positives. osv resolved transitive versions that the hash-locked build lock does not use.Follow-ups outside this PR
0.15.0-rc.3(Homebrew tap and npmrc) andlatest0.14.0 still contain the old versions.🤖 Generated with Claude Code