requirements.txt
Rama main · réplica de lectura del repositorio original.
# Core dependencies
aiohttp>=3.14.5
uvloop>=0.21.0; sys_platform == "linux" and python_version >= "3.14" # phase-68
urllib3>=2.8.0 # CVE-2025-50181/66418/66471/CVE-2026-21441 — fixed in 2.5/2.6/2.6.3; 2.7.2 never released
asyncio-throttle==1.0.2
aiodns==4.0.4
cryptography>=50.0.2 # phase-304: was >=45.0.0 — subgroup-attack CVE fixed in 46.0.5
prometheus-client==0.26.0
pyyaml==6.0.3
redis==8.1.0
fastapi>=0.162.0 # Management API + /health/deep endpoint tests
scapy>=2.8.0
sse-starlette>=3.6.0
# Security dependencies
pytricia==1.3.0
geoip2==5.3.0
hypothesis==6.170.14
pip-audit>=2.10.1 # replaces safety (safety 3.x requires auth)
bandit==1.9.4
# Testing dependencies
fakeredis==2.40.0 # in-process Redis fake for integration tests (P19-G6); upgraded in phase-860
croniter>=6.2.4,<7 # cron expression parser for BackupScheduler (P19-G1)
pytest>=9.2.0 # CVE-2025-71176 fix (fixed in 9.0.3; 9.0.4 never released)
pytest-asyncio>=1.4.1,<2 # 1.x is compatible with pytest 8/9
pytest-cov==7.1.0
pytest-mock==3.17.0
pytest-xdist==3.8.0
pytest-timeout==2.4.0
# Development dependencies
black>=26.10.1
flake8==7.5.0
mypy==2.4.1
isort==9.0.2
pylint==4.1.3
# Compliance and audit
jsonschema>=4.26.0
cerberus==1.3.8
# phase-56: Runtime seccomp profile transition (optional — fails open if absent)
# Requires libseccomp-dev on the host: apt-get install libseccomp-dev
# python3-seccomp>=2.5.0
boto3>=1.43.123 # phase-57b: S3 cloud backup adapter (>=1.35 for urllib3 2.x compat)
moto[s3]>=5.2.5 # phase-57b: S3 mock for tests
google-cloud-storage>=3.17.1 # phase-57c: GCS backup adapter (optional). phase-800: floor raised from 2.0 — old api-core pulled protobuf<5 and blew pip resolution depth
tomli>=2.0; python_version < "3.11" # phase-92: TOML validation fallback for Python 3.10
jsonpath-ng==1.15.0 # phase-85: REST generic TI feed client (src/analytics/ti_feeds/rest_generic.py)
protobuf>=7.36.2 # PYSEC-2026-1805 / CVE-2026-0994 fix (clears protobuf 4.x vulnerability)
# NOTE (phase-800 / phase-833 / phase-847): click (PYSEC-2026-2132) and protobuf
# (PYSEC-2026-1805) were waived while semgrep pinned vulnerable versions; both
# waivers were removed on 2026-10-23 (phase-847 close-out) because resolution now
# yields click 8.4.2 / protobuf 6.33.6, which the advisory database reports clean.
# The urllib3 and pygments waivers were removed in the same sweep, for the same
# reason. Do not re-add an --ignore-vuln without a fresh `pip-audit -r requirements.txt`.