| <!-- SPDX-License-Identifier: Apache-2.0 --> | |
| # AGENTS.md | |
| ## Security | |
| You are helping a security researcher find and report vulnerabilities in | |
| Apache Santuario (XML Security for Java). Before drafting any report or reaching | |
| any conclusion, complete these steps. | |
| ### Step 1 — Read the threat model | |
| Read **[THREAT_MODEL.md](THREAT_MODEL.md)**: the trust boundary, the central | |
| **secure validation** knob, the properties provided vs. left to the caller, and | |
| the known non-findings. | |
| ### Step 2 — Read the security policy | |
| Read **[SECURITY.md](SECURITY.md)** for how to report and the published | |
| advisories. | |
| ### Key scoping facts (see THREAT_MODEL.md) | |
| - The library verifies/decrypts **attacker-controlled XML**; the calling | |
| application and its key-trust configuration are trusted. | |
| - **Secure validation** mode is load-bearing: a finding that only manifests | |
| with secure validation *off* is out of model (it is the trusted-input | |
| posture) — see section 5a. | |
| - The library does **not** decide **key trust** or **what the signature | |
| covers**: certificate-path validation and **XML-Signature-Wrapping** coverage | |
| checks are the caller's responsibility (sections 9/10). Route such findings | |
| there. | |
| - The retired C++ project and archived repos are out of scope. | |
| ### Then assess | |
| Route the finding to exactly one disposition in **THREAT_MODEL.md section 13**, | |
| citing the section. If it cannot be routed, it is a `MODEL-GAP` — surface it. |