Add security threat model and wire AGENTS.md -> SECURITY.md -> THREAT_MODEL.md#5268
Open
potiuk wants to merge 1 commit into
Open
Add security threat model and wire AGENTS.md -> SECURITY.md -> THREAT_MODEL.md#5268potiuk wants to merge 1 commit into
potiuk wants to merge 1 commit into
Conversation
…_MODEL.md Adds a v0 security threat model (THREAT_MODEL.md), fills the previously-empty SECURITY.md with a disclosure pointer to it, and adds a Security section to AGENTS.md so the AGENTS.md -> SECURITY.md -> THREAT_MODEL.md discoverability chain resolves for automated tooling. The threat model is a provenance-tagged v0 draft for the PMC to review (see the open questions in its section 14). No existing developer guidance in AGENTS.md is changed. Generated-by: Claude Code (Claude Opus 4.8)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a v0 draft proposal for the Zeppelin PMC to review — please correct, reject, or discuss as needed. The maintainer is the decision-maker; nothing here is a requirement. The threat model does not need to be "finished" for anything downstream — it just makes automated security review (and triage of inbound reports) far less noisy.
Context. The ASF Security team is preparing the project for an automated agentic security scan we're piloting. Those scans run against a threat model that tells the scanner what's in scope, what's by-design, and what counts as a real finding — without one, the output buries maintainers in noise. This PR proposes the discoverable model plus the wiring the scanner needs.
What's in this PR:
THREAT_MODEL.md(new) — a v0 security threat model written from Zeppelin's public docs + codebase, following the threat-model-producer rubric. Every claim carries a provenance tag: (documented) (from your docs/site) or (inferred) (our guess from code/docs, for you to confirm / correct / strike). Draft confidence ~18 documented / 24 inferred.SECURITY.md(was an empty file) — disclosure pointer + link to the threat model.AGENTS.md— a## Securitysection so theAGENTS.md → SECURITY.md → THREAT_MODEL.mdchain resolves for automated tooling. The existing developer guidance is unchanged.The framing to sanity-check first: Apache Zeppelin runs user notebook code by design, so RBAC (Shiro + notebook ACL + URL ACL + impersonation) is the boundary, not a sandbox — a
%shcommand from a run-capable user is the product working, not RCE. The model treats interpreter execution as in-scope only when it crosses an authn/authz or tenant boundary.What we'd need from the PMC:
VALID), or a dev-convenience operators are expected to change (OUT-OF-MODEL: non-default-build)? This reshapes the whole model.If you'd rather own the drafting yourselves, close the PR and we'll wait — entirely your call.