Skip to content

docs: add security threat model#6406

Merged
mcollina merged 2 commits intomainfrom
add-security-threat-model
Dec 7, 2025
Merged

docs: add security threat model#6406
mcollina merged 2 commits intomainfrom
add-security-threat-model

Conversation

@mcollina
Copy link
Member

@mcollina mcollina commented Dec 5, 2025

Summary

Adds a concise threat model section to SECURITY.md, extending the
Node.js threat model.

Clarifies:

  • What Fastify trusts (application code, schemas, config) vs. doesn't trust (network input)
  • What is/isn't a security vulnerability

🤖 Generated with Claude Code

@mcollina
Copy link
Member Author

mcollina commented Dec 5, 2025

@Eomm @jsumners @RafaelGSS @climba03003 I iterated a bit with Claude on creating this document. Wdyt?

Adds a comprehensive threat model section to SECURITY.md, rooted in and
extending the Node.js threat model. This clarifies:

- What Fastify trusts (application code, schemas, configuration)
- What Fastify does NOT trust (network input from clients)
- What constitutes a security vulnerability vs. application bugs
- Built-in security protections and their defaults
- Trust boundaries with visual diagram
- Request lifecycle security intervention points
- Encapsulation security model

This also addresses the OpenSSF CII silver badge gap for documenting
"what the user can and cannot expect in terms of security".

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@mcollina mcollina force-pushed the add-security-threat-model branch from 4252d66 to caa9970 Compare December 5, 2025 09:10
@jsumners
Copy link
Member

jsumners commented Dec 5, 2025

@Eomm @jsumners @RafaelGSS @climba03003 I iterated a bit with Claude on creating this document. Wdyt?

How much of this is your own work? I just reviewed the Pino one and am unclear how much of that one was llm output, but it felt a lot.

@mcollina mcollina force-pushed the add-security-threat-model branch 2 times, most recently from 3518114 to c1d36b5 Compare December 5, 2025 16:53
Adds a concise threat model section extending the Node.js threat model.
Clarifies what Fastify trusts vs. doesn't trust, and what constitutes
a security vulnerability vs. application-level issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@mcollina mcollina force-pushed the add-security-threat-model branch from c1d36b5 to aa3d0ec Compare December 5, 2025 17:02
@mcollina
Copy link
Member Author

mcollina commented Dec 5, 2025

@jsumners updated and simplified

Copy link
Member

@Eomm Eomm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LClearTM

@Eomm Eomm added the documentation Improvements or additions to documentation label Dec 5, 2025
Copy link
Member

@RafaelGSS RafaelGSS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I can iterate on that later with some clear examples of non-vuln.

@mcollina mcollina marked this pull request as ready for review December 7, 2025 15:43
@mcollina mcollina merged commit 759e978 into main Dec 7, 2025
13 checks passed
@mcollina mcollina deleted the add-security-threat-model branch December 7, 2025 15:43
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants