Skip to content

Add security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md security section)#4522

Open
potiuk wants to merge 2 commits into
apache:mainfrom
potiuk:asf-security/threat-model-2026-06-10
Open

Add security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md security section)#4522
potiuk wants to merge 2 commits into
apache:mainfrom
potiuk:asf-security/threat-model-2026-06-10

Conversation

@potiuk

@potiuk potiuk commented Jun 10, 2026

Copy link
Copy Markdown
Member

What

Adds a threat model for Apache Solr, drafted at the Solr PMC's request (the GLASSWING / Mythos scan pre-flight needs a discoverable threat model):

  • THREAT_MODEL.md — the model (rubric).
  • SECURITY.md — new (ASF disclosure pointer + threat-model reference).
  • AGENTS.md — your existing coding-agent file, preserved, with a ## Security section appended wiring AGENTS.md -> SECURITY.md -> THREAT_MODEL.md.

The model in brief

Built around Solr's deployment contract: a search server meant to run in a trusted environment with authentication + authorization enablednever exposed unauthenticated to an untrusted network. The admin/config/package APIs are powerful-by-design and must be authz-restricted; SSRF via shards/streaming is bounded by operator network controls; code-execution-adjacent features (Velocity/scripting, remote streaming) are off-by-default. So scanner/AI reports against "the admin API can change config / unauthenticated instance is dangerous / SSRF via shards" route to the right disposition rather than churning.

DRAFT — you own and merge it

The (inferred) trust assumptions are gathered as open questions in section 14; the load-bearing ones are Q-trustenv (confirm the trusted-environment posture so unauthenticated-exposure findings are out-of-model) and Q-features (which risky toggles, when enabled, keep a finding VALID vs make it non-default-build). Please edit freely.

Scope note: modelled for apache/solr; solr-sandbox placed out of scope (experimental); solr-operator / solr-mcp flagged for a scope confirmation (section 14 Q-scope).

Generated by the ASF Security team's threat-model tooling (Claude Opus); reviewed before opening.

potiuk added 2 commits June 10, 2026 19:29
Adds a threat model for Apache Solr, drafted at the Solr PMC's request following
the Apache Security team's threat-model rubric. Adds THREAT_MODEL.md and a new
SECURITY.md (ASF disclosure pointer), and appends a ## Security section to the
existing AGENTS.md wiring AGENTS.md -> SECURITY.md -> THREAT_MODEL.md (the rest
of AGENTS.md is preserved).

The model is built around Solr's deployment contract — a search server meant to
run in a trusted environment with auth+authz enabled, never exposed
unauthenticated to an untrusted network. It treats the admin/config/package
APIs as powerful-by-design (authz-restricted), bounds SSRF via shards/streaming
by operator network controls, and keeps code-execution-adjacent features as
off-by-default. DRAFT for PMC review: section 14 carries open questions (notably
the trusted-environment ruling and the risky-feature toggles). Scope:
apache/solr; solr-sandbox out of scope; solr-operator/solr-mcp pending a scope
confirmation.

Generated-by: Claude Opus 4.8 (1M context)
@anshumg anshumg self-requested a review June 11, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant