You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/en/working_with_findings/organizing_engagements_tests/product_hierarchy.md
+30-7Lines changed: 30 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,9 @@ Product Types can have Role\-Based Access Control rules applied, which limit tea
25
25
26
26
#### What can a Product Type represent?
27
27
28
-
* If a particular software project has many distinct deployments or versions, it may be worth creating a single Product Type which covers the scope of the entire project, and having each version exist as individual Products.
28
+
* If a particular software project has many distinct deployments or versions, it may be worth creating a single Product Type which covers the scope of the entire project, and having each version exist as individual Products.
29
29
30
-
* You also might consider using Product Types to represent stages in your software development process: one Product Type for 'In Development', one Product Type for 'In Production', etc.
30
+
* You also might consider using Product Types to represent stages in your software development process: one Product Type for 'In Development', one Product Type for 'In Production', etc.
31
31
32
32
* Ultimately, it's your decision how you wish to organize your Products, and what you Product Type to represent. Your DefectDojo hierarchy may need to change to fit your security teams' needs.
33
33
@@ -58,11 +58,11 @@ The following scenarios are good reasons to consider creating a separate DefectD
58
58
* "**ExampleProduct 1\.0**" uses completely different software components from "**ExampleProduct 2\.0**", and both versions are actively supported by your company.
59
59
* The team assigned to work on "**ExampleProduct version A**" is different than the product team assigned to work on "**ExampleProduct version B**", and needs to have different security permissions assigned as a result.
60
60
61
-
These variations within a single Product can also be handled at the Engagement level. Note that Engagements don't have access control in the way Products and Product Types do.
61
+
These variations within a single Product can also be handled at the Engagement level. Note that Engagements don't have access control in the way Products and Product Types do.
62
62
63
63
## **Engagements**
64
64
65
-
Once a Product is set up, you can begin creating and scheduling Engagements. Engagements are meant to represent moments in time when testing is taking place, and contain one or more **Tests**.
65
+
Once a Product is set up, you can begin creating and scheduling Engagements. Engagements are meant to represent moments in time when testing is taking place, and contain one or more **Tests**.
66
66
67
67
Engagements always have:
68
68
@@ -72,12 +72,12 @@ Engagements always have:
72
72
* an assigned **Testing Lead**
73
73
* an associated **Product**
74
74
75
-
There are two types of Engagement: **Interactive** and **CI/CD**.
75
+
There are two types of Engagement: **Interactive** and **CI/CD**.
76
76
77
77
* An **Interactive Engagement** is typically run by an engineer. Interactive Engagements are focused on testing the application while the app is running, using an automated test, human tester, or any activity “interacting” with the application functionality. See [OWASP's definition of IAST](https://owasp.org/www-project-devsecops-guideline/latest/02c-Interactive-Application-Security-Testing#:~:text=Interactive%20Application%20Security%20Testing,interacting%E2%80%9D%20with%20the%20application%20functionality.).
78
78
* A **CI/CD Engagement** is for automated integration with a CI/CD pipeline. CI/CD Engagements are meant to import data as an automated action, triggered by a step in the release process.
79
79
80
-
Engagements can be tracked using DefectDojo's **Calendar** view.
80
+
Engagements can be tracked using DefectDojo's **Calendar** view.
81
81
82
82
#### What can an Engagement represent?
83
83
@@ -91,7 +91,7 @@ If you have a planned testing effort scheduled, an Engagement offers you a place
91
91
92
92
***Test:** Nessus Scan Results (March 12\)
93
93
***Test:** NPM Scan Audit Results (March 12\)
94
-
***Test:** Snyk Scan Results (March 12\)
94
+
***Test:** Snyk Scan Results (March 12\)
95
95
96
96
You can also organize CI/CD Test results within an Engagement. These kinds of Engagements are 'Open\-Ended' meaning that they don't have a date, and will instead add additional data each time the associated CI/CD actions are run.
97
97
@@ -137,6 +137,29 @@ The following Test Types appear in the "Scan Type" dropdown when creating a new
137
137
138
138
Non-parser Test Types should be used when you need to manually create findings that require remediation but don't originate from automated scanner output.
139
139
140
+
#### **Parser-based Test Types**
141
+
142
+
Parser-based test types can be categorized by how their test type name is determined:
143
+
144
+
-**Fixed Test Type Names**: The test type name is predefined and known before import (e.g., "ZAP Scan", "Nessus Scan").
145
+
146
+
-**Report-Defined Test Type Names**: The test type name is extracted from the scan report content at import time.
147
+
148
+
Examples include:
149
+
-**Generic Findings Import**: Creates test types based on the `type` field in JSON reports
150
+
-**SARIF**: Creates test types based on tool names in the SARIF report (e.g., "Dockle Scan (SARIF)")
151
+
-**OpenReports**: Creates separate test types per source found in the report
152
+
153
+
**Report-Defined Test Type Naming Rules:**
154
+
- If the report's `type` field equals the scan type → uses scan type directly (e.g., "Generic Findings Import")
155
+
- If the report's `type` field differs → creates "{type} Scan ({scan_type})" format (e.g., "Tool1 Scan (Generic Findings Import)")
156
+
- If no `type` field is provided → uses scan type directly
157
+
158
+
**Important Considerations:**
159
+
- Report-defined test types are automatically created when a new type is detected during import or reimport.
160
+
- For reimports, the test type name must match exactly - mismatches will raise a validation error
161
+
- Deduplication settings (`HASHCODE_FIELDS_PER_SCANNER`) use test type names as keys, so report-defined names must be configured accordingly if you want custom deduplication behavior
162
+
140
163
#### **How do Tests interact with each other?**
141
164
142
165
Tests take your testing data and group it into Findings. Generally, security teams will be running the same testing effort repeatedly, and Tests in DefectDojo allow you to handle this process in an elegant way.
0 commit comments