File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 117117# -- Options for autosectionlabel extension -------------------------------
118118autosectionlabel_maxdepth = 3
119119
120- # Suppress warnings about duplicate labels from argparse directive
120+ # Suppress warnings about duplicate labels from argparse directive and
121+ # from the generated threat-model pages (which share section names).
121122suppress_warnings = [
122123 "autosectionlabel.reference/commands" ,
123124 "autosectionlabel.reference/manifest" ,
124125 "autosectionlabel.howto/updating-projects" ,
126+ "autosectionlabel.explanation/threat_model_supply_chain" ,
127+ "autosectionlabel.explanation/threat_model_usage" ,
125128]
126129
127130# Options for sphinx-autoissues
Original file line number Diff line number Diff line change @@ -95,3 +95,16 @@ to reproduce a deterministic dependency state.
9595- Execution in CI environments with insufficient network or secret isolation may
9696 allow exfiltration risks if upstream sources are compromised or intentionally
9797 malicious.
98+
99+ Threat Models
100+ -------------
101+
102+ The following pages document the two threat models in detail. Each page is
103+ generated from the corresponding Python module in ``security/ `` — see
104+ ``security/README.md `` for instructions on regenerating them.
105+
106+ .. toctree ::
107+ :maxdepth: 1
108+
109+ threat_model_supply_chain
110+ threat_model_usage
Load Diff Large diffs are not rendered by default.
Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -13,11 +13,11 @@ the SHA above.
1313After this you can generate various reports using:
1414
1515``` bash
16- python -m security.tm_supply_chain --report security/report_template.md > report.md
16+ python -m security.tm_supply_chain --report security/report_template.rst > doc/explanation/threat_model_supply_chain.rst
1717python -m security.tm_supply_chain --dfd
1818python -m security.tm_supply_chain --seq
1919
20- python -m security.tm_usage --report security/report_template.md > report_usage.md
20+ python -m security.tm_usage --report security/report_template.rst > doc/explanation/threat_model_usage.rst
2121python -m security.tm_usage --dfd
2222python -m security.tm_usage --seq
2323```
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ .. ============================================================
2+ .. Auto-generated file — do not edit manually.
3+ .. Regenerate with (see security/README.md for exact commands):
4+ ..
5+ .. python -m security.tm_<supply_chain|usage> \
6+ .. --report security/report_template.rst \
7+ .. > doc/explanation/threat_model_<name>.rst
8+ .. ============================================================
9+
10+ System Description
11+ ------------------
12+
13+ {tm.description}
14+
15+ Assumptions
16+ -----------
17+
18+ .. list-table ::
19+ :header-rows: 1
20+ :widths: 30 70
21+
22+ * - Name
23+ - Description
24+ {tm.assumptions:repeat:
25+ * - {{item.name}}
26+ - {{item.description}}
27+ }
28+
29+ Dataflows
30+ ---------
31+
32+ .. list-table ::
33+ :header-rows: 1
34+ :widths: 35 20 20 25
35+
36+ * - Name
37+ - From
38+ - To
39+ - Protocol
40+ {dataflows:repeat:
41+ * - {{item.display_name:call: }}
42+ - {{item.source.name}}
43+ - {{item.sink.name}}
44+ - {{item.protocol}}
45+ }
46+
47+ Data Dictionary
48+ ---------------
49+
50+ .. list-table ::
51+ :header-rows: 1
52+ :widths: 25 55 20
53+
54+ * - Name
55+ - Description
56+ - Classification
57+ {data:repeat:
58+ * - {{item.name}}
59+ - {{item.description}}
60+ - {{item.classification.name}}
61+ }
62+
63+ Actors
64+ ------
65+
66+ .. list-table ::
67+ :header-rows: 1
68+ :widths: 25 75
69+
70+ * - Name
71+ - Description
72+ {actors:repeat:
73+ * - {{item.name}}
74+ - {{item.description}}
75+ }
76+
77+ Boundaries
78+ ----------
79+
80+ .. list-table ::
81+ :header-rows: 1
82+ :widths: 25 75
83+
84+ * - Name
85+ - Description
86+ {boundaries:repeat:
87+ * - {{item.name}}
88+ - {{item.description}}
89+ }
90+
91+ Assets
92+ ------
93+
94+ .. list-table ::
95+ :header-rows: 1
96+ :widths: 25 55 20
97+
98+ * - Name
99+ - Description
100+ - Type
101+ {assets:repeat:
102+ * - {{item.name}}
103+ - {{item.description}}
104+ - {{item:call: getElementType}}
105+ }
106+
107+ {tm.excluded_findings:if:
108+ Excluded Threats
109+ ----------------
110+
111+ .. list-table ::
112+ :header-rows: 1
113+ :widths: 12 28 20 20 8 12
114+
115+ * - ID
116+ - Description
117+ - Target
118+ - Assumption
119+ - Severity
120+ - References
121+ }
122+ {tm.excluded_findings:repeat:
123+ * - {{item:call: getThreatId}}
124+ - {{item:call: getFindingDescription}}
125+ - {{item:call: getFindingTarget}}
126+ - {{item.assumption.name}}
127+ - {{item:call: getFindingSeverity}}
128+ - {{item:call: getFindingReferences}}
129+ }
You can’t perform that action at this time.
0 commit comments