Skip to content

Commit 4485382

Browse files
committed
docs: remove parser line numbers from IriusRisk documentation
Per PR review feedback, removed line number references from field mapping tables and prose sections to reduce maintenance burden when parser code changes. Authored by T. Walker - DefectDojo
1 parent 27bde60 commit 4485382

1 file changed

Lines changed: 33 additions & 33 deletions

File tree

docs/content/supported_tools/parsers/file/iriusrisk.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "IriusRisk Threats Scan"
33
toc_hide: true
44
---
55

6-
The [IriusRisk](https://www.iriusrisk.com/) parser for DefectDojo supports imports from CSV format. This document details the parsing of IriusRisk threat model CSV exports into DefectDojo field mappings, unmapped fields, and location of each field's parsing code for easier troubleshooting and analysis.
6+
The [IriusRisk](https://www.iriusrisk.com/) parser for DefectDojo supports imports from CSV format. This document details the parsing of IriusRisk threat model CSV exports into DefectDojo field mappings, unmapped fields, and transformation notes for easier troubleshooting and analysis.
77

88
## Supported File Types
99

@@ -47,26 +47,26 @@ Sample IriusRisk scans can be found in the [sample scan data folder](https://git
4747
<details>
4848
<summary>Click to expand Field Mapping Table</summary>
4949

50-
| Source Field | DefectDojo Field | Parser Line # | Notes |
51-
| ------------------------ | -------------------- | ------------- | --------------------------------------------------------------------- |
52-
| Threat | title | 51 | Truncated to 150 characters with "..." suffix if longer |
53-
| Current Risk | severity | 53 | Mapped from IriusRisk risk levels to DefectDojo severity levels |
54-
| Component | component_name | 95 | The affected asset or component from the threat model |
55-
| Threat | description | 57 | Full threat text included as first line of structured description |
56-
| Component | description | 58 | Included in structured description block |
57-
| Use case | description | 59 | Threat category included in structured description |
58-
| Source | description | 60 | Origin of the threat included in structured description |
59-
| Inherent Risk | description | 61 | Pre-control risk level included in structured description |
60-
| Current Risk | description | 62 | Current risk level included in structured description |
61-
| Projected Risk | description | 63 | Post-mitigation risk level included in structured description |
62-
| Countermeasure progress | description | 64 | Percentage complete included in structured description |
63-
| Weakness tests | description | 65 | Test status included in structured description |
64-
| Countermeasure tests | description | 66 | Test status included in structured description |
65-
| Owner | description | 68-69 | Conditionally appended to description only when present |
66-
| STRIDE-LM | description | 70-71 | Conditionally appended to description only when present |
67-
| Risk Response | mitigation | 94 | Mitigation status percentages from IriusRisk |
68-
| MITRE reference | cwe | 82-85 | When value matches CWE-NNN pattern, integer is extracted to cwe field |
69-
| MITRE reference | references | 86-87 | When value does not match CWE pattern, stored as references |
50+
| Source Field | DefectDojo Field | Notes |
51+
| ------------------------ | -------------------- | --------------------------------------------------------------------- |
52+
| Threat | title | Truncated to 150 characters with "..." suffix if longer |
53+
| Current Risk | severity | Mapped from IriusRisk risk levels to DefectDojo severity levels |
54+
| Component | component_name | The affected asset or component from the threat model |
55+
| Threat | description | Full threat text included as first line of structured description |
56+
| Component | description | Included in structured description block |
57+
| Use case | description | Threat category included in structured description |
58+
| Source | description | Origin of the threat included in structured description |
59+
| Inherent Risk | description | Pre-control risk level included in structured description |
60+
| Current Risk | description | Current risk level included in structured description |
61+
| Projected Risk | description | Post-mitigation risk level included in structured description |
62+
| Countermeasure progress | description | Percentage complete included in structured description |
63+
| Weakness tests | description | Test status included in structured description |
64+
| Countermeasure tests | description | Test status included in structured description |
65+
| Owner | description | Conditionally appended to description only when present |
66+
| STRIDE-LM | description | Conditionally appended to description only when present |
67+
| Risk Response | mitigation | Mitigation status percentages from IriusRisk |
68+
| MITRE reference | cwe | When value matches CWE-NNN pattern, integer is extracted to cwe field |
69+
| MITRE reference | references | When value does not match CWE pattern, stored as references |
7070

7171
</details>
7272

@@ -75,35 +75,35 @@ Sample IriusRisk scans can be found in the [sample scan data folder](https://git
7575
<details>
7676
<summary>Click to expand Additional Settings Table</summary>
7777

78-
| Finding Field | Default Value | Parser Line # | Notes |
79-
| ---------------- | -------------------------------- | ------------- | ----------------------------------------------------------- |
80-
| static_finding | False | 97 | Threat model data is neither static nor dynamic analysis |
81-
| dynamic_finding | False | 98 | Threat model data is neither static nor dynamic analysis |
82-
| active | True (False when "Very low") | 96 | Set to False when Current Risk is "Very low" (fully mitigated) |
78+
| Finding Field | Default Value | Notes |
79+
| ---------------- | -------------------------------- | ----------------------------------------------------------- |
80+
| static_finding | False | Threat model data is neither static nor dynamic analysis |
81+
| dynamic_finding | False | Threat model data is neither static nor dynamic analysis |
82+
| active | True (False when "Very low") | Set to False when Current Risk is "Very low" (fully mitigated) |
8383

8484
</details>
8585

8686
## Special Processing Notes
8787

8888
### Status Conversion
8989

90-
IriusRisk uses a five-level risk scale that is mapped to DefectDojo severity levels (lines 8-14):
90+
IriusRisk uses a five-level risk scale that is mapped to DefectDojo severity levels:
9191

9292
- `Critical` → Critical
9393
- `High` → High
9494
- `Medium` → Medium
9595
- `Low` → Low
9696
- `Very low` → Info
9797

98-
Any unrecognized risk value defaults to Info (line 53). The mapping uses the "Current Risk" column, which reflects the risk level accounting for existing controls and represents the most accurate current exposure.
98+
Any unrecognized risk value defaults to Info. The mapping uses the "Current Risk" column, which reflects the risk level accounting for existing controls and represents the most accurate current exposure.
9999

100100
### Title Format
101101

102-
Finding titles are derived from the "Threat" column (line 51). Threat descriptions longer than 150 characters are truncated to 147 characters with a "..." suffix appended. Shorter threat texts are used as-is without modification.
102+
Finding titles are derived from the "Threat" column. Threat descriptions longer than 150 characters are truncated to 147 characters with a "..." suffix appended. Shorter threat texts are used as-is without modification.
103103

104104
### Description Construction
105105

106-
The parser constructs a structured markdown description containing all relevant CSV fields (lines 56-72):
106+
The parser constructs a structured markdown description containing all relevant CSV fields:
107107

108108
1. Full threat text (untruncated, regardless of title truncation)
109109
2. Component name
@@ -122,19 +122,19 @@ Each field is formatted as a bold markdown label followed by the value, with fie
122122

123123
### MITRE Reference / CWE Extraction
124124

125-
The parser reads the "MITRE reference" column (lines 79-87) and applies conditional mapping:
125+
The parser reads the "MITRE reference" column and applies conditional mapping:
126126

127127
- If the value matches the pattern `CWE-NNN` (e.g., "CWE-284"), the integer portion is extracted and set on the finding's `cwe` field.
128128
- If the value is present but does not match the CWE pattern (e.g., "T1059" for a MITRE ATT&CK technique), the full value is stored in the finding's `references` field.
129129
- If the column is empty, neither field is set.
130130

131131
### Mitigation Construction
132132

133-
The mitigation field is populated directly from the "Risk Response" column (line 94), which contains the IriusRisk mitigation status in the format: "Planned mitigation: X%. Mitigated: Y%. Unmitigated: Z%." This preserves the original IriusRisk mitigation tracking percentages.
133+
The mitigation field is populated directly from the "Risk Response" column, which contains the IriusRisk mitigation status in the format: "Planned mitigation: X%. Mitigated: Y%. Unmitigated: Z%." This preserves the original IriusRisk mitigation tracking percentages.
134134

135135
### Active/Inactive Logic
136136

137-
Findings are set to active by default (line 96). When the "Current Risk" value is "Very low", the finding is set to inactive, as this indicates the threat has been fully mitigated through implemented countermeasures.
137+
Findings are set to active by default. When the "Current Risk" value is "Very low", the finding is set to inactive, as this indicates the threat has been fully mitigated through implemented countermeasures.
138138

139139
### Deduplication
140140

0 commit comments

Comments
 (0)