Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ dependencies = [
"clerk-backend-api>=5.0.6",
"slowapi>=0.1.10",
"redis>=5.0.0",
"websockets>=16.1.1",
"websockets>=17.0.1",
"fastmcp>=3.4.5",
"sentry-sdk[fastapi]>=2.66.1",
# IANA timezone database for Python's stdlib `zoneinfo`.
Expand All @@ -47,7 +47,16 @@ dependencies = [
# for Jinja2Templates but we depend on it directly so the email
# path doesn't break if FastAPI ever drops the optional dep.
"jinja2>=3.1.0",
]
# Pinned ~=8.3.3 for PYSEC-2026-2132 — a high-severity advisory
# against click 8.3.1 (fixed in 8.3.3). click is a transitive
# dep via uvicorn (which only asks for click>=7.0), so without
# an explicit floor the resolver lands the vulnerable 8.3.1.
# ~=8.3.3 (=>=8.3.3,<8.4) takes the minimum patched release on
# the 8.3 patch line and refuses the 8.4.x minor bump, keeping
# the diff to a patch-only change. pip-audit --strict fails
# CI while this slides back below 8.3.3.
"click>=8.3.3,<8.4",
]

[project.optional-dependencies]
dev = [
Expand Down Expand Up @@ -170,4 +179,8 @@ constraint-dependencies = [
# pydantic-settings: GHSA-4xgf-cpjx-pc3j (fixed in 2.14.2). Transitive
# via fastmcp. Remove once fastmcp's own pin clears 2.14.2.
"pydantic-settings>=2.14.2",
# click: PYSEC-2026-2132 (command injection in click.edit(), fixed in
# 8.3.3). Transitive via uvicorn. Remove once uvicorn's own pin clears
# click 8.3.3.
"click>=8.3.3",
]
Loading