Skip to content

Commit e81dc49

Browse files
committed
Add CRA/EN 18031 threat model: asset register, trust boundaries, security controls
- security/threat_model.py: pytm-based threat model covering the full SDLC (runtime, GitHub Actions CI/CD, PyPI distribution). Defines 6 trust boundaries, 5 primary assets (PA-01..PA-05), 10 supporting assets (SA-01..SA-10), 8 environmental assets (EA-01..EA-08), and 15 annotated data flows with existing-control flags. - doc/explanation/security.rst: Sphinx RST page documenting the asset register, trust boundaries, data flows, implemented controls table, and known gaps/residual risks — aligned with CRA Article 13 and EN 18031. - doc/index.rst: wire security.rst into the Explanation toctree. - pyproject.toml: add pytm==1.3.1 as a new [security] optional dependency. - CHANGELOG.rst: record the new security documentation in 0.14.0 (unreleased). https://claude.ai/code/session_01Rc28JtpAPWhJtA3YvS5kcr
1 parent 9d04e07 commit e81dc49

6 files changed

Lines changed: 1042 additions & 0 deletions

File tree

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Release 0.14.0 (unreleased)
22
===========================
33

4+
* Add CRA / EN 18031-aligned security model documentation covering asset register,
5+
trust boundaries, data flows, implemented controls, and known gaps across the full
6+
SDLC (runtime, CI/CD, PyPI distribution). The threat model is maintained as
7+
executable code in ``security/threat_model.py`` using the ``pytm`` framework.
48
* Use ``.cdx.json`` as the default extension for CycloneDX SBOM reports (#1118)
59
* Embed base64-encoded license text in SBOM ``licenses[].text`` when a license is successfully identified (#1112)
610
* Set SBOM ``licenses`` to the SPDX expression ``NOASSERTION`` when a license file is not found or cannot be classified (#1112)

0 commit comments

Comments
 (0)