Skip to content

📝 docs(security): add a threat model and align the policy - #172

Merged
gaborbernat merged 2 commits into
mainfrom
threat-model
Oct 28, 2026
Merged

gaborbernat merged 2 commits into
mainfrom
threat-model

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

python-discovery had no threat model, so whether a report is a vulnerability or a bug was decided case by case at triage. 🛡️ This adds a threat model and rewrites the security policy around it, so a reporter and a maintainer reach the same verdict from the same page.

The threat model lists what python-discovery trusts, the untrusted inputs with the guarantee python-discovery makes for each, the STRIDE threats and their controls, the release chain, severity ratings, accepted risks, and a table of example reports with their verdicts. The boundary follows comparable tools in other ecosystems: Go os/exec path lookup (Go), nvm (Shell), uv (Rust). The shared rule is the one the Node.js threat model states: a report that first needs a trusted element compromised is a bug, not a vulnerability.

.github/SECURITY.md keeps the existing reporting channels and adds response targets, the supported-versions rule and the in-scope and out-of-scope lists. Every repository in this rollout except pipx, virtualenv and build gets the same layout in its own draft PR.

@gaborbernat gaborbernat added documentation Improvements or additions to documentation skip news No user-facing changelog entry needed labels Oct 28, 2026
@gaborbernat
gaborbernat marked this pull request as ready for review October 28, 2026 14:27
@gaborbernat
gaborbernat merged commit 25a9282 into main Oct 28, 2026
20 checks passed
@gaborbernat
gaborbernat deleted the threat-model branch October 28, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation skip news No user-facing changelog entry needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant