[CALCITE-7605] Add threat model - #5020
Conversation
|
|
@vlsi I have tried to combine here the initial drafts that we discussed on the email thread. |
|
Appreciate you driving this! It looks reviewed based on the emails—should we finish it up? |
|
@potiuk , if you have a bit of time, could you please take a quick look at this draft? Thanks! |
|
I opened #5115 as an alternative draft for the same Jira. It reorganizes the same normative content (attacker model, P1–P4, the class-loading rule, DoS goals) rather than replacing it, and makes two structural changes I found easier to review as a whole diff than as inline comments here:
This isn't meant to compete with your PR. Whichever framing the PMC prefers, I'm happy to fold the pieces back into #5020 instead. Interested in your take. |
|
Thanks @vlsi ! No problem at all. I'm happy to move this forward with your PR. |
|
Sorry for missing it before - looking at it now ! |
|
Thanks @rubenada for driving this and combining the initial drafts. I read both this and #5115 against the threat-model rubric — the normative core (attacker model, P1–P4, the surprising-vs-unsurprising class-loading rule) is the same in both, and #5115 consolidates it a bit tighter: it drops the STRIDE table (which carried a couple of internal tensions — pushed-down SQL injection framed as both in- and out-of-scope, and the Janino/UDF row describing the boundary as input-sanitization rather than the actual class-loading gate), reframes DoS as a hardening goal rather than per-report vulnerabilities, and splits the concrete sink list into a separate living doc. Since you've already offered to move forward with @vlsi's #5115, that reads as the right call to me too — so this one can probably be closed in favor of #5115. I've layered three additive suggestions on top of #5115 — an inputs table, a downstream-responsibilities section, and a closed triage-disposition set — in vlsi#3, for you both to take or leave. Thanks again for pushing this forward — the model's in good shape. |
Document what Calcite treats as a security vulnerability: the attacker model, the properties it provides and disclaims (P1-P4), the surprising-vs-unsurprising class-loading rule, and denial of service as a hardening goal. Add SECURITY.md with the private-reporting channel. This is an alternative draft for the same Jira as apache#5020, reorganizing the same normative content into a structure that is easier to read and to maintain per-CVE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document what Calcite treats as a security vulnerability: the attacker model, the properties it provides and disclaims (P1-P4), the surprising-vs-unsurprising class-loading rule, and denial of service as a hardening goal. Add SECURITY.md with the private-reporting channel. This is an alternative draft for the same Jira as apache#5020, reorganizing the same normative content into a structure that is easier to read and to maintain per-CVE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Document what Calcite treats as a security vulnerability: the attacker model, the properties it provides and disclaims (P1-P4), the surprising-vs-unsurprising class-loading rule, and denial of service as a hardening goal. Add SECURITY.md with the private-reporting channel. This is an alternative draft for the same Jira as #5020, reorganizing the same normative content into a structure that is easier to read and to maintain per-CVE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>



Jira Link
[CALCITE-7605] Add threat model
Changes Proposed
Add security threat model.