Skip to content

Commit 75b81fe

Browse files
authored
Release 2.8.1: require a certifi without the compromised emSign roots (#111)
## Summary Release 2.8.1. certifi below 2026.10.19 trusts emSign root certificates whose intermediate CA keys were compromised (GHSA-6q48-6c7w-9gw2). Someone holding one of those keys can issue a valid-looking certificate for any hostname, so a client that trusts them can have its TLS traffic intercepted by an on-path attacker. The SDK reaches certifi only through httpx, and httpx accepts any certifi, so an install could still resolve an affected version. This release declares `certifi>=2026.10.19` as a direct dependency. Any environment that installs 2.8.1 gets a certifi without the compromised roots. The lockfile moves certifi to 2026.10.19. Worked with Varun. ## Type of change - [x] Bug fix (no breaking change) - [ ] New feature (no breaking change) - [ ] Breaking change (existing callers must update) - [ ] Docs, tests, or internal maintenance only ## Public API Unchanged. The one new runtime requirement is `certifi>=2026.10.19`, which httpx already pulls in. ## Test plan - `uv sync --frozen --all-extras --all-groups`, then `uv run pytest` (172 passed, 2 skipped), `uv run ruff check .` (clean); ruff format, ty and vulture ran green in CI. - `osv-scanner` on `uv.lock`: no issues found. Before this change it reported the certifi advisory. ## Checklist - [ ] Tests cover the new behavior, and the suite passes locally (a dependency floor adds no behavior to test; the existing suite passes, 172 tests) - [x] Lint, format, and type checks pass - [ ] Docs and README examples updated if the public surface changed (the public surface did not change) - [x] No secrets, credentials, or personal data in the diff or the tests
1 parent 065e0a8 commit 75b81fe

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

‎pyproject.toml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "agentscore-py"
7-
version = "2.8.0"
7+
version = "2.8.1"
88
description = "Python client for the AgentScore APIs"
99
readme = "README.md"
1010
license = "MIT"
1111
requires-python = ">=3.11"
1212
keywords = ["agentscore", "x402", "agent", "trust", "wallet", "blockchain", "ai-agent", "agentic-payments"]
1313
dependencies = [
1414
"httpx>=0.25.0,<1.0.0",
15+
# Below 2026.10.19, certifi trusts emSign roots whose intermediate keys were
16+
# compromised; httpx alone would let an install resolve one.
17+
"certifi>=2026.10.19",
1518
]
1619
classifiers = [
1720
"Development Status :: 4 - Beta",

‎uv.lock‎

Lines changed: 6 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)