Skip to content

security: Add uv dependency cooldown (exclude-newer P3D)#218

Closed
williajm wants to merge 1 commit into
mainfrom
security/dependency-cooldown
Closed

security: Add uv dependency cooldown (exclude-newer P3D)#218
williajm wants to merge 1 commit into
mainfrom
security/dependency-cooldown

Conversation

@williajm
Copy link
Copy Markdown
Owner

@williajm williajm commented Apr 3, 2026

Summary

  • Adds exclude-newer = "P3D" to [tool.uv] in pyproject.toml
  • Enforces a 3-day cooldown on newly published PyPI packages, giving the community time to detect and quarantine compromised releases
  • Prompted by the PyPI litellm/telnyx supply chain attack incident report (2026-04-02)

The CLAUDE.md already documented the manual uv lock --exclude-newer approach — this makes it automatic for all uv operations.

Test plan

  • Verify uv sync --locked still works in CI (no change to lockfile)
  • Verify uv lock respects the cooldown when regenerating the lockfile

🤖 Generated with Claude Code

Enforce a 3-day cooldown on newly published PyPI packages via uv's
exclude-newer setting. This gives the community time to detect and
quarantine compromised releases before they're pulled into builds,
as recommended by the PyPI incident report on the litellm/telnyx
supply chain attacks (2026-04-02).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Apr 3, 2026

@williajm
Copy link
Copy Markdown
Owner Author

williajm commented Apr 3, 2026

Closing: exclude-newer = P3D in pyproject.toml is incompatible with uv sync --locked in CI (the relative date changes daily, causing lockfile staleness). The existing approach (uv lock --exclude-newer at lockfile generation time, documented in CLAUDE.md) is correct. Added exclude-newer = P3D to the global ~/.config/uv/uv.toml instead for local developer protection.

@williajm williajm closed this Apr 3, 2026
@williajm williajm deleted the security/dependency-cooldown branch April 3, 2026 17:26
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