Skip to content

Add security threat model (THREAT_MODEL.md + SECURITY.md pointer + AGENTS.md)#613

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

Add security threat model (THREAT_MODEL.md + SECURITY.md pointer + AGENTS.md)#613
potiuk wants to merge 1 commit 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 XML Security for Java, drafted at the Santuario PMC's request (the GLASSWING / Mythos scan pre-flight needs a discoverable threat model), plus the discoverability chain:

  • THREAT_MODEL.md — the model, following Michael Scovetta's rubric (public mirror).
  • SECURITY.md — your existing policy, preserved, with a new Threat Model pointer appended.
  • AGENTS.md — routes a vulnerability-research agent through AGENTS.md -> SECURITY.md -> THREAT_MODEL.md.

The model in brief

The defining trust split: the application is trusted, but the XML submitted for verification/decryption is fully attacker-controlled. The model is built around that, with secure validation mode as the load-bearing knob, and it makes explicit the two things the library deliberately leaves to the caller — key trust and signature-coverage (XML-Signature-Wrapping) checks — so scanner/AI reports against those route to "by design / caller's responsibility" rather than churning.

DRAFT — you own and merge it

Most claims are grounded in the source / your SECURITY.md (tagged (documented)); the trust assumptions I marked (inferred) are gathered as open questions in section 14. The pivotal one is Q6 — secure-validation defaults: for each entry point (native org.apache.xml.security vs JSR-105, DOM vs StAX, by version), is secure validation on by default or opt-in? That single answer decides whether "secure-validation-off" findings are valid or out-of-model. Please edit freely.

Context

This is the threat-model step of the GLASSWING pre-flight for apache/santuario-xml-security-java. Once it's merged and discoverable, pre-flight passes and we can queue the scan.

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

…md chain

Adds a threat model for Apache XML Security for Java, drafted at the Santuario
PMC's request following the Apache Security team's threat-model rubric, plus an
AGENTS.md that routes vulnerability-research agents through the model. The
existing SECURITY.md is preserved and gains a Threat Model pointer.

The model centres on the defining trust split (the XML submitted for
verification/decryption is attacker-controlled) and the load-bearing role of
secure validation mode; it makes explicit that key trust and signature-coverage
(XML-Signature-Wrapping) checks are the caller's responsibility, and lists the
recurring non-findings. DRAFT for PMC review: section 14 carries open questions
(notably the secure-validation defaults per entry point/version).

Generated-by: Claude Opus 4.8 (1M context)
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