Surface aged update candidate when latest is quarantined by --min-age #28
No reviewers
Labels
No labels
bug
contribution welcome
duplicate
enhancement
good first issue
help wanted
invalid
question
upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
marvin8/zaojun!28
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/28/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When the latest version is quarantined by
--min-agebut an older version has already aged past the threshold and is a genuine update over the spec, zaojun now surfaces it on the ⏳ line with a compatibility icon and exits 1.Format:
⏳ requests: ⚠️ 2.32.3 available (45 days old) — latest 2.33.0 is only 2 day(s) old (min-age: 7)Also adds the aged candidate to JSON output (
aged_version,aged_age_days,aged_status).Closes #27
src/zaojun/__init__.pydiff position 573🔴 Not actioned — SSRF does not apply to a local CLI tool.
SSRF is a meaningful vulnerability when a server-side application accepts user input and uses it to make outbound requests on behalf of an external attacker who is distinct from the user. Here, the "attacker" and the user are the same person: the only way
--index-urlcan be influenced is by whoever is running the command or writing their ownpyproject.toml.If you can run
zaojun, you can already runcurl <any-url>with the same effect. There is no server, no privilege boundary, and no third-party input path — so there is no attack surface for SSRF.--index-urlis a standard Python tooling feature supported bypip,uv, and every PyPI-compatible client. Restricting or allow-listing it would break the legitimate use case of pointing at a private index (Artifactory, Nexus, Devpi, etc.) without providing any security benefit.