Skip to content

Commit 27bc9a5

Browse files
authored
Mandate a 'Security Considerations' section on MSCs (#4199)
And link to lists of possible problems to think about. This is part of an effort to improve the overall security of Matrix during the design process.
1 parent f633d30 commit 27bc9a5

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

MSC_CHECKLIST.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ clarification of any of these points.
4242
- [ ] Proposal text
4343
- [ ] Potential issues
4444
- [ ] Alternatives
45-
- [ ] Security considerations
4645
- [ ] Dependencies
4746
- [ ] Stable identifiers are used throughout the proposal, except for the unstable prefix section
4847
- [ ] Unstable prefixes [consider](README.md#unstable-prefixes) the awkward accepted-but-not-merged state
4948
- [ ] Chosen unstable prefixes do not pollute any global namespace (use “org.matrix.mscXXXX”, not “org.matrix”).
5049
- [ ] Changes have applicable [Sign Off](CONTRIBUTING.md#sign-off) from all authors/editors/contributors
50+
- [ ] There is a dedicated "Security Considerations" section which detail any possible attacks/vulnerabilities this proposal may introduce, even if this is "None.". See [RFC3552](https://datatracker.ietf.org/doc/html/rfc3552) for things to think about, but in particular pay attention to the [OWASP Top Ten](https://owasp.org/www-project-top-ten/).

proposals/0000-proposal-template.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,21 @@ idea.
8585

8686
## Security considerations
8787

88+
**All proposals must now have this section, even if it is to say there are no security issues.**
89+
90+
*Think about how to attack your proposal, using lists from sources like
91+
[OWASP Top Ten](https://owasp.org/www-project-top-ten/) for inspiration.*
92+
8893
*Some proposals may have some security aspect to them that was addressed in the proposed solution. This
8994
section is a great place to outline some of the security-sensitive components of your proposal, such as
9095
why a particular approach was (or wasn't) taken. The example here is a bit of a stretch and unlikely to
9196
actually be worthwhile of including in a proposal, but it is generally a good idea to list these kinds
9297
of concerns where possible.*
9398

94-
By having a template available, people would know what the desired detail for a proposal is. This is not
95-
considered a risk because it is important that people understand the proposal process from start to end.
99+
MSCs can drastically affect the protocol. The authors of MSCs may not have a security background. If they
100+
do not consider vulnerabilities with their design, we rely on reviewers to consider vulnerabilities. This
101+
is easy to forget, so having a mandatory 'Security Considerations' section serves to nudge reviewers
102+
into thinking like an attacker.
96103

97104
## Unstable prefix
98105

0 commit comments

Comments
 (0)