Add THREAT_MODEL.md + SECURITY.md and wire AGENTS.md (security-model discoverability)#3449
Add THREAT_MODEL.md + SECURITY.md and wire AGENTS.md (security-model discoverability)#3449potiuk wants to merge 1 commit into
Conversation
…el discoverability Adds a draft threat model (ASF Security team v0, for the PMC to own and refine), a SECURITY.md pointing to it, and a Security section in AGENTS.md so the AGENTS.md -> SECURITY.md -> THREAT_MODEL.md discoverability chain resolves. Documentation only; no code or behaviour changes. Assisted-by: Claude Code:claude-opus-4-8
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3449 +/- ##
============================================
- Coverage 76.35% 76.28% -0.08%
- Complexity 13424 13520 +96
============================================
Files 1012 1017 +5
Lines 60341 60927 +586
Branches 7075 7136 +61
============================================
+ Hits 46076 46478 +402
- Misses 11548 11648 +100
- Partials 2717 2801 +84 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| GraphBinary serialization formats, and the Gremlin Language Variants (Java, Python, .NET, Go, JS). | ||
| *(documented — `README.md`, repo layout)* | ||
| - **Scope of this model:** the **`apache/tinkerpop` monorepo**, active branches `master`, `3.7-dev`, | ||
| `3.8-dev` *(maintainer — colegreer, scope confirmation)*. The model focuses on the network-facing and |
There was a problem hiding this comment.
I don't think we want or need to maintain a list of (active) maintainers here.
| `3.8-dev` *(maintainer — colegreer, scope confirmation)*. The model focuses on the network-facing and | |
| `3.8-dev`. The model focuses on the network-facing and |
| databases (providers) embed `gremlin-core` to run Gremlin traversals; **Gremlin Server** exposes that | ||
| capability over the network (WebSocket sub-protocol + HTTP), accepting both **string-based Gremlin | ||
| scripts** (evaluated by the `gremlin-groovy` Groovy script engine) and **bytecode-based traversals** | ||
| (the GLVs). *(documented — reference docs)* |
There was a problem hiding this comment.
It's clear we will need to split this model into 2 very distinct versions for 3.7/3.8 and 4. As this PR is already targeting master, I suggest we focus this one on 4. I'll open a twin PR which cherry-picks the draft back to 3.7, and we can iterate on the websocket/bytecode model there.
|
Thanks @Cole-Greer — both well taken. Maintainers list (L27) — agreed, dropping it; applying your suggestion. 3.7/3.8 vs 4 split (L47) — that makes sense, and I'll defer to you on the structure: I'll refocus this PR on the 4 / master line as you suggest. If you're up for opening the twin PR cherry-picking the 3.7/3.8-appropriate version, that's the cleanest split — say the word and I'll keep the shared wording aligned so the two don't diverge. Whatever fits your release lines best. Thanks for the careful read. |
|
@Cole-Greer — confirming I'm holding this PR rather than pushing a partial refocus. The 3.7/3.8-vs-4 split is yours to drive via the twin PR you mentioned; once that's open (or you tell me which way you'd like the version scope to land), I'll refocus this one on 4/master and keep the shared wording aligned with yours. The maintainers-list reword you suggested folds in at the same time. Nothing needed from you until then. |
Adds a draft
THREAT_MODEL.mdfor Apache TinkerPop, aSECURITY.mdpointing to it, and a## Securitysection inAGENTS.md, so automated security scanners (and researchers) can mechanically discover the project's threat model via theAGENTS.md->SECURITY.md->THREAT_MODEL.mdchain.The threat model is a v0 draft authored by the ASF Security team for the PMC to own and refine. It follows a standard rubric (scope, trust boundaries, adversary model, security properties provided / not provided, downstream responsibilities, known non-findings, triage dispositions). Every claim carries a provenance tag —
*(documented)*/*(inferred)*/*(maintainer)*— and every*(inferred)*claim routes to a numbered question in §14 for the PMC to confirm, correct, or strike. The highest-value items to confirm: the default authentication/TLS posture, the script-execution disposition (string scripts run through the Groovy engine), and the Gryo/serialization handling.THREAT_MODEL.mdandSECURITY.mdcarry the ASF license header;AGENTS.mdis RAT-excluded. No code or behaviour changes — documentation only.This is a proposal for the PMC to review — please adjust, correct, or reject as needed.