Skip to content

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

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
Collaborator

pytest-print 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 pytest-print trusts, the untrusted inputs with the guarantee pytest-print 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: Vitest (JavaScript), Jest (JavaScript), Mocha (JavaScript). 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.

The duplicate root SECURITY.md goes away; GitHub already showed the .github/ copy.

@gaborbernat gaborbernat added the skip news PR does not need a changelog entry label Oct 28, 2026
@gaborbernat
gaborbernat marked this pull request as ready for review October 28, 2026 14:22
@gaborbernat
gaborbernat merged commit 5e14eaf into main Oct 28, 2026
15 checks passed
@gaborbernat
gaborbernat deleted the threat-model branch October 28, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip news PR does not need a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant