Add draft security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md)#3052
Add draft security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md)#3052potiuk wants to merge 3 commits into
Conversation
…TS.md) Generated-by: Claude Code
…h already covers **/*.md), so .ratignore is unread here and is itself the lone unapproved-license file failing RAT
cgivre
left a comment
There was a problem hiding this comment.
One minor change regarding the contrib/ folder. As a general comment, we've received a lot of so-called vulnerabilities that basically make the claim that you can enumerate file systems within Drill. Our response usually is "yes... that's the point of Drill". I'm hoping the audit will not repeat that.
| - **An operator with cluster/root access, the Drillbit service account, or direct ZooKeeper write access.** Anyone who controls the cluster processes or the coordination store has already won. `OUT-OF-MODEL: adversary-not-in-scope`. *(inferred — §14 Q5)* | ||
| - **Embedded / single-user mode**, where the caller owns the JVM, the filesystem, and all input — equivalent to an in-process library call. *(inferred — §14 Q1)* | ||
| - **SQL injection in an embedding application** that string-concatenates untrusted input into Drill SQL — that is the embedding app's bug, not Drill's. *(inferred — §11)* | ||
| - **Bundled connectors / formats under `contrib/`, tests, and examples** — separately authored; threat-model per connector if promoted. *(inferred)* |
There was a problem hiding this comment.
I don't the components in the contrib/ folder should be out of scope. These ship with Drill and are maintained as part of the Drill project.
…cope; storage-enumeration is by-design Generated-by: Claude Opus 4.8 (1M context)
|
Thanks @cgivre — both points folded into
The model is still a v0 draft for the PMC to react to — corrections welcome on any of the (inferred) claims. |
This is a proposal for the Drill PMC to review — please correct, reject, or discuss as needed. Every claim is provenance-tagged ((documented) / (inferred)); the (inferred) ones are the team's draft reasoning for you to confirm or strike, collected as "Open questions for the maintainers" (§14, three waves).
This adds a draft
THREAT_MODEL.mdplus theAGENTS.md -> SECURITY.md -> THREAT_MODEL.mddiscoverability wiring for Apache Drill, drafted at the PMC's request (Charles Givre, path 3) using the threat-model-producer rubric.What's needed from the PMC: walk the §14 questions (a one-line confirm / correct / strike per question is plenty). We fold your answers in and the (inferred) tags become (maintainer). Nothing here is a requirement — the scan just runs with less noise when the model is filled in.
Context: this is pre-flight for an automated agentic security scan the ASF Security team is piloting; discoverability (
AGENTS.md -> SECURITY.md -> the model) is the one hard gate. Questions / pushback welcome.Generated-by: Claude Opus 4.8 (1M context)