Skip to content

docs(security): answer the threat model's open questions - #2010

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:security-model-ratification
Nov 5, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:security-model-ratification

Conversation

@potiuk

@potiuk potiuk commented Nov 5, 2026

Copy link
Copy Markdown
Member

Summary

The threat model has been a draft since #1859, with 11 open questions waiting on maintainers.
This answers them, with each proposed answer checked against the code first.
Several proposals described things the code does not do, so those claims are narrowed to what ships rather than ratified as written.

  • Triage: strict, and a closed symptom vocabulary. The rubric's terms are memory-safety ones, so three framework-specific terms are declared alongside them.
  • Unreviewed changes on main stay in the model. The proposal relied on branch protection, but .asf.yaml has required review lifted, so P8 stays in and C-D6 is narrowed. Restoring required review closes this (Q12).
  • C-K3 and C-I3 are scoped to the components that meet them, with the framework-wide rule as the target (Q13).
  • C-I6 becomes design requirement R-I6: the patch-landing adapters are documentation only.
  • C-C5 is narrowed to the reviewer prompt, and reads outside the tree become an open question (Q14).
  • New claims from the backtest gaps: C-I7, C-D7, C-D8, C-E8, C-E9. C-E8 follows fix(sandbox): scope ASF network grants to ASF projects #1978.
  • Scope and boundaries now cover the tools shipped since the restructure, and the Maildir reader is no longer listed as a stub.

Config: tracker_repo now points at apache/magpie-security, security-model.md is added (the model skills require it), and projects/magpie/project.md no longer names two lists that do not exist.
Reports still go to security@apache.org.

Regression check: every fixed item in the backtest was re-routed against the amended model, and none routes to a closing disposition.
Narrowing sends a report against an unnamed component to MODEL-GAP, which escalates.

Type of change

  • Documentation (docs/, README.md, CONTRIBUTING.md)
  • Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)

Test plan

  • prek run --all-files --skip workspace-pytest passes
  • Adversarial review: codex no findings; copilot one finding, on C-C5, folded in. Antigravity did not run (quota).

Gen-AI disclosure

Drafted with Claude Code and reviewed by the maintainer, who answered each question.

🤖 Generated with Claude Code

A PMC member answered Q1-Q11, each checked against the code first. Where
the proposed answer described something the code does not do, the claim
is narrowed to what ships instead of being ratified as written.

- Adopt strict triage and a closed symptom vocabulary.
- Keep the unreviewed-change adversary in the model, since required
  review on main is lifted, and narrow C-D6 to match.
- Scope C-K3 and C-I3 to the components that meet them.
- Record patch pinning as a design requirement, not a property.
- Add claims for the backtest gaps, including egress scoping now that
  apache#1978 has landed.
- Bring scope and trust boundaries up to date with the shipped tools.

Point the project config at the private tracker and the security model,
and correct two mailing-list addresses that do not exist.

Generated-by: Claude Opus 5
@github-actions github-actions Bot added family:security security-* skills family:setup setup-* skills family:tools tools/* family:docs Docs, MISSION.md, READMEs contract:change-request Tool capability: proposed-change review + merge gate (PR / MR / Gerrit change) labels Nov 5, 2026
@potiuk
potiuk enabled auto-merge (squash) November 5, 2026 12:56
@potiuk
potiuk merged commit 47a9a32 into apache:main Nov 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contract:change-request Tool capability: proposed-change review + merge gate (PR / MR / Gerrit change) family:docs Docs, MISSION.md, READMEs family:security security-* skills family:setup setup-* skills family:tools tools/*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant