From 3f4448ed1867ac2a957f3add3bf885c88754ce72 Mon Sep 17 00:00:00 2001 From: DefectDojo release bot Date: Mon, 23 Jun 2025 15:46:53 +0000 Subject: [PATCH 01/14] Update versions in application files --- components/package.json | 2 +- helm/defectdojo/Chart.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/package.json b/components/package.json index 8f52cc1e8d8..e138a5fa63c 100644 --- a/components/package.json +++ b/components/package.json @@ -1,6 +1,6 @@ { "name": "defectdojo", - "version": "2.47.3", + "version": "2.48.0-dev", "license" : "BSD-3-Clause", "private": true, "dependencies": { diff --git a/helm/defectdojo/Chart.yaml b/helm/defectdojo/Chart.yaml index ee07e3b07fa..6c4698f6572 100644 --- a/helm/defectdojo/Chart.yaml +++ b/helm/defectdojo/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 -appVersion: "2.47.3" +appVersion: "2.48.0-dev" description: A Helm chart for Kubernetes to install DefectDojo name: defectdojo -version: 1.6.193 +version: 1.6.194-dev icon: https://www.defectdojo.org/img/favicon.ico maintainers: - name: madchap From d0438355d7b5c4198c3d851d7adbd777a4b26186 Mon Sep 17 00:00:00 2001 From: manuelsommer <47991713+manuel-sommer@users.noreply.github.com> Date: Mon, 23 Jun 2025 23:29:39 +0200 Subject: [PATCH 02/14] :tada: Add Tailscale vulnid (#12645) * :tada: Add Tailscale vulnid * update --- dojo/settings/settings.dist.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dojo/settings/settings.dist.py b/dojo/settings/settings.dist.py index 8b7ae27b18e..ffae1640246 100644 --- a/dojo/settings/settings.dist.py +++ b/dojo/settings/settings.dist.py @@ -1861,6 +1861,7 @@ def saml2_attrib_map_format(din): "SUSE-SU-": "https://www.suse.com/support/update/announcement/", # e.g. https://www.suse.com/support/update/announcement/2024/suse-su-20244196-1 "SVD-": "https://advisory.splunk.com/advisories/", # e.g. https://advisory.splunk.com/advisories/SVD-2025-0103 "TEMP-": "https://security-tracker.debian.org/tracker/", # e.g. https://security-tracker.debian.org/tracker/TEMP-0841856-B18BAF + "TS-": """https://tailscale.com/security-bulletins#""", # e.g. https://tailscale.com/security-bulletins or https://tailscale.com/security-bulletins#ts-2022-001-1243 "TYPO3-": "https://typo3.org/security/advisory/", # e.g. https://typo3.org/security/advisory/typo3-core-sa-2025-010 "USN-": "https://ubuntu.com/security/notices/", # e.g. https://ubuntu.com/security/notices/USN-6642-1 "VNS": "https://vulners.com/", From 2433d0e55bdf98467a9f160c13551ebf8a294945 Mon Sep 17 00:00:00 2001 From: Paul Osinski <42211303+paulOsinski@users.noreply.github.com> Date: Mon, 23 Jun 2025 21:50:22 -0400 Subject: [PATCH 03/14] [docs] update pro changelog 2.47.2, remove redundant content (#12649) * remove redundant articles from archive * update changelog 2.47.1 / 2.47.2 --------- Co-authored-by: Paul Osinski --- docs/assets/images/pro_endpoint_metadata.png | Bin 0 -> 154883 bytes docs/assets/images/pro_finding_icons.png | Bin 0 -> 67634 bytes docs/assets/images/pro_login.png | Bin 0 -> 107397 bytes .../images/pro_vulnerable_endpoints.png | Bin 0 -> 86716 bytes docs/content/en/changelog/changelog.md | 26 +++ .../notifications/about_notifications.md | 16 ++ .../en/open_source/archived_docs/jira.md | 191 ------------------ .../archived_docs/notifications.md | 133 ------------ .../troubleshooting_jira.md | 48 ++++- 9 files changed, 89 insertions(+), 325 deletions(-) create mode 100644 docs/assets/images/pro_endpoint_metadata.png create mode 100644 docs/assets/images/pro_finding_icons.png create mode 100644 docs/assets/images/pro_login.png create mode 100644 docs/assets/images/pro_vulnerable_endpoints.png delete mode 100644 docs/content/en/open_source/archived_docs/jira.md delete mode 100644 docs/content/en/open_source/archived_docs/notifications.md diff --git a/docs/assets/images/pro_endpoint_metadata.png b/docs/assets/images/pro_endpoint_metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..8da87ab41a9f47f22c242958a5a4fa65a3140157 GIT binary patch literal 154883 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 z zi1y*;aHS)&e7c*X=J|Nt=(to`PtXOu^|A$ACQ0io38Tdy&y5E-OZ=w$`~Mg$-Qu z`nA)MT7b ziscV|i$@PFOew?JaSBNU+*Grx1hXRs%4hEhk(;K&;IQjiw2uxczg*(uwDuji{vYPv zIw-EMSsM)m2(H1M;0zWlIKc@LAPMdo+=5$hhX4s~!QCAO4K9PblQ8%|kioe-?>XOB z@0;H}_xyXSc1`U)HM5uX>eZ|JSx=7w8!D0m-`DC!s!4Zjmw1g8%{x(JKKFg@_{zX z{55z4Ags?as^Yne*8k%I46DXHAp43yY+5JYO2@3%1Wn!&BDOgOxxqu(e|nTb+sWUr z)m6}D*b4$&|4Fo49h>`h$t*-fgD+|%str5L5UYk@J(UWQvBM7WXy%``QYfCGe5K=p zEKp!zEFV1=2^_sfYUUeyhX+UQZhnnO_qn-ZgZX00&gakB^^IoW?E1@MFZS`11(QH5 z|B&gmtsLH%v_kvL>Sd%CxW&&h0V4YA=jF^~N)n}O-i9`anYm{{ZXshrOMY@{IJ$XU zRl5?gQUNmZG_;K&%`bcKu2w>Dj4|8IDb776futrQ(oc~R0BQtNJ=IMi&K|_W)4-}% zyJYSldDKV^p9!#t;MmsqiSRLII&bHSUXue<#G#kdnH zy0D$0>&!+zKlGDErw1{St@&Y#NC`umZLI%Iig9y$081ulgZ?A=G4%PHo1Xar;cjr$ zVvLGV+w^P4YC+)qUJOP06FU~JO;PG(M<_MfC*d_$0RgA$ZT`K)oSX?}z)NcwSm|#> zC;Iu`p(k#$9Uy0ZZIi1Q5g^ql`-E44D;3DVp`bSz;O?xHlC>k*3DD~wE!(J5VH;M7 z{I2%PVpmU9=Wh)0c2Xi|P< zu~Cy3Czz%peDpr;WEH73+f?=>>LnE5$2Z!%lA7u86>g+!4%VpD!W%V()o-71cAU6# z2*-~L!+ms`INp;)*cf-8PAPJ#y1MdZy00PEe`noj<>FzBqVm5}8y+3S#OsRc>fmDs zZG@KSHX)vU#BnJPuj+j0_Z$6kuZ4=SarQIut>eTYsC9q1%tg7hShl&c(pgmv;_v`W(DMHQrl+IB>m5+vO3)5t|&O zn?Qk{rae7f_(C5C5KN!p^HOU3VxXv!8MFa17u2?iMyI<`poy<@AHO)@i-vTe_w0NH z4&#g&3>`cmG}D_^;C^B1t`(guKhPNe>}}47tvwfXjZ?mrS>p#N;IA=SoSrga6T{lD zVEx2x9ZSHy&;wccRZi{~MsOEp@}#nEsHaQkE3_eI?SqkMv)fuxv<)W@?CW(w^xH31 zv=%n%Z%`s%{x~eve&oB=e`T+VJ&-F?Yi@V7>dy-YQ^XOW{d_00_trM`q{OOebN@(2 zYp{Lh`Jn%BGvx=4$C#IkigEzD(|N&GHxS5!6JC{&7VmHza9g!0C^~58;Wv2TQY}ao zbJUSqLlo8 z8-0Ib_wFAd_h4&YRL zvqB4T$L4Q&UlZTPkHGG>PViD12ChoZZkM;SU!oS-Tfj3x3^RUX*x<$J|3VZ<%WgOw zSDt#y4G%!bhBnKFD;&NcRsR|ibJDpQzbgOwWcN_F?+CXttP9yQ-v@~${dV!<^=7=L ze`Gu0TE(Zp_pHeYom&WWKqPY6T#6+&-h{Uu0vQWFgfyZ(mX+xY&C$cS4FdS1TU!b| znuvj=63#*5NA%|?R0)c_-VfATKJ%6RFjIiSUfmi04`y?w=q(<*PW_jTyWeb#_Wgafk3R=jOUi92eeWij-j5-a;fP%s5hNRL z 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/pro_finding_icons.png b/docs/assets/images/pro_finding_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..ebff005ac4be3ade933ab39796b4d14bf10f482a GIT binary patch literal 67634 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

?Pl`#zD@Hz+8$RaEDV0bu`=o@ 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/pro_vulnerable_endpoints.png b/docs/assets/images/pro_vulnerable_endpoints.png new file mode 100644 index 0000000000000000000000000000000000000000..70f0282a65c1eff32e88718ee9b56ab7c16e9b09 GIT binary patch literal 86716 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 F0RXbqV}Jkv literal 0 HcmV?d00001 diff --git a/docs/content/en/changelog/changelog.md b/docs/content/en/changelog/changelog.md index 7bade9a537f..2471612711b 100644 --- a/docs/content/en/changelog/changelog.md +++ b/docs/content/en/changelog/changelog.md @@ -11,6 +11,32 @@ For Open Source release notes, please see the [Releases page on GitHub](https:// ## June 2025: v2.47 +### June 16, 2025: v2.47.2 + +- **(Pro UI)** Endpoint Metadata can now be uploaded to Products. You can now import a .csv list of all endpoints associated with a Product, from **View Product > Endpoints > Import Endpoint Metadata** + +![image](images/pro_endpoint_metadata.png) + +- **(Pro UI)** Pie Charts for Metrics now dynamically update based on selected categories. +- **(Pro UI)** Finding metadata (specifically notes, endpoints, and file path/line number) are now visible from the Findings table if present. +- **(Pro UI)** Findings table now uses icons to identify linked Endpoints, Notes or Files. Clicking the Endpoints or Notes icon opens a window which lists all Endpoints or Notes. + +![image](images/pro_finding_icons.png) + +- **(Pro UI)** Login page has been redesigned. + +![image](images/pro_login.png) + + +### June 9, 2025: v2.47.1 + +- **(Pro UI)** Vulnerable Endpoints table has now been added to Finding pages. + +![image](images/pro_vulnerable_endpoints.png) + +- **(Pro UI)** "Original Finding" link has been added to Finding Metadata table for Duplicate Findings. +- **(Pro UI)** CI/CD Metadata has been added to Engagement view. + ### June 2, 2025: v2.47.0 - **(Pro UI)** Finding review can now be set through the Pro UI. You can now Request Review or clear a Finding review from Finding tables, or from the Finding View. diff --git a/docs/content/en/customize_dojo/notifications/about_notifications.md b/docs/content/en/customize_dojo/notifications/about_notifications.md index 1abfd045252..1426d42ac5d 100644 --- a/docs/content/en/customize_dojo/notifications/about_notifications.md +++ b/docs/content/en/customize_dojo/notifications/about_notifications.md @@ -59,3 +59,19 @@ To remove one or more Alerts from the Alerts Page, check the empty box next to i * Using the **Clear All Alerts \>** function in the Alerts Menu will also completely clear the **Alerts Page**, so use this feature with care. * Removing an Alert only affects your own Alerts List \- it will not affect any other user’s Alerts. * Removing an Alert does not remove any import history or activity logs from DefectDojo. + +## Open-Source Considerations + +### Specific overrides + +System notification settings (scope: system) describe the sending of notifications to superadmins. User notification settings (scope: personal) describe sending notifications to the specific user. + +However, there is a specific use-case when the user decides to disable notifications (to decrease noise) but the system setting is used to override this behavior. These overrides apply only to `user_mentioned` and `review_requested` by default. + +The scope of this setting is customizable (see environment variable `DD_NOTIFICATIONS_SYSTEM_LEVEL_TRUMP`). + +For more information about this behavior see the [related pull request #9699](https://github.com/DefectDojo/django-DefectDojo/pull/9699/) + +### Webhooks (experimental) + +DefectDojo also supports webhooks that follow the same events as other notifications (you can be notified in the same situations). Details about setup are described in [related page](/en/open_source/notification_webhooks/how_to). diff --git a/docs/content/en/open_source/archived_docs/jira.md b/docs/content/en/open_source/archived_docs/jira.md deleted file mode 100644 index ba3c9a16244..00000000000 --- a/docs/content/en/open_source/archived_docs/jira.md +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: "JIRA integration" -description: "Bidirectional integration of DefectDojo findings with Jira issues." -draft: false -weight: 4 -exclude_search: true ---- - -DefectDojo\'s JIRA integration is bidirectional. You may push findings -to JIRA and share comments. If an issue is closed in JIRA it will -automatically be closed in Dojo. - -**NOTE:** These steps will configure the necessary webhook in JIRA and add JIRA integration into DefectDojo. This isn\'t sufficient by itself, you will need to configure products and findings to push to JIRA. On a product\'s settings page you will need to define a: - -- Project Key (and this project must exist in JIRA) -- JIRA Configuration (select the JIRA configuration that you - create in the steps below) -- Component (can be left blank) - -Then elect (via tickbox) whether you want to \'Push all issues\', -\'Enable engagement epic mapping\' and/or \'Push notes\'. Then click on -\'Submit\'. - -If creating a Finding, ensure to tick \'Push to jira\' if desired. - -Enabling the Webhook --------------------- - -1. Visit \<**YOUR JIRA URL**\>/plugins/servlet/webhooks -2. Click \'Create a Webhook\' -3. For the field labeled \'URL\' enter: \<**YOUR DOJO - DOMAIN**\>/jira/webhook/<**YOUR GENERATED WEBHOOK SECRET**> - This value can be found under Defect Dojo System settings -4. Under \'Comments\' enable \'Created\'. Under Issue enable - \'Updated\'. - -Configurations in Dojo ----------------------- - -1. Navigate to the System Settings from the menu on the left side - or by directly visiting \/system\_settings. -2. Enable \'Enable JIRA integration\' and click submit. -3. For the webhook created in Enabling the Webhook, enable - \'Enable JIRA web hook\' and click submit. - -Adding JIRA to Dojo -------------------- - -1. Click \'JIRA\' from the left hand menu. -2. Select \'Add Configuration\' from the drop-down. -3. For JIRA Server: - - Enter the _Username_ & _Password_. A _Username_ and JIRA _Personal Access Token_ will not necessarily work. - - For JIRA Cloud: - - Enter _Email Address_ & [API token for Jira](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) -4. To obtain the \'open status key\' and \'closed status key\' - visit \<**YOUR JIRA - URL**\>/rest/api/latest/issue/\<**ANY VALID ISSUE - KEY**\>/transitions?expand=transitions.fields -5. The \'id\' for \'Todo\' should be filled in as the \'open status - key\' -6. The \'id\' for \'Done\' should be filled in as the \'closed - status key\' - -To obtain \'epic name id\': If you have admin access to JIRA: - -1. visit: \<**YOUR JIRA - URL**\>/secure/admin/ViewCustomFields.jspa -2. Click on the cog next to \'Epic Name\' and select view. -3. The numeric value for \'epic name id\' will be displayed in the - URL -4. **Note**: dojojira uses the same celery functionality as - reports. Make sure the celery runner is setup correctly as - described: - - -Or - -1. login to JIRA -2. visit and use control+F - or grep to search for \'Epic Name\' it should look something - like this: - -{ - "id":"customfield_122", - "key":"customfield_122", - "name":"Epic Name", - "custom":true, - "orderable":true, - "navigable":true, - "searchable":true, - "clauseNames":"cf[122]", - "Epic Name"\], - "schema":{"type":"string","custom":"com.pyxis.greenhopper.jira:gh-epic-label","customId":122} -} - -**In the above example 122 is the number needed** - -## Customize JIRA issue description - -By default Defect Dojo uses the `dojo/templates/issue-trackers/jira_full/jira-description.tpl` template to render the description of the 'to be' created JIRA issue. -This file can be modified to your needs, rebuild all containers afterwards. There's also a more limited template available, which can be chosen when -configuring a JIRA Instance or JIRA Project for a Product or Engagement: - -![image](images/jira_issue_templates.png) - -Any folder added to `dojo/templates/issue-trackers/` will be added to the dropdown (after rebuilding/restarting the containers). - -## Engagement Epic Mapping - -If creating an Engagement, ensure to tick 'Enable engagement epic mapping' if desired. This can also be done after engagement creation on the edit engagement page. -This will create an 'Epic' type issue within Jira. All findings in the engagement pushed to Jira will have a link to this Epic issue. -If Epic Mapping was enabled after associated findings have already been pushed to Jira, simply pushing them again will link the Jira issue to the Epic issue. - -## Pushing findings - -Findings can be pushed to Jira in a number of ways: - -1. When importing scanner reports, select 'Push to JIRA' to push every single finding in the report to Jira -2. When creating a new finding, select 'Push to JIRA' and submit. This will create the finding in DefectDojo and Jira simultaneously -3. If a finding already exist, visit the edit finding page and find the 'Push to JIRA' tick box at the bottom -4. When viewing a list of findings, select each relevant tick boxes to the left of the finding, and click the 'Bulk Edit' button at the top. find 'Push to JIRA' at the bottom of the menu - -## Status Sync - -DefectDojo will try to keep the status in sync with the status in JIRA -using the Close and Reopen transition IDs configured for each JIRA instance. This -will only work if your workflow in JIRA allows the Close transition to be -performed from every status a JIRA issue can be in. - -## Known Issues - -The Risk Acceptance feature -in DefectDojo will (for that reason) not (yet) try to sync statuses. A -comment will be pushed to JIRA if a finding is risk accepted or -unaccepted. Contributions are welcome to enhance the integration. - -## Status reconciliation - -Sometimes JIRA is down, or Defect Dojo is down, or there was bug in a webhook. In this case -JIRA can become out of sync with Defect Dojo. If this is the case for lots of issues, manual reconciliation -might not be feasible. For this scenario there is the management command 'jira_status_reconciliation'. - -{{< highlight bash >}} -usage: manage.py jira_status_reconciliation [-h] [--mode MODE] [--product PRODUCT] [--engagement ENGAGEMENT] [--dryrun] [--version] [-v {0,1,2,3}] - -Reconcile finding status with JIRA issue status, stdout will contain semicolon seperated CSV results. -Risk Accepted findings are skipped. Findings created before 1.14.0 are skipped. - -optional arguments: - -h, --help show this help message and exit - --mode MODE - reconcile: (default)reconcile any differences in status between Defect Dojo and JIRA, will look at the latest status change - timestamp in both systems to determine which one is the correct status - - push_status_to_jira: update JIRA status for all JIRA issues - connected to a Defect Dojo finding (will not push summary/description, only status) - - import_status_from_jira: update Defect Dojo - finding status from JIRA - --product PRODUCT Only process findings in this product (name) - --engagement ENGAGEMENT - Only process findings in this product (name) - --dryrun Only print actions to be performed, but make no modifications. - -v {0,1,2,3}, --verbosity {0,1,2,3} - Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output -{{< /highlight >}} - -This can be executed from the uwsgi docker container using: - -{{< highlight bash >}} -$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation' -{{< /highlight >}} - -DEBUG output can be obtains via `-v 3`, but only after increasing the logging to DEBUG level in your settings.dist.py or local_settings.py file - -{{< highlight bash >}} -$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation -v 3' -{{< /highlight >}} - -At the end of the command a semicolon seperated CSV summary will be printed. This can be captured by redirecting stdout to a file: - -{{< highlight bash >}} -$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation > jira_reconciliation.csv' -{{< /highlight >}} - - -## Troubleshooting JIRA integration - -JIRA actions are typically performed in the celery background process. -Errors are logged as alerts/notifications to be seen on the top right of -the DefectDojo UI and in stdout of the celery workers. diff --git a/docs/content/en/open_source/archived_docs/notifications.md b/docs/content/en/open_source/archived_docs/notifications.md deleted file mode 100644 index 0740115ce9c..00000000000 --- a/docs/content/en/open_source/archived_docs/notifications.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: "Notifications" -description: "DefectDojo can inform you about changes on different channels." -draft: false -weight: 6 -exclude_search: true ---- - -## Notifications - -![Notification settings](images/notifications_1.png) - -DefectDojo can inform you of different events in a variety of ways. You -can be notified about things like an upcoming engagement, when someone -mentions you in a comment, a scheduled report has finished generating, -and more. - -The following notification methods currently exist: - - Email - - Slack - - Microsoft Teams - - Webhooks - - Alerts within DefectDojo (default) - -You can set these notifications on a global scope (if you have -administrator rights) or on a personal scope. For instance, an -administrator might want notifications of all upcoming engagements sent -to a certain Slack channel, whereas an individual user wants email -notifications to be sent to the user\'s specified email address when a -report has finished generating. - -Users can define notifications on a product level as well, and these settings will be applied only for selected products. - -In order to identify and notify you about things like upcoming -engagements, DefectDojo runs scheduled tasks for this purpose. These -tasks are scheduled and run using Celery beat, so this needs to run for -those notifications to work. - -DefectDojo allows `template` to be used, administrator can use this feature to define which notification should be received by newly created users. - -### Slack - -#### Basic Integration -This method will allow DefectDojo to send Global notifications to a Slack channel. It can also send Personal notifications to an individual user's Slackbot. - -To configure Slack messaging, you will first need to create a new Slack app at https://api.slack.com/apps. - -This app can be created from scratch, or from a JSON manifest which includes all necessary scopes and bot functionality. This manifest can be copied and pasted into the Slack App wizard when you select 'Build From Manifest'. - -
- JSON Manifest - -~~~ -{ - "_metadata": { - "major_version": 1, - "minor_version": 1 - }, - "display_information": { - "name": "DefectDojo", - "description": "Notifications from DefectDojo", - "background_color": "#0000AA" - }, - "features": { - "bot_user": { - "display_name": "DefectDojo Notifications" - } - }, - "oauth_config": { - "scopes": { - "bot": [ - "chat:write", - "chat:write.customize", - "chat:write.public", - "incoming-webhook", - "users:read", - "users:read.email" - ] - }, - "redirect_urls": [ - "https://slack.com/oauth/v2/authorize" - ] - } -} -~~~ - -
- -Choose the channel where you want to post Global notifications during the 'Create From Manifest' process. Personal notifications will appear in a user's Slackbot if they have their Slack Email Address specified on their user profile. - -#### Scopes - -The following scopes have to be granted to your Slack App. If the App was created from the JSON Manifest above, these permission scopes will already be set correctly. - -![Slack OAuth scopes](images/slack_scopes.png) - -#### Token - -The Slack Bot Token needs to be pasted in the DefectDojo System Settings, nested underneath the 'Enable slack notifications' checkbox. This token can be found in the Features / OAuth & Permissions section on the Slack App settings. - -![Slack token](images/slack_tokens.png) - -#### Examples of Slack notifications - -![Add Product](images/slack_add_product.png) - -![Import Scan](images/slack_import_scan.png) - - -### Microsoft Teams - -Microsoft Teams does not provide an easy way to send messages to a personal -channel. Therefore, DefectDojo can only send system scope notifications -to Microsoft Teams. - -To activate notifications to Microsoft Teams, you have to: -- Configure an Incoming Webhook in a Teams channel and copy the URL of the webhook to the clipboard -- Activate `Enable Microsoft Teams notifications` in the System Settings -- Paste the URL of the Incoming Webhook into the field `Msteams url` - -## Specific overrides - -System notification settings (scope: system) describe the sending of notifications to superadmins. User notification settings (scope: personal) describe sending notifications to the specific user. - -However, there is a specific use-case when the user decides to disable notifications (to decrease noise) but the system setting is used to override this behavior. These overrides apply only to `user_mentioned` and `review_requested` by default. - -The scope of this setting is customizable (see environmental variable `DD_NOTIFICATIONS_SYSTEM_LEVEL_TRUMP`). - -For more information about this behavior see the [related pull request #9699](https://github.com/DefectDojo/django-DefectDojo/pull/9699/) - -## Webhooks (experimental) - -DefectDojo also supports webhooks that follow the same events as other notifications (you can be notified in the same situations). Details about setup are described in [related page](../../notification_webhooks/how_to). diff --git a/docs/content/en/share_your_findings/troubleshooting_jira.md b/docs/content/en/share_your_findings/troubleshooting_jira.md index cec412edc2d..5bdee959791 100644 --- a/docs/content/en/share_your_findings/troubleshooting_jira.md +++ b/docs/content/en/share_your_findings/troubleshooting_jira.md @@ -97,4 +97,50 @@ To correct this issue, you can add the 'Epic Name' field to your Project's issue 4. Type in 'Epic Name' 5. Add Epic Name as a field to this particular screen by following Jira's instructions. -![image](images/epic_name_error.png) \ No newline at end of file +![image](images/epic_name_error.png) + +## Jira and DefectDojo are out of sync + +Sometimes Jira is down, or DefectDojo is down, or there was bug in a webhook. In this case, Jira can become out of sync with DefectDojo. If this is the case for lots of issues, manual reconciliation might not be feasible. For this scenario there is the management command 'jira_status_reconciliation'. + +As this command requires access to the backend, it is not available to Cloud users of DefectDojo Pro; instead, please contact our Support team for assistance with this issue. + +{{< highlight bash >}} +usage: manage.py jira_status_reconciliation [-h] [--mode MODE] [--product PRODUCT] [--engagement ENGAGEMENT] [--dryrun] [--version] [-v {0,1,2,3}] + +Reconcile finding status with JIRA issue status, stdout will contain semicolon seperated CSV results. +Risk Accepted findings are skipped. Findings created before 1.14.0 are skipped. + +optional arguments: + -h, --help show this help message and exit + --mode MODE - reconcile: (default)reconcile any differences in status between Defect Dojo and JIRA, will look at the latest status change + timestamp in both systems to determine which one is the correct status + - push_status_to_jira: update JIRA status for all JIRA issues + connected to a Defect Dojo finding (will not push summary/description, only status) + - import_status_from_jira: update Defect Dojo + finding status from JIRA + --product PRODUCT Only process findings in this product (name) + --engagement ENGAGEMENT + Only process findings in this product (name) + --dryrun Only print actions to be performed, but make no modifications. + -v {0,1,2,3}, --verbosity {0,1,2,3} + Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output +{{< /highlight >}} + +This can be executed from the uwsgi docker container using: + +{{< highlight bash >}} +$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation' +{{< /highlight >}} + +DEBUG output can be obtains via `-v 3`, but only after increasing the logging to DEBUG level in your settings.dist.py or local_settings.py file + +{{< highlight bash >}} +$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation -v 3' +{{< /highlight >}} + +At the end of the command a semicolon seperated CSV summary will be printed. This can be captured by redirecting stdout to a file: + +{{< highlight bash >}} +$ docker compose exec uwsgi /bin/bash -c 'python manage.py jira_status_reconciliation > jira_reconciliation.csv' +{{< /highlight >}} From 868e5d83f1eaeb841a10b16133a9977bd63d2d3f Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Tue, 24 Jun 2025 04:44:17 +0200 Subject: [PATCH 04/14] checkmarx: close files used in unit tests (#12647) --- unittests/tools/test_checkmarx_cxflow_sast_parser.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/unittests/tools/test_checkmarx_cxflow_sast_parser.py b/unittests/tools/test_checkmarx_cxflow_sast_parser.py index 85867a86a56..a82d1cbdd08 100644 --- a/unittests/tools/test_checkmarx_cxflow_sast_parser.py +++ b/unittests/tools/test_checkmarx_cxflow_sast_parser.py @@ -22,6 +22,7 @@ def test_file_name_aggregated_parse_file_with_no_vulnerabilities_has_no_findings ) parser = CheckmarxCXFlowSastParser() findings = parser.get_findings(my_file_handle, test) + my_file_handle.close() self.assertEqual(0, len(findings)) def test_file_name_aggregated_parse_file_with_no_vulnerabilities_has_1_finding(self): @@ -52,6 +53,7 @@ def test_file_name_aggregated_parse_file_with_no_vulnerabilities_has_1_finding(s "Scripting (XSS)", finding.description) self.assertEqual(True, finding.active) self.assertEqual(False, finding.verified) + my_file_handle.close() def test_file_name_aggregated_parse_file_with_no_vulnerabilities_has_4_findings(self): my_file_handle, _, _, test = self.init( @@ -72,3 +74,4 @@ def test_file_name_aggregated_parse_file_with_no_vulnerabilities_has_4_findings( self.assertIsNotNone(finding.line) self.assertIsNotNone(finding.false_p) self.assertIsNotNone(finding.description) + my_file_handle.close() From a54745029fd7c67ad82c9aac792a973a24ba2f3f Mon Sep 17 00:00:00 2001 From: Sean Reid Date: Wed, 25 Jun 2025 14:56:23 -0400 Subject: [PATCH 05/14] add fields for kev-related data to finding model (#12678) * add fields for kev-related data to finding model: known_exploited, ransomeware_used, kev_date * linter fix * test updates * remove maxdiff setting --- .../0230_add_finding_kev_fields.py | 42 +++++++++++++++++++ dojo/models.py | 20 ++++++++- unittests/test_metrics_queries.py | 34 +++++++-------- 3 files changed, 78 insertions(+), 18 deletions(-) create mode 100644 dojo/db_migrations/0230_add_finding_kev_fields.py diff --git a/dojo/db_migrations/0230_add_finding_kev_fields.py b/dojo/db_migrations/0230_add_finding_kev_fields.py new file mode 100644 index 00000000000..f1f92900c69 --- /dev/null +++ b/dojo/db_migrations/0230_add_finding_kev_fields.py @@ -0,0 +1,42 @@ +# Generated by Django 5.1.8 on 2025-06-23 19:34 + +import django.core.validators +import dojo.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dojo', '0229_alter_finding_unique_id_from_tool'), + ] + + operations = [ + migrations.AddField( + model_name='finding', + name='kev_date', + field=models.DateField(blank=True, help_text='The date the vulnerability was added to the KEV catalog.', null=True, validators=[django.core.validators.MaxValueValidator(dojo.models.tomorrow)], verbose_name='KEV Date Added'), + ), + migrations.AddField( + model_name='finding', + name='known_exploited', + field=models.BooleanField(default=False, help_text='Whether this vulnerability is known to have been exploited in the wild.', verbose_name='Known Exploited'), + ), + migrations.AddField( + model_name='finding', + name='ransomware_used', + field=models.BooleanField(default=False, help_text='Whether this vulnerability is known to have been leveraged as part of a ransomware campaign.', verbose_name='Used in Ransomware'), + ), + migrations.AddIndex( + model_name='finding', + index=models.Index(fields=['known_exploited'], name='dojo_findin_known_e_8c584e_idx'), + ), + migrations.AddIndex( + model_name='finding', + index=models.Index(fields=['ransomware_used'], name='dojo_findin_ransomw_c185c6_idx'), + ), + migrations.AddIndex( + model_name='finding', + index=models.Index(fields=['kev_date'], name='dojo_findin_kev_dat_b54260_idx'), + ), + ] diff --git a/dojo/models.py b/dojo/models.py index 177d820867d..1e7b490b155 100644 --- a/dojo/models.py +++ b/dojo/models.py @@ -5,7 +5,7 @@ import re import warnings from contextlib import suppress -from datetime import datetime +from datetime import datetime, timedelta from decimal import Decimal from pathlib import Path from uuid import uuid4 @@ -137,6 +137,11 @@ def _copy_model_util(model_in_database, exclude_fields: list[str] | None = None) return new_model_instance +def tomorrow(): + """Returns a date representing the day after today.""" + return timezone.now().date() + timedelta(days=1) + + @deconstructible class UniqueUploadNameProvider: @@ -2331,6 +2336,16 @@ class Finding(models.Model): verbose_name=_("EPSS percentile"), help_text=_("EPSS percentile for the CVE. Describes how many CVEs are scored at or below this one."), validators=[MinValueValidator(0.0), MaxValueValidator(1.0)]) + known_exploited = models.BooleanField(default=False, + verbose_name=_("Known Exploited"), + help_text=_("Whether this vulnerability is known to have been exploited in the wild.")) + ransomware_used = models.BooleanField(default=False, + verbose_name=_("Used in Ransomware"), + help_text=_("Whether this vulnerability is known to have been leveraged as part of a ransomware campaign.")) + kev_date = models.DateField(null=True, blank=True, + verbose_name=_("KEV Date Added"), + help_text=_("The date the vulnerability was added to the KEV catalog."), + validators=[MaxValueValidator(tomorrow)]) cvssv3_regex = RegexValidator(regex=r"^AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]", message="CVSS must be entered in format: 'AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'") cvssv3 = models.TextField(validators=[cvssv3_regex], max_length=117, @@ -2660,6 +2675,9 @@ class Meta: models.Index(fields=["duplicate"]), models.Index(fields=["is_mitigated"]), models.Index(fields=["duplicate_finding", "id"]), + models.Index(fields=["known_exploited"]), + models.Index(fields=["ransomware_used"]), + models.Index(fields=["kev_date"]), ] def __init__(self, *args, **kwargs): diff --git a/unittests/test_metrics_queries.py b/unittests/test_metrics_queries.py index 68dd1f43fee..60bd760ac55 100644 --- a/unittests/test_metrics_queries.py +++ b/unittests/test_metrics_queries.py @@ -21,23 +21,23 @@ def add(*args, **kwargs): #### # Test Findings data #### -FINDING_1 = {"id": 4, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_2 = {"id": 5, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_3 = {"id": 6, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_4 = {"id": 7, "title": "DUMMY FINDING", "date": date(2017, 12, 31), "sla_start_date": None, "sla_expiration_date": None, "cwe": 1, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": "http://www.example.com", "severity": "High", "description": "TEST finding", "mitigation": "MITIGATION", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 2, "under_defect_review": False, "defect_review_requested_by_id": 2, "is_mitigated": False, "thread_id": 1, "mitigated": None, "mitigated_by_id": None, "reporter_id": 2, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "c89d25e445b088ba339908f68e15e3177b78d22f3039d1bfea51c4be251bf4e0", "line": 100, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_5 = {"id": 24, "title": "Low Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_6 = {"id": 125, "title": "Low Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 55, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "12345", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_7 = {"id": 225, "title": "UID Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 224, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_8 = {"id": 240, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": True, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_9 = {"id": 241, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_10 = {"id": 242, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_11 = {"id": 243, "title": "DUMMY FINDING", "date": date(2017, 12, 31), "sla_start_date": None, "sla_expiration_date": None, "cwe": 1, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": "http://www.example.com", "severity": "High", "description": "TEST finding", "mitigation": "MITIGATION", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 2, "under_defect_review": False, "defect_review_requested_by_id": 2, "is_mitigated": True, "thread_id": 1, "mitigated": None, "mitigated_by_id": None, "reporter_id": 2, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "c89d25e445b088ba339908f68e15e3177b78d22f3039d1bfea51c4be251bf4e0", "line": 100, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_12 = {"id": 244, "title": "Low Impact Test Finding", "date": date(2017, 12, 29), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": True, "verified": True, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_13 = {"id": 245, "title": "Low Impact Test Finding", "date": date(2017, 12, 27), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_14 = {"id": 246, "title": "Low Impact Test Finding", "date": date(2018, 1, 2), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_15 = {"id": 247, "title": "Low Impact Test Finding", "date": date(2018, 1, 3), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 55, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "12345", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_16 = {"id": 248, "title": "UID Impact Test Finding", "date": date(2017, 12, 27), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": True, "verified": True, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": True, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} -FINDING_17 = {"id": 249, "title": "UID Impact Test Finding", "date": date(2018, 1, 4), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 224, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False} +FINDING_1 = {"id": 4, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_2 = {"id": 5, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_3 = {"id": 6, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_4 = {"id": 7, "title": "DUMMY FINDING", "date": date(2017, 12, 31), "sla_start_date": None, "sla_expiration_date": None, "cwe": 1, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": "http://www.example.com", "severity": "High", "description": "TEST finding", "mitigation": "MITIGATION", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 2, "under_defect_review": False, "defect_review_requested_by_id": 2, "is_mitigated": False, "thread_id": 1, "mitigated": None, "mitigated_by_id": None, "reporter_id": 2, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "c89d25e445b088ba339908f68e15e3177b78d22f3039d1bfea51c4be251bf4e0", "line": 100, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_5 = {"id": 24, "title": "Low Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_6 = {"id": 125, "title": "Low Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 55, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "12345", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_7 = {"id": 225, "title": "UID Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 224, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_8 = {"id": 240, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": True, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_9 = {"id": 241, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_10 = {"id": 242, "title": "High Impact Test Finding", "date": date(2018, 1, 1), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "High", "description": "test finding", "mitigation": "test mitigation", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 2, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "5d368a051fdec959e08315a32ef633ba5711bed6e8e75319ddee2cab4d4608c7", "line": None, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_11 = {"id": 243, "title": "DUMMY FINDING", "date": date(2017, 12, 31), "sla_start_date": None, "sla_expiration_date": None, "cwe": 1, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": "http://www.example.com", "severity": "High", "description": "TEST finding", "mitigation": "MITIGATION", "impact": "High", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 3, "active": False, "verified": False, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": True, "under_review": False, "last_status_update": None, "review_requested_by_id": 2, "under_defect_review": False, "defect_review_requested_by_id": 2, "is_mitigated": True, "thread_id": 1, "mitigated": None, "mitigated_by_id": None, "reporter_id": 2, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "c89d25e445b088ba339908f68e15e3177b78d22f3039d1bfea51c4be251bf4e0", "line": 100, "file_path": "", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_12 = {"id": 244, "title": "Low Impact Test Finding", "date": date(2017, 12, 29), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": True, "verified": True, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_13 = {"id": 245, "title": "Low Impact Test Finding", "date": date(2017, 12, 27), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_14 = {"id": 246, "title": "Low Impact Test Finding", "date": date(2018, 1, 2), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 33, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 22, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": None, "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_15 = {"id": 247, "title": "Low Impact Test Finding", "date": date(2018, 1, 3), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 55, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "9aca00affd340c4da02c934e7e3106a45c6ad0911da479daae421b3b28a2c1aa", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "12345", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_16 = {"id": 248, "title": "UID Impact Test Finding", "date": date(2017, 12, 27), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": True, "verified": True, "false_p": False, "duplicate": False, "duplicate_finding_id": None, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": True, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} +FINDING_17 = {"id": 249, "title": "UID Impact Test Finding", "date": date(2018, 1, 4), "sla_start_date": None, "sla_expiration_date": None, "cwe": None, "cve": None, "epss_score": None, "epss_percentile": None, "cvssv3": None, "cvssv3_score": None, "url": None, "severity": "Low", "description": "test finding", "mitigation": "test mitigation", "impact": "Low", "steps_to_reproduce": None, "severity_justification": None, "references": "", "test_id": 77, "active": False, "verified": False, "false_p": False, "duplicate": True, "duplicate_finding_id": 224, "out_of_scope": False, "risk_accepted": False, "under_review": False, "last_status_update": None, "review_requested_by_id": 1, "under_defect_review": False, "defect_review_requested_by_id": 1, "is_mitigated": False, "thread_id": 11, "mitigated": None, "mitigated_by_id": None, "reporter_id": 1, "numerical_severity": "S0", "last_reviewed": None, "last_reviewed_by_id": None, "param": None, "payload": None, "hash_code": "6f8d0bf970c14175e597843f4679769a4775742549d90f902ff803de9244c7e1", "line": 123, "file_path": "/dev/urandom", "component_name": None, "component_version": None, "static_finding": False, "dynamic_finding": False, "created": datetime(2017, 12, 1, 0, 0, tzinfo=UTC), "scanner_confidence": None, "sonarqube_issue_id": None, "unique_id_from_tool": "6789", "vuln_id_from_tool": None, "sast_source_object": None, "sast_sink_object": None, "sast_source_line": None, "sast_source_file_path": None, "nb_occurences": None, "publish_date": None, "service": None, "planned_remediation_date": None, "planned_remediation_version": None, "effort_for_fixing": None, "test__engagement__product__prod_type__member": False, "test__engagement__product__member": True, "test__engagement__product__prod_type__authorized_group": False, "test__engagement__product__authorized_group": False, "known_exploited": False, "ransomware_used": False, "kev_date": None} ALL_FINDINGS = [FINDING_1, FINDING_2, FINDING_3, FINDING_4, FINDING_5, FINDING_6, FINDING_7, FINDING_8, FINDING_9, From 2d42ffda09560db28f29b645c278ac4953e78c4f Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Wed, 25 Jun 2025 20:56:38 +0200 Subject: [PATCH 06/14] login next param default (#12677) --- dojo/user/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dojo/user/views.py b/dojo/user/views.py index 97705de6981..998dd25a909 100644 --- a/dojo/user/views.py +++ b/dojo/user/views.py @@ -149,7 +149,7 @@ def login_view(request): return HttpResponseRedirect("/saml2/login") try: return HttpResponseRedirect("{}?{}".format(reverse("social:begin", args=[social_auth]), - urlencode({"next": request.GET.get("next")}))) + urlencode({"next": request.GET.get("next", "/dashboard")}))) except: return HttpResponseRedirect(reverse("social:begin", args=[social_auth])) else: From 2297812e4777b330b2b31484dd7d3519eb87a916 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Thu, 26 Jun 2025 18:28:28 +0200 Subject: [PATCH 07/14] metrics filters: improve handling when nothing matches the filters (#12687) * metrics filters: improve handling when nothign matches the filters * fix no endpoint data error * fix endpoints metrics test * fix test --- dojo/metrics/utils.py | 20 ++++++++++---------- dojo/product/views.py | 20 +++++++++----------- unittests/test_metrics_queries.py | 12 ++++++++---- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/dojo/metrics/utils.py b/dojo/metrics/utils.py index 9647f84c7f9..cf3e2813e13 100644 --- a/dojo/metrics/utils.py +++ b/dojo/metrics/utils.py @@ -1,4 +1,5 @@ +import logging import operator from collections.abc import Callable from datetime import date, datetime, timedelta @@ -32,6 +33,8 @@ queryset_check, ) +logger = logging.getLogger(__name__) + def get_metrics_finding_filter_class() -> type[MetricsFindingFilter | MetricsFindingFilterWithoutObjectLookups]: if get_system_setting("filter_string_matching", False): @@ -62,14 +65,12 @@ def finding_queries( findings_filter = finding_filter_class(request.GET, queryset=all_authorized_findings) form = findings_filter.form filtered_findings: QuerySet[Finding] = queryset_check(findings_filter) - # Quick check to determine if the filters were too tight and filtered everything away. If so, fall back to using all - # authorized Findings instead. - if not filtered_findings.exists() and all_authorized_findings.exists(): - filtered_findings = all_authorized_findings + + if not filtered_findings.exists(): messages.add_message( request, - messages.ERROR, - _("All objects have been filtered away. Displaying all objects"), + messages.WARNING, + _("No findings match the current filters."), extra_tags="alert-danger") start_date, end_date = get_date_range(filtered_findings) @@ -161,14 +162,13 @@ def endpoint_queries( endpoints_qs = queryset_check(endpoints) if not endpoints_qs.exists(): - endpoints = endpoints_query - endpoints_qs = endpoints if isinstance(endpoints, QuerySet) else endpoints.qs messages.add_message( request, - messages.ERROR, - _("All objects have been filtered away. Displaying all objects"), + messages.WARNING, + _("No endpoints match the current filters."), extra_tags="alert-danger") + endpoints = endpoints_qs start_date, end_date = get_date_range(endpoints_qs) if len(prod_type) > 0: diff --git a/dojo/product/views.py b/dojo/product/views.py index 736b7b5ec7e..2552d79dc48 100644 --- a/dojo/product/views.py +++ b/dojo/product/views.py @@ -364,7 +364,7 @@ def identify_view(request): return "Finding" -def finding_querys(request, prod): +def finding_queries(request, prod): filters = {} findings_query = Finding.objects.filter(test__engagement__product=prod) # prefetch only what's needed to avoid lots of repeated queries @@ -433,7 +433,7 @@ def finding_querys(request, prod): return filters -def endpoint_querys(request, prod): +def endpoint_queries(request, prod): filters = {} endpoints_query = Endpoint_Status.objects.filter(finding__test__engagement__product=prod, finding__severity__in=( @@ -449,13 +449,11 @@ def endpoint_querys(request, prod): filters["form"] = endpoints.form if not endpoints_qs and not endpoints_query: - endpoints = endpoints_query - endpoints_qs = queryset_check(endpoints) - messages.add_message(request, - messages.ERROR, - _("All objects have been filtered away. Displaying all objects"), - extra_tags="alert-danger") - + messages.add_message( + request, + messages.WARNING, + _("No Endpoints match the current filters."), + extra_tags="alert-danger") try: start_date = endpoints_qs.earliest("date").date start_date = datetime(start_date.year, @@ -538,9 +536,9 @@ def view_product_metrics(request, pid): filters = {} if view == "Finding": - filters = finding_querys(request, prod) + filters = finding_queries(request, prod) elif view == "Endpoint": - filters = endpoint_querys(request, prod) + filters = endpoint_queries(request, prod) start_date = timezone.make_aware(datetime.combine(filters["start_date"], datetime.min.time())) end_date = filters["end_date"] diff --git a/unittests/test_metrics_queries.py b/unittests/test_metrics_queries.py index 60bd760ac55..773a1f7d4cf 100644 --- a/unittests/test_metrics_queries.py +++ b/unittests/test_metrics_queries.py @@ -8,7 +8,7 @@ from django.urls import reverse from dojo.metrics import utils -from dojo.models import User +from dojo.models import Product_Type, User from .dojo_test_case import DojoTestCase @@ -184,10 +184,14 @@ def test_endpoint_queries_no_data(self): [], ) - def test_endpoint_queries(self): + @patch("dojo.filters.now") + def test_endpoint_queries(self, mock_now): + fake_now = pytz.UTC.localize(datetime(2020, 7, 1)) + mock_now.return_value = fake_now + # Queries over Finding and Endpoint_Status - with self.assertNumQueries(43): - product_types = [] + with self.assertNumQueries(44): + product_types = Product_Type.objects.all() endpoint_queries = utils.endpoint_queries( product_types, self.request, From f17ed8f577936d75604a1e31e9bee537d7707803 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Fri, 27 Jun 2025 18:34:01 +0200 Subject: [PATCH 08/14] trivy: map status field (#12686) * trivy: map status field * docs update * docs update * do not set false_p --- .../parsers/file/trivy.md | 19 +- dojo/tools/trivy/parser.py | 83 +++ unittests/scans/trivy/all_statuses.json | 603 ++++++++++++++++++ unittests/tools/test_trivy_parser.py | 70 ++ 4 files changed, 774 insertions(+), 1 deletion(-) create mode 100644 unittests/scans/trivy/all_statuses.json diff --git a/docs/content/en/connecting_your_tools/parsers/file/trivy.md b/docs/content/en/connecting_your_tools/parsers/file/trivy.md index 01823598b70..99ad24e4477 100644 --- a/docs/content/en/connecting_your_tools/parsers/file/trivy.md +++ b/docs/content/en/connecting_your_tools/parsers/file/trivy.md @@ -4,5 +4,22 @@ toc_hide: true --- JSON report of [trivy scanner](https://github.com/aquasecurity/trivy). +The [status](https://trivy.dev/latest/docs/configuration/filtering/) field in Trivy is mapped to the Defect Dojo status flags in the following way: + +| Trivy Status | Active | Verified | Mitigated | Remarks | +|----------------------|--------|----------|-----------|-----------------------------------------------------------------------------------------------------------------| +| unknown | True | False | False | use default value for active which is usually True | +| not_affected | False | True | True | false positive is the most appropriate status for not affected as out of scope might be interpreted as something else | +| affected | True | True | False | standard case | +| fixed | True | True | False | fixed in this context means that there is a fix available by patching/updating/upgrading the package but it's still active and verified | +| under_investigation | True | False | False | no status flag in Defect Dojo to capture this, but verified is False | +| will_not_fix | True | True | False | no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor; we can't set active to False as the user needs to risk accept this finding | +| fix_deferred | True | True | False | no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor; we can't set active to False as the user needs to (temporarily) risk accept this finding | +| end_of_life | True | True | False | no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor; we can't set active to False as the user needs to (temporarily) risk accept + +The status field contains the status as assigned by the OS/Package vendor such as Red Hat, Debian, etc. +It is recommended to assess the appropriate action in your Product's context. +If you want to exclude certain status from being imported into Defect Dojo, please [filter them in the export from Trivy](https://trivy.dev/latest/docs/configuration/filtering/) + ### Sample Scan Data -Sample Trivy scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trivy). \ No newline at end of file +Sample Trivy scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trivy) \ No newline at end of file diff --git a/dojo/tools/trivy/parser.py b/dojo/tools/trivy/parser.py index fbe87bd64cd..8b8deb130c1 100644 --- a/dojo/tools/trivy/parser.py +++ b/dojo/tools/trivy/parser.py @@ -66,6 +66,85 @@ def convert_cvss_score(self, raw_value): return "High" return "Critical" + def convert_trivy_status(self, trivy_status: str) -> dict: + """ + Determine status fields based on Trivy status + + From: https://trivy.dev/v0.54/docs/configuration/filtering/ + + Trivy has a Status field based on VEX vulnerability statuses. Please not these are statuses based on the vulnerability advisories by OS vendors such as Debian, RHEL, etc. + + - `unknown` + - `not_affected`: this package is not affected by this vulnerability on this platform + - `affected`: this package is affected by this vulnerability on this platform, but there is no patch released yet + - `fixed`: this vulnerability is fixed on this platform + - `under_investigation`: it is currently unknown whether or not this vulnerability affects this package on this platform, and it is under investigation + - `will_not_fix`: this package is affected by this vulnerability on this platform, but there is currently no intention to fix it (this would primarily be for flaws that are of Low or Moderate impact that pose no significant risk to customers) + - `fix_deferred`: this package is affected by this vulnerability on this platform, and may be fixed in the future + - `end_of_life`: this package has been identified to contain the impacted component, but analysis to determine whether it is affected or not by this vulnerability was not performed + + + Note that vulnerabilities with the `unknown`, `not_affected` or `under_investigation` status are not detected. + These are only defined for comprehensiveness, and you will not have the opportunity to specify these statuses. + + Some statuses are supported in limited distributions. + + | OS | Fixed | Affected | Under Investigation | Will Not Fix | Fix Deferred | End of Life | + |:----------:|:-----:|:--------:|:-------------------:|:------------:|:------------:|:-----------:| + | Debian | ✓ | ✓ | | | ✓ | ✓ | + | RHEL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | + | Other OSes | ✓ | ✓ | | | | | + """ + status_mapping = { + "unknown": { + # use default value for active which is usually True + "verified": False, + }, + "not_affected": { + # false positive is the most appropriate status for not affected as out of scope might be interpreted as something else + "active": False, + "verified": True, + "is_mitigated": True, + }, + "affected": { + # standard case + "active": True, + "verified": True, + }, + "fixed": { + # fixed in this context means that there is a fix available by patching/updating/upgrading the package + # but it's still active and verified + "active": True, + "verified": True, + }, + "under_investigation": { + # no status flag in Defect Dojo to capture this, but verified is False + "active": True, + "verified": False, + }, + "will_not_fix": { + # no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor + # we can't set active to False as the user needs to risk accept this finding + "active": True, + "verified": True, + }, + "fix_deferred": { + # no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor + # we can't set active to False as the user needs to (temporarily) risk accept this finding + "active": True, + "verified": True, + }, + "end_of_life": { + # no different from affected as Defect Dojo doesn't have a flag to capture will_not_fix by OS/Package Vendor + # we can't set active to False as the user needs to (temporarily) risk accept this finding + "active": True, + "verified": True, + }, + } + + # default is to fallback to default Defect Dojo behaviour which takes scan parameters into account + return status_mapping.get(trivy_status, {}) + def get_findings(self, scan_file, test): scan_data = scan_file.read() @@ -194,6 +273,8 @@ def get_result_items(self, test, results, service_name=None, artifact_name=""): package_version = vuln.get("InstalledVersion", "") references = "\n".join(vuln.get("References", [])) mitigation = vuln.get("FixedVersion", "") + impact = vuln.get("Status", "") + status_fields = self.convert_trivy_status(vuln.get("Status", "")) cwe = int(vuln["CweIDs"][0].split("-")[1]) if len(vuln.get("CweIDs", [])) > 0 else 0 vul_type = target_data.get("Type", "") title = f"{vuln_id} {package_name} {package_version}" @@ -212,6 +293,7 @@ def get_result_items(self, test, results, service_name=None, artifact_name=""): file_path=file_path, references=references, description=description, + impact=impact, mitigation=mitigation, component_name=package_name, component_version=package_version, @@ -220,6 +302,7 @@ def get_result_items(self, test, results, service_name=None, artifact_name=""): dynamic_finding=False, tags=[vul_type, target_class], service=service_name, + **status_fields, ) if vuln_id: diff --git a/unittests/scans/trivy/all_statuses.json b/unittests/scans/trivy/all_statuses.json new file mode 100644 index 00000000000..84fe54c5e19 --- /dev/null +++ b/unittests/scans/trivy/all_statuses.json @@ -0,0 +1,603 @@ +{ + "SchemaVersion": 2, + "CreatedAt": "2024-01-15T08:58:29.82753744Z", + "ArtifactName": "", + "ArtifactType": "container_image", + "Metadata": { + "OS": { + "Family": "debian", + "Name": "10.13" + }, + "ImageID": "sha256:22ae3921bdaac434bb4cb92dbbc209e46b1f3f70e9fa0b5fbbb43ce7d452c72d", + "DiffIDs": [ + "sha256:b2dba74777543b60e1a5be6da44e67659f51b8df1e96922205a5dde6b92dda3c", + "sha256:f1186e5061f20658954f6bfdfaead0abc5ed2371d70f707da05206e868a226ab", + "sha256:fe0fb3ab4a0f7be72784fcab5ef9c8fda65ea9b1067e8f7cdf293c12bcd25c13", + "sha256:c45660adde371317a1eafb102ee1d33b059328ec73a01b5c2461c4d04a40ecec", + "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b", + "sha256:cb81227abde588a006a8b7ceac6034a303813efadc2c711fabf7b224649d183f", + "sha256:f8a91dd5fc84e4e5a1f261cf306ba1de28894524326d86eec0d74e9c0d22baec", + "sha256:3c777d951de2c488f73618f92b2adee8bd5de6f77e36bab51d57583bc487b99b", + "sha256:0d5f5a015e5d65973cce1dbab5aa60ce0836dbf2b3c9eabcb6efc89db1db3221", + "sha256:baa0956fea600c916f370870566aca1edf9a5ffc7facf51cfb1286e774f6e0e2", + "sha256:2f08eba9a3eddbb1e9dc2b70a25a1a3860807dac0d42c1e40fd890bbafbfba29", + "sha256:bf7d7d997f27e713b44ac0e763a38c46f9698e71e2243b0ffa80405d62d8c5e0" + ], + "RepoTags": [ + "" + ], + "RepoDigests": [ + "" + ], + "ImageConfig": { + "architecture": "amd64", + "created": "2024-01-15T08:56:27.807609822Z", + "history": [ + { + "created": "2023-04-12T00:20:15Z", + "created_by": "/bin/sh -c #(nop) ADD file:40953ed6e6f96703b2e0c13288437c2aaf8b3df33dbc423686290cbe0e595a5e in / " + }, + { + "created": "2023-04-12T00:20:15Z", + "created_by": "/bin/sh -c #(nop) CMD [\"bash\"]", + "empty_layer": true + }, + { + "created": "2023-04-12T07:52:41Z", + "created_by": "/bin/sh -c set -eux; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tca-certificates \t\tcurl \t\tnetbase \t\twget \t; \trm -rf /var/lib/apt/lists/*" + }, + { + "created": "2023-04-12T07:52:47Z", + "created_by": "/bin/sh -c set -ex; \tif ! command -v gpg \u003e /dev/null; then \t\tapt-get update; \t\tapt-get install -y --no-install-recommends \t\t\tgnupg \t\t\tdirmngr \t\t; \t\trm -rf /var/lib/apt/lists/*; \tfi" + }, + { + "created": "2023-04-12T07:53:05Z", + "created_by": "/bin/sh -c apt-get update \u0026\u0026 apt-get install -y --no-install-recommends \t\tgit \t\tmercurial \t\topenssh-client \t\tsubversion \t\t\t\tprocps \t\u0026\u0026 rm -rf /var/lib/apt/lists/*" + }, + { + "created": "2023-04-12T07:54:04Z", + "created_by": "/bin/sh -c set -ex; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tautoconf \t\tautomake \t\tbzip2 \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\timagemagick \t\tlibbz2-dev \t\tlibc6-dev \t\tlibcurl4-openssl-dev \t\tlibdb-dev \t\tlibevent-dev \t\tlibffi-dev \t\tlibgdbm-dev \t\tlibglib2.0-dev \t\tlibgmp-dev \t\tlibjpeg-dev \t\tlibkrb5-dev \t\tliblzma-dev \t\tlibmagickcore-dev \t\tlibmagickwand-dev \t\tlibmaxminddb-dev \t\tlibncurses5-dev \t\tlibncursesw5-dev \t\tlibpng-dev \t\tlibpq-dev \t\tlibreadline-dev \t\tlibsqlite3-dev \t\tlibssl-dev \t\tlibtool \t\tlibwebp-dev \t\tlibxml2-dev \t\tlibxslt-dev \t\tlibyaml-dev \t\tmake \t\tpatch \t\tunzip \t\txz-utils \t\tzlib1g-dev \t\t\t\t$( \t\t\tif apt-cache show 'default-libmysqlclient-dev' 2\u003e/dev/null | grep -q '^Version:'; then \t\t\t\techo 'default-libmysqlclient-dev'; \t\t\telse \t\t\t\techo 'libmysqlclient-dev'; \t\t\tfi \t\t) \t; \trm -rf /var/lib/apt/lists/*" + }, + { + "created": "2023-04-12T09:05:40Z", + "created_by": "/bin/sh -c groupadd --gid 1000 node \u0026\u0026 useradd --uid 1000 --gid node --shell /bin/bash --create-home node" + }, + { + "created": "2023-04-12T09:11:56Z", + "created_by": "/bin/sh -c #(nop) ENV NODE_VERSION=14.21.3", + "empty_layer": true + }, + { + "created": "2023-04-12T09:12:09Z", + "created_by": "/bin/sh -c ARCH= \u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \u0026\u0026 case \"${dpkgArch##*-}\" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo \"unsupported architecture\"; exit 1 ;; esac \u0026\u0026 set -ex \u0026\u0026 for key in 4ED778F539E3634C779C87C6D7062848A1AB005C 141F07595B7B3FFE74309A937405533BE57C7D57 74F12602B6F1C4E913FAA37AD3A89613643B6201 61FC681DFB92A079F1685E77973F295594EC4689 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$key\" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \"$key\" ; done \u0026\u0026 curl -fsSLO --compressed \"https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz\" \u0026\u0026 curl -fsSLO --compressed \"https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc\" \u0026\u0026 gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \u0026\u0026 grep \" node-v$NODE_VERSION-linux-$ARCH.tar.xz\\$\" SHASUMS256.txt | sha256sum -c - \u0026\u0026 tar -xJf \"node-v$NODE_VERSION-linux-$ARCH.tar.xz\" -C /usr/local --strip-components=1 --no-same-owner \u0026\u0026 rm \"node-v$NODE_VERSION-linux-$ARCH.tar.xz\" SHASUMS256.txt.asc SHASUMS256.txt \u0026\u0026 ln -s /usr/local/bin/node /usr/local/bin/nodejs \u0026\u0026 node --version \u0026\u0026 npm --version" + }, + { + "created": "2023-04-12T09:12:09Z", + "created_by": "/bin/sh -c #(nop) ENV YARN_VERSION=1.22.19", + "empty_layer": true + }, + { + "created": "2023-04-12T09:12:12Z", + "created_by": "/bin/sh -c set -ex \u0026\u0026 for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$key\" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \"$key\" ; done \u0026\u0026 curl -fsSLO --compressed \"https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz\" \u0026\u0026 curl -fsSLO --compressed \"https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc\" \u0026\u0026 gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \u0026\u0026 mkdir -p /opt \u0026\u0026 tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \u0026\u0026 ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \u0026\u0026 ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \u0026\u0026 rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \u0026\u0026 yarn --version" + }, + { + "created": "2023-04-12T09:12:12Z", + "created_by": "/bin/sh -c #(nop) COPY file:4d192565a7220e135cab6c77fbc1c73211b69f3d9fb37e62857b2c6eb9363d51 in /usr/local/bin/ " + }, + { + "created": "2023-04-12T09:12:12Z", + "created_by": "/bin/sh -c #(nop) ENTRYPOINT [\"docker-entrypoint.sh\"]", + "empty_layer": true + }, + { + "created": "2023-04-12T09:12:12Z", + "created_by": "/bin/sh -c #(nop) CMD [\"node\"]", + "empty_layer": true + }, + { + "created": "2024-01-15T08:56:23Z", + "created_by": "WORKDIR /usr/src/app/", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2024-01-15T08:56:23Z", + "created_by": "COPY src/ /usr/src/app/ # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2024-01-15T08:56:27Z", + "created_by": "RUN /bin/sh -c npm install # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2024-01-15T08:56:27Z", + "created_by": "EXPOSE map[3000/tcp:{}]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2024-01-15T08:56:27Z", + "created_by": "CMD [\"node\" \"index.js\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + } + ], + "os": "linux", + "rootfs": { + "type": "layers", + "diff_ids": [ + "sha256:b2dba74777543b60e1a5be6da44e67659f51b8df1e96922205a5dde6b92dda3c", + "sha256:f1186e5061f20658954f6bfdfaead0abc5ed2371d70f707da05206e868a226ab", + "sha256:fe0fb3ab4a0f7be72784fcab5ef9c8fda65ea9b1067e8f7cdf293c12bcd25c13", + "sha256:c45660adde371317a1eafb102ee1d33b059328ec73a01b5c2461c4d04a40ecec", + "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b", + "sha256:cb81227abde588a006a8b7ceac6034a303813efadc2c711fabf7b224649d183f", + "sha256:f8a91dd5fc84e4e5a1f261cf306ba1de28894524326d86eec0d74e9c0d22baec", + "sha256:3c777d951de2c488f73618f92b2adee8bd5de6f77e36bab51d57583bc487b99b", + "sha256:0d5f5a015e5d65973cce1dbab5aa60ce0836dbf2b3c9eabcb6efc89db1db3221", + "sha256:baa0956fea600c916f370870566aca1edf9a5ffc7facf51cfb1286e774f6e0e2", + "sha256:2f08eba9a3eddbb1e9dc2b70a25a1a3860807dac0d42c1e40fd890bbafbfba29", + "sha256:bf7d7d997f27e713b44ac0e763a38c46f9698e71e2243b0ffa80405d62d8c5e0" + ] + }, + "config": { + "Cmd": [ + "node", + "index.js" + ], + "Entrypoint": [ + "docker-entrypoint.sh" + ], + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NODE_VERSION=14.21.3", + "YARN_VERSION=1.22.19" + ], + "WorkingDir": "/usr/src/app/", + "ArgsEscaped": true + } + } + }, + "Results": [ + { + "Target": "noppaknopsta/example-app:main-159 (debian 10.13)", + "Class": "os-pkgs", + "Type": "debian", + "Vulnerabilities": [ + { + "VulnerabilityID": "CVE-2011-3374", + "PkgID": "apt@1.8.2.3", + "PkgName": "apt", + "InstalledVersion": "1.8.2.3", + "Status": "unknown", + "Layer": { + "DiffID": "sha256:b2dba74777543b60e1a5be6da44e67659f51b8df1e96922205a5dde6b92dda3c" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2011-3374", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "It was found that apt-key in apt, all versions, do not correctly valid ...", + "Description": "It was found that apt-key in apt, all versions, do not correctly validate gpg keys with the master keyring, leading to a potential man-in-the-middle attack.", + "Severity": "LOW", + "CweIDs": [ + "CWE-347" + ], + "VendorSeverity": { + "debian": 1, + "nvd": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:N/AC:M/Au:N/C:N/I:P/A:N", + "V3Vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N", + "V2Score": 4.3, + "V3Score": 3.7 + } + }, + "References": [ + "https://access.redhat.com/security/cve/cve-2011-3374", + "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642480", + "https://people.canonical.com/~ubuntu-security/cve/2011/CVE-2011-3374.html", + "https://seclists.org/fulldisclosure/2011/Sep/221", + "https://security-tracker.debian.org/tracker/CVE-2011-3374", + "https://snyk.io/vuln/SNYK-LINUX-APT-116518", + "https://ubuntu.com/security/CVE-2011-3374" + ], + "PublishedDate": "2019-11-26T00:15:11.03Z", + "LastModifiedDate": "2021-02-09T16:08:18.683Z" + }, + { + "VulnerabilityID": "CVE-2019-18276", + "PkgID": "bash@5.0-4", + "PkgName": "bash", + "InstalledVersion": "5.0-4", + "Status": "not_affected", + "Layer": { + "DiffID": "sha256:b2dba74777543b60e1a5be6da44e67659f51b8df1e96922205a5dde6b92dda3c" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2019-18276", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "bash: when effective UID is not equal to its real UID the saved UID is not dropped", + "Description": "An issue was discovered in disable_priv_mode in shell.c in GNU Bash through 5.0 patch 11. By default, if Bash is run with its effective UID not equal to its real UID, it will drop privileges by setting its effective UID to its real UID. However, it does so incorrectly. On Linux and other systems that support \"saved UID\" functionality, the saved UID is not dropped. An attacker with command execution in the shell can use \"enable -f\" for runtime loading of a new builtin, which can be a shared object that calls setuid() and therefore regains privileges. However, binaries running with an effective UID of 0 are unaffected.", + "Severity": "LOW", + "CweIDs": [ + "CWE-273" + ], + "VendorSeverity": { + "cbl-mariner": 3, + "debian": 1, + "nvd": 3, + "oracle-oval": 1, + "photon": 3, + "redhat": 1, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:L/AC:L/Au:N/C:C/I:C/A:C", + "V3Vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", + "V2Score": 7.2, + "V3Score": 7.8 + }, + "redhat": { + "V3Vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", + "V3Score": 7.8 + } + }, + "References": [ + "http://packetstormsecurity.com/files/155498/Bash-5.0-Patch-11-Privilege-Escalation.html", + "https://access.redhat.com/security/cve/CVE-2019-18276", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18276", + "https://github.com/bminor/bash/commit/951bdaad7a18cc0dc1036bba86b18b90874d39ff", + "https://linux.oracle.com/cve/CVE-2019-18276.html", + "https://linux.oracle.com/errata/ELSA-2021-1679.html", + "https://lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772%40%3Cdev.mina.apache.org%3E", + "https://nvd.nist.gov/vuln/detail/CVE-2019-18276", + "https://security.gentoo.org/glsa/202105-34", + "https://security.netapp.com/advisory/ntap-20200430-0003/", + "https://ubuntu.com/security/notices/USN-5380-1", + "https://www.cve.org/CVERecord?id=CVE-2019-18276", + "https://www.oracle.com/security-alerts/cpuapr2022.html", + "https://www.youtube.com/watch?v=-wGtxJ8opa8" + ], + "PublishedDate": "2019-11-28T01:15:10.603Z", + "LastModifiedDate": "2023-11-07T03:06:25.3Z" + }, + { + "VulnerabilityID": "TEMP-0841856-B18BAF", + "PkgID": "bash@5.0-4", + "PkgName": "bash", + "InstalledVersion": "5.0-4", + "Status": "affected", + "Layer": { + "DiffID": "sha256:b2dba74777543b60e1a5be6da44e67659f51b8df1e96922205a5dde6b92dda3c" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://security-tracker.debian.org/tracker/TEMP-0841856-B18BAF", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "[Privilege escalation possible to other user than root]", + "Severity": "LOW", + "VendorSeverity": { + "debian": 1 + } + }, + { + "VulnerabilityID": "CVE-2018-1000876", + "PkgID": "binutils@2.31.1-16", + "PkgName": "binutils", + "InstalledVersion": "2.31.1-16", + "Status": "fixed", + "Layer": { + "DiffID": "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2018-1000876", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "integer overflow leads to heap-based buffer overflow in objdump", + "Description": "binutils version 2.32 and earlier contains a Integer Overflow vulnerability in objdump, bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc that can result in Integer overflow trigger heap overflow. Successful exploitation allows execution of arbitrary code.. This attack appear to be exploitable via Local. This vulnerability appears to have been fixed in after commit 3a551c7a1b80fca579461774860574eabfd7f18f.", + "Severity": "LOW", + "CweIDs": [ + "CWE-190", + "CWE-787" + ], + "VendorSeverity": { + "amazon": 2, + "debian": 1, + "nvd": 3, + "oracle-oval": 2, + "photon": 3, + "redhat": 2, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:L/AC:L/Au:N/C:P/I:P/A:P", + "V3Vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", + "V2Score": 4.6, + "V3Score": 7.8 + }, + "redhat": { + "V3Vector": "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", + "V3Score": 7.8 + } + }, + "References": [ + "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html", + "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html", + "http://www.securityfocus.com/bid/106304", + "https://access.redhat.com/errata/RHSA-2019:2075", + "https://access.redhat.com/security/cve/CVE-2018-1000876", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000876", + "https://linux.oracle.com/cve/CVE-2018-1000876.html", + "https://linux.oracle.com/errata/ELSA-2019-2075.html", + "https://nvd.nist.gov/vuln/detail/CVE-2018-1000876", + "https://sourceware.org/bugzilla/show_bug.cgi?id=23994", + "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git%3Bh=3a551c7a1b80fca579461774860574eabfd7f18f", + "https://ubuntu.com/security/notices/USN-4336-1", + "https://ubuntu.com/security/notices/USN-4336-2", + "https://usn.ubuntu.com/4336-1/", + "https://www.cve.org/CVERecord?id=CVE-2018-1000876" + ], + "PublishedDate": "2018-12-20T17:29:01.033Z", + "LastModifiedDate": "2023-11-07T02:51:14.47Z" + }, + { + "VulnerabilityID": "CVE-2018-12697", + "PkgID": "binutils@2.31.1-16", + "PkgName": "binutils", + "InstalledVersion": "2.31.1-16", + "Status": "under_investigation", + "Layer": { + "DiffID": "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2018-12697", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "binutils: NULL pointer dereference in work_stuff_copy_to_from in cplus-dem.c.", + "Description": "A NULL pointer dereference (aka SEGV on unknown address 0x000000000000) was discovered in work_stuff_copy_to_from in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. This can occur during execution of objdump.", + "Severity": "LOW", + "CweIDs": [ + "CWE-476" + ], + "VendorSeverity": { + "amazon": 2, + "debian": 1, + "nvd": 3, + "oracle-oval": 2, + "photon": 3, + "redhat": 1, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P", + "V3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + "V2Score": 5, + "V3Score": 7.5 + }, + "redhat": { + "V3Vector": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L", + "V3Score": 3.3 + } + }, + "References": [ + "http://www.securityfocus.com/bid/104538", + "https://access.redhat.com/errata/RHSA-2019:2075", + "https://access.redhat.com/security/cve/CVE-2018-12697", + "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12697", + "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454", + "https://linux.oracle.com/cve/CVE-2018-12697.html", + "https://linux.oracle.com/errata/ELSA-2019-2075.html", + "https://nvd.nist.gov/vuln/detail/CVE-2018-12697", + "https://security.gentoo.org/glsa/201908-01", + "https://sourceware.org/bugzilla/show_bug.cgi?id=23057", + "https://ubuntu.com/security/notices/USN-4326-1", + "https://ubuntu.com/security/notices/USN-4336-1", + "https://ubuntu.com/security/notices/USN-4336-2", + "https://usn.ubuntu.com/4326-1/", + "https://usn.ubuntu.com/4336-1/", + "https://www.cve.org/CVERecord?id=CVE-2018-12697" + ], + "PublishedDate": "2018-06-23T23:29:00.22Z", + "LastModifiedDate": "2019-08-03T13:15:17.257Z" + }, + { + "VulnerabilityID": "CVE-2018-12698", + "PkgID": "binutils@2.31.1-16", + "PkgName": "binutils", + "InstalledVersion": "2.31.1-16", + "Status": "will_not_fix", + "Layer": { + "DiffID": "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2018-12698", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "binutils: excessive memory consumption in demangle_template in cplus-dem.c", + "Description": "demangle_template in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM) during the \"Create an array for saving the template argument values\" XNEWVEC call. This can occur during execution of objdump.", + "Severity": "LOW", + "VendorSeverity": { + "debian": 1, + "nvd": 3, + "photon": 3, + "redhat": 1, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P", + "V3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + "V2Score": 5, + "V3Score": 7.5 + }, + "redhat": { + "V3Vector": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L", + "V3Score": 3.3 + } + }, + "References": [ + "http://www.securityfocus.com/bid/104539", + "https://access.redhat.com/security/cve/CVE-2018-12698", + "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12698", + "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454", + "https://nvd.nist.gov/vuln/detail/CVE-2018-12698", + "https://security.gentoo.org/glsa/201908-01", + "https://sourceware.org/bugzilla/show_bug.cgi?id=23057", + "https://ubuntu.com/security/notices/USN-4326-1", + "https://ubuntu.com/security/notices/USN-4336-1", + "https://ubuntu.com/security/notices/USN-4336-2", + "https://usn.ubuntu.com/4326-1/", + "https://usn.ubuntu.com/4336-1/", + "https://www.cve.org/CVERecord?id=CVE-2018-12698" + ], + "PublishedDate": "2018-06-23T23:29:00.283Z", + "LastModifiedDate": "2019-10-03T00:03:26.223Z" + }, + { + "VulnerabilityID": "CVE-2018-12699", + "PkgID": "binutils@2.31.1-16", + "PkgName": "binutils", + "InstalledVersion": "2.31.1-16", + "Status": "fix_deferred", + "Layer": { + "DiffID": "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2018-12699", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "binutils: heap-based buffer overflow in finish_stab in stabs.c", + "Description": "finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact, as demonstrated by an out-of-bounds write of 8 bytes. This can occur during execution of objdump.", + "Severity": "LOW", + "CweIDs": [ + "CWE-787" + ], + "VendorSeverity": { + "debian": 1, + "nvd": 4, + "photon": 4, + "redhat": 1, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P", + "V3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", + "V2Score": 7.5, + "V3Score": 9.8 + }, + "redhat": { + "V3Vector": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L", + "V3Score": 3.3 + } + }, + "References": [ + "http://www.securityfocus.com/bid/104540", + "https://access.redhat.com/security/cve/CVE-2018-12699", + "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12699", + "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454", + "https://nvd.nist.gov/vuln/detail/CVE-2018-12699", + "https://security.gentoo.org/glsa/201908-01", + "https://sourceware.org/bugzilla/show_bug.cgi?id=23057", + "https://ubuntu.com/security/notices/USN-4336-1", + "https://ubuntu.com/security/notices/USN-4336-2", + "https://usn.ubuntu.com/4336-1/", + "https://www.cve.org/CVERecord?id=CVE-2018-12699" + ], + "PublishedDate": "2018-06-23T23:29:00.33Z", + "LastModifiedDate": "2019-08-03T13:15:17.587Z" + }, + { + "VulnerabilityID": "CVE-2018-12934", + "PkgID": "binutils@2.31.1-16", + "PkgName": "binutils", + "InstalledVersion": "2.31.1-16", + "Status": "end_of_life", + "Layer": { + "DiffID": "sha256:e01a454893a9a11115c598e5dec158ded8bd41326046c993c81b76b6a963590b" + }, + "SeveritySource": "debian", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2018-12934", + "DataSource": { + "ID": "debian", + "Name": "Debian Security Tracker", + "URL": "https://salsa.debian.org/security-tracker-team/security-tracker" + }, + "Title": "binutils: Uncontrolled Resource Consumption in remember_Ktype in cplus-dem.c", + "Description": "remember_Ktype in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM). This can occur during execution of cxxfilt.", + "Severity": "LOW", + "CweIDs": [ + "CWE-770" + ], + "VendorSeverity": { + "debian": 1, + "nvd": 3, + "photon": 3, + "redhat": 1, + "ubuntu": 1 + }, + "CVSS": { + "nvd": { + "V2Vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P", + "V3Vector": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + "V2Score": 5, + "V3Score": 7.5 + }, + "redhat": { + "V3Vector": "CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", + "V3Score": 5.5 + } + }, + "References": [ + "https://access.redhat.com/security/cve/CVE-2018-12934", + "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763101", + "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12934", + "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85453", + "https://nvd.nist.gov/vuln/detail/CVE-2018-12934", + "https://sourceware.org/bugzilla/show_bug.cgi?id=23059", + "https://ubuntu.com/security/notices/USN-4326-1", + "https://ubuntu.com/security/notices/USN-4336-1", + "https://ubuntu.com/security/notices/USN-4336-2", + "https://usn.ubuntu.com/4326-1/", + "https://usn.ubuntu.com/4336-1/", + "https://www.cve.org/CVERecord?id=CVE-2018-12934" + ], + "PublishedDate": "2018-06-28T14:29:00.683Z", + "LastModifiedDate": "2020-04-21T22:15:13.15Z" + } + ] + } + ] + } + \ No newline at end of file diff --git a/unittests/tools/test_trivy_parser.py b/unittests/tools/test_trivy_parser.py index 2a1b60f2fb4..ef4cf8099f9 100644 --- a/unittests/tools/test_trivy_parser.py +++ b/unittests/tools/test_trivy_parser.py @@ -230,3 +230,73 @@ def test_issue_10991(self): parser = TrivyParser() findings = parser.get_findings(test_file, Test()) self.assertEqual(len(findings), 37) + + def test_all_statuses(self): + with sample_path("all_statuses.json").open(encoding="utf-8") as test_file: + parser = TrivyParser() + findings = parser.get_findings(test_file, Test()) + self.assertEqual(len(findings), 8) + + with self.subTest("unknown"): + finding = findings[0] + self.assertEqual(True, finding.active) + self.assertEqual(False, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("not_affected"): + finding = findings[1] + self.assertEqual(False, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(True, finding.is_mitigated) + + with self.subTest("affected"): + finding = findings[2] + self.assertEqual(True, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("fixed"): + finding = findings[3] + self.assertEqual(True, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("under_investigation"): + finding = findings[4] + self.assertEqual(True, finding.active) + self.assertEqual(False, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("will_not_fix"): + finding = findings[5] + self.assertEqual(True, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("fix_deferred"): + finding = findings[6] + self.assertEqual(True, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) + + with self.subTest("end_of_life"): + finding = findings[7] + self.assertEqual(True, finding.active) + self.assertEqual(True, finding.verified) + self.assertEqual(False, finding.false_p) + self.assertEqual(False, finding.out_of_scope) + self.assertEqual(False, finding.is_mitigated) From bc177ab52084c0d1c6d49c386065ca9b5487910e Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Fri, 27 Jun 2025 18:34:10 +0200 Subject: [PATCH 09/14] twistlock json: safely get fields (#12701) --- dojo/tools/twistlock/parser.py | 20 +++++++++---------- ...n => one_vuln_no_link_no_description.json} | 1 - unittests/tools/test_twistlock_parser.py | 4 ++-- 3 files changed, 12 insertions(+), 13 deletions(-) rename unittests/scans/twistlock/{one_vuln_no_link.json => one_vuln_no_link_no_description.json} (79%) diff --git a/dojo/tools/twistlock/parser.py b/dojo/tools/twistlock/parser.py index a0b99575911..334a12f3e16 100644 --- a/dojo/tools/twistlock/parser.py +++ b/dojo/tools/twistlock/parser.py @@ -149,23 +149,23 @@ def get_item(vulnerability, test): # create the finding object finding = Finding( - title=vulnerability["id"] + title=vulnerability.get("id", "Unknown Vulnerability") + ": " - + vulnerability["packageName"] + + vulnerability.get("packageName", "Unknown Package") + " - " - + vulnerability["packageVersion"], + + str(vulnerability.get("packageVersion", "")), test=test, severity=severity, - description=vulnerability["description"] + description=vulnerability.get("description", "") + "

Vulnerable Package: " - + vulnerability["packageName"] + + vulnerability.get("packageName", "") + "

Current Version: " - + str(vulnerability["packageVersion"]) + + str(vulnerability.get("packageVersion", "")) + "

", - mitigation=status.title(), + mitigation=status.title() if isinstance(status, str) else "", references=vulnerability.get("link"), - component_name=vulnerability["packageName"], - component_version=vulnerability["packageVersion"], + component_name=vulnerability.get("packageName", ""), + component_version=vulnerability.get("packageVersion", ""), false_p=False, duplicate=False, out_of_scope=False, @@ -173,7 +173,7 @@ def get_item(vulnerability, test): severity_justification=f"{vector} (CVSS v3 base score: {cvss})\n\n{riskFactors}", impact=severity, ) - finding.unsaved_vulnerability_ids = [vulnerability["id"]] + finding.unsaved_vulnerability_ids = [vulnerability["id"]] if "id" in vulnerability else None finding.description = finding.description.strip() return finding diff --git a/unittests/scans/twistlock/one_vuln_no_link.json b/unittests/scans/twistlock/one_vuln_no_link_no_description.json similarity index 79% rename from unittests/scans/twistlock/one_vuln_no_link.json rename to unittests/scans/twistlock/one_vuln_no_link_no_description.json index e57799eb7e3..872448aee97 100644 --- a/unittests/scans/twistlock/one_vuln_no_link.json +++ b/unittests/scans/twistlock/one_vuln_no_link_no_description.json @@ -21,7 +21,6 @@ { "id": "PRISMA-2021-0013", "status": "fixed in 1.1.1", - "description": "marked package prior to 1.1.1 are vulnerable to Regular Expression Denial of Service (ReDoS). The regex within src/rules.js file have multiple unused capture groups which could lead to a denial of service attack if user input is reachable. Origin: https://github.com/markedjs/marked/commit/bd4f8c464befad2b304d51e33e89e567326e62e0", "severity": "medium", "packageName": "marked", "packageVersion": "0.3.9", diff --git a/unittests/tools/test_twistlock_parser.py b/unittests/tools/test_twistlock_parser.py index 9d0b2788e2b..aa627a346df 100644 --- a/unittests/tools/test_twistlock_parser.py +++ b/unittests/tools/test_twistlock_parser.py @@ -20,8 +20,8 @@ def test_parse_file_with_one_vuln(self): self.assertEqual(1, len(findings[0].unsaved_vulnerability_ids)) self.assertEqual("CVE-2013-7459", findings[0].unsaved_vulnerability_ids[0]) - def test_parse_file_with_no_link(self): - testfile = (get_unit_tests_scans_path("twistlock") / "one_vuln_no_link.json").open(encoding="utf-8") + def test_parse_file_with_no_link_no_description(self): + testfile = (get_unit_tests_scans_path("twistlock") / "one_vuln_no_link_no_description.json").open(encoding="utf-8") parser = TwistlockParser() findings = parser.get_findings(testfile, Test()) testfile.close() From b76941036669d3df14e7ef366e8c092a98500d22 Mon Sep 17 00:00:00 2001 From: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> Date: Fri, 27 Jun 2025 10:34:19 -0600 Subject: [PATCH 10/14] Async Delete: Correct instances of multiple audit log entries for delete (#12650) * Async Delete: Correct instances of multiple audit log entries for delete * Update utils.py * Fixing ruff for good * Make notification signals a bit more resilient * Ruff again --- dojo/endpoint/signals.py | 9 ++++----- dojo/engagement/signals.py | 9 ++++----- dojo/finding_group/signals.py | 9 ++++----- dojo/product/signals.py | 9 ++++----- dojo/product_type/signals.py | 9 ++++----- dojo/test/signals.py | 9 ++++----- dojo/utils.py | 11 +++++++++++ 7 files changed, 35 insertions(+), 30 deletions(-) diff --git a/dojo/endpoint/signals.py b/dojo/endpoint/signals.py index f96510df786..6259ab45ab4 100644 --- a/dojo/endpoint/signals.py +++ b/dojo/endpoint/signals.py @@ -13,16 +13,15 @@ @receiver(post_delete, sender=Endpoint) def endpoint_post_delete(sender, instance, using, origin, **kwargs): if instance == origin: + description = _('The endpoint "%(name)s" was deleted') % {"name": str(instance)} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="endpoint"), object_id=instance.id, - ) - description = _('The endpoint "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The endpoint "%(name)s" was deleted by %(user)s') % { "name": str(instance), "user": le.actor} - else: - description = _('The endpoint "%(name)s" was deleted') % {"name": str(instance)} create_notification(event="endpoint_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": str(instance)}, description=description, diff --git a/dojo/engagement/signals.py b/dojo/engagement/signals.py index 538ff001123..01b8f1139f2 100644 --- a/dojo/engagement/signals.py +++ b/dojo/engagement/signals.py @@ -39,16 +39,15 @@ def engagement_pre_save(sender, instance, **kwargs): @receiver(post_delete, sender=Engagement) def engagement_post_delete(sender, instance, using, origin, **kwargs): if instance == origin: + description = _('The engagement "%(name)s" was deleted') % {"name": instance.name} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="engagement"), object_id=instance.id, - ) - description = _('The engagement "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The engagement "%(name)s" was deleted by %(user)s') % { "name": instance.name, "user": le.actor} - else: - description = _('The engagement "%(name)s" was deleted') % {"name": instance.name} create_notification(event="engagement_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": instance.name}, description=description, diff --git a/dojo/finding_group/signals.py b/dojo/finding_group/signals.py index 17ed6b1b9a9..1e2d771b557 100644 --- a/dojo/finding_group/signals.py +++ b/dojo/finding_group/signals.py @@ -13,16 +13,15 @@ @receiver(post_delete, sender=Finding_Group) def finding_group_post_delete(sender, instance, using, origin, **kwargs): if instance == origin: + description = _('The finding group "%(name)s" was deleted') % {"name": instance.name} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="finding_group"), object_id=instance.id, - ) - description = _('The finding group "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The finding group "%(name)s" was deleted by %(user)s') % { "name": instance.name, "user": le.actor} - else: - description = _('The finding group "%(name)s" was deleted') % {"name": instance.name} create_notification(event="finding_group_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": instance.name}, description=description, diff --git a/dojo/product/signals.py b/dojo/product/signals.py index 72e9771e82c..7aa0704ae4e 100644 --- a/dojo/product/signals.py +++ b/dojo/product/signals.py @@ -23,16 +23,15 @@ def product_post_save(sender, instance, created, **kwargs): @receiver(post_delete, sender=Product) def product_post_delete(sender, instance, **kwargs): + description = _('The product "%(name)s" was deleted') % {"name": instance.name} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="product"), object_id=instance.id, - ) - description = _('The product "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The product "%(name)s" was deleted by %(user)s') % { "name": instance.name, "user": le.actor} - else: - description = _('The product "%(name)s" was deleted') % {"name": instance.name} create_notification(event="product_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": instance.name}, description=description, diff --git a/dojo/product_type/signals.py b/dojo/product_type/signals.py index 743995768eb..2fd1a70d0ec 100644 --- a/dojo/product_type/signals.py +++ b/dojo/product_type/signals.py @@ -23,16 +23,15 @@ def product_type_post_save(sender, instance, created, **kwargs): @receiver(post_delete, sender=Product_Type) def product_type_post_delete(sender, instance, **kwargs): + description = _('The product type "%(name)s" was deleted') % {"name": instance.name} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="product_type"), object_id=instance.id, - ) - description = _('The product type "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The product type "%(name)s" was deleted by %(user)s') % { "name": instance.name, "user": le.actor} - else: - description = _('The product type "%(name)s" was deleted') % {"name": instance.name} create_notification(event="product_type_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": instance.name}, description=description, diff --git a/dojo/test/signals.py b/dojo/test/signals.py index f161f505baa..eec135fe710 100644 --- a/dojo/test/signals.py +++ b/dojo/test/signals.py @@ -16,16 +16,15 @@ @receiver(post_delete, sender=Test) def test_post_delete(sender, instance, using, origin, **kwargs): if instance == origin: + description = _('The test "%(name)s" was deleted') % {"name": str(instance)} if settings.ENABLE_AUDITLOG: - le = LogEntry.objects.get( + if le := LogEntry.objects.filter( action=LogEntry.Action.DELETE, content_type=ContentType.objects.get(app_label="dojo", model="test"), object_id=instance.id, - ) - description = _('The test "%(name)s" was deleted by %(user)s') % { + ).order_by("-id").first(): + description = _('The test "%(name)s" was deleted by %(user)s') % { "name": str(instance), "user": le.actor} - else: - description = _('The test "%(name)s" was deleted') % {"name": str(instance)} create_notification(event="test_deleted", # template does not exists, it will default to "other" but this event name needs to stay because of unit testing title=_("Deletion of %(name)s") % {"name": str(instance)}, description=description, diff --git a/dojo/utils.py b/dojo/utils.py index 81f282c2c09..d8344039a0b 100644 --- a/dojo/utils.py +++ b/dojo/utils.py @@ -18,6 +18,7 @@ import hyperlink import vobject from asteval import Interpreter +from auditlog.models import LogEntry from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from dateutil.parser import parse @@ -25,6 +26,7 @@ from django.conf import settings from django.contrib import messages from django.contrib.auth.signals import user_logged_in, user_logged_out, user_login_failed +from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from django.core.paginator import Paginator from django.db.models import Case, Count, IntegerField, Q, Sum, Value, When @@ -2333,6 +2335,15 @@ def delete_chunk(self, objects, **kwargs): logger.debug("ASYNC_DELETE: object has already been deleted elsewhere. Skipping") # The id must be None # The object has already been deleted elsewhere + except LogEntry.MultipleObjectsReturned: + # Delete the log entrys first, then delete + LogEntry.objects.filter( + content_type=ContentType.objects.get_for_model(obj.__class__), + object_pk=str(obj.pk), + action=LogEntry.Action.DELETE, + ).delete() + # Now delete the object again + obj.delete() @dojo_async_task @app.task From ac092c3ae6961276e2df723bfbcb1099dbaf52fa Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Sun, 29 Jun 2025 03:35:06 +0200 Subject: [PATCH 11/14] cobalt api: add note about v1 api keys only (#12646) * cobalt api: add note about v1 api keys only * Update docs/content/en/connecting_your_tools/parsers/api/cobalt.md Co-authored-by: Sean Reid --------- Co-authored-by: Sean Reid --- docs/content/en/connecting_your_tools/parsers/api/cobalt.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/content/en/connecting_your_tools/parsers/api/cobalt.md b/docs/content/en/connecting_your_tools/parsers/api/cobalt.md index 59615c5d1ea..b7a66788794 100644 --- a/docs/content/en/connecting_your_tools/parsers/api/cobalt.md +++ b/docs/content/en/connecting_your_tools/parsers/api/cobalt.md @@ -7,6 +7,7 @@ All parsers which using API have common basic configuration step but with differ In `Tool Configuration`, select `Tool Type` to "Cobalt.io" and `Authentication Type` "API Key". Paste your Cobalt.io API token in the `API Key` field and the desired org token in the `Extras` field. +Currently Defect Dojo only supports [V1 API Keys](https://github.com/DefectDojo/django-DefectDojo/issues/12572). In `Add API Scan Configuration` provide the ID of the asset from which to import findings in the field `Service key 1`. From b971172c820fb32e818ef40dd59e3ed885a90034 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Sun, 29 Jun 2025 20:01:47 +0200 Subject: [PATCH 12/14] Delete tests/local-integration-tests.sh/.bat (#12702) * Delete tests/local-integration-tests.sh * Delete tests/local-integration-tests.bat --- tests/local-integration-tests.bat | 76 --------------- tests/local-integration-tests.sh | 148 ------------------------------ 2 files changed, 224 deletions(-) delete mode 100644 tests/local-integration-tests.bat delete mode 100755 tests/local-integration-tests.sh diff --git a/tests/local-integration-tests.bat b/tests/local-integration-tests.bat deleted file mode 100644 index 17ce68eaafa..00000000000 --- a/tests/local-integration-tests.bat +++ /dev/null @@ -1,76 +0,0 @@ -set DD_ADMIN_USER=admin -set DD_ADMIN_PASSWORD=admin -set DD_BASE_URL=http://localhost:8080/ - -echo "Running Product type integration tests" -python tests/product_type_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Product integration tests" -python tests/product_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Endpoint integration tests" -python tests/endpoint_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Engagement integration tests" -python tests/engagement_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Environment integration tests" -python tests/environment_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Finding integration tests" -python tests/finding_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Test integration tests" -python tests/test_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running User integration tests" -python tests/user_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Ibm Appscan integration test" -python tests/ibm_appscan_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Search integration test" -python tests/search_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Dedupe integration tests" -python tests/dedupe_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Report Builder integration tests" -python tests/report_builder_test.py -if %ERRORLEVEL% NEQ 0 GOTO END - -echo "Running Check Various Pages integration test" -python tests/check_various_pages.py -if %ERRORLEVEL% NEQ 0 GOTO END - -REM REM The below tests are commented out because they are still an unstable work in progress -REM REM Once Ready they can be uncommented. - -REM REM echo "Running Import Scanner integration test" -rem rem python tests/import_scanner_test.py -REM REM echo "Success: Import Scanner integration tests passed" -REM REM else -REM REM echo "Error: Import Scanner integration test failed"; exit 1 -REM REM fi - -REM REM echo "Running Zap integration test" -REM REM python tests/zap.py -REM REM echo "Success: zap integration tests passed" -REM REM else -REM REM echo "Error: Zap integration test failed"; exit 1 -REM REM fi - -REM echo "Done Running all configured integration tests." - -:END diff --git a/tests/local-integration-tests.sh b/tests/local-integration-tests.sh deleted file mode 100755 index db814125321..00000000000 --- a/tests/local-integration-tests.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash - -export DD_BASE_URL='http://localhost:8080/' - - -# All available Unittest Scripts are activated below -# If successful, A success message is printed and the script continues -# If any script is unsuccessful a failure message is printed and the test script -# Exits with status code of 1 - -echo "Running Product type integration tests" -if python3 tests/regulations_test.py ; then - echo "Success: Regulation integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Regulation integration test failed."; exit 1 -fi - -echo "Running Product type integration tests" -if python3 tests/product_type_test.py ; then - echo "Success: Product type integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Product type integration test failed."; exit 1 -fi - -echo "Running Product integration tests" -if python3 tests/product_test.py ; then - echo "Success: Product integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Product integration test failed"; exit 1 -fi - -echo "Running Dedupe integration tests" -if python3 tests/dedupe_test.py ; then - echo "Success: Dedupe integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Dedupe integration test failed"; exit 1 -fi - -echo "Running Endpoint integration tests" -if python3 tests/endpoint_test.py ; then - echo "Success: Endpoint integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Endpoint integration test failed"; exit 1 -fi - -echo "Running Engagement integration tests" -if python3 tests/engagement_test.py ; then - echo "Success: Engagement integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Engagement integration test failed"; exit 1 -fi - -echo "Running Environment integration tests" -if python3 tests/environment_test.py ; then - echo "Success: Environment integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Environment integration test failed"; exit 1 -fi - -echo "Running Finding integration tests" -if python3 tests/finding_test.py ; then - echo "Success: Finding integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Finding integration test failed"; exit 1 -fi - -echo "Running Test integration tests" -if python3 tests/test_test.py ; then - echo "Success: Test integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Test integration test failed"; exit 1 -fi - -echo "Running User integration tests" -if python3 tests/user_test.py ; then - echo "Success: User integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: User integration test failed"; exit 1 -fi - -echo "Running Ibm Appscan integration test" -if python3 tests/ibm_appscan_test.py ; then - echo "Success: Ibm AppScan integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Ibm AppScan integration test failed"; exit 1 -fi - -echo "Running Report Builder integration tests" -if python3 tests/report_builder_test.py ; then - echo "Success: Report Builder integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Report Builder integration test failed."; exit 1 -fi - -echo "Running Search integration test" -if python3 tests/search_test.py ; then - echo "Success: Search integration tests passed" -else - docker compose logs uwsgi --tail=120 - echo "Error: Search integration test failed"; exit 1 -fi - -test="Check Various Pages integration test" -echo "Running: $test" -if python3 tests/check_various_pages.py ; then - success "$test" -else - fail "$test" -fi - -test="Test notifications" -echo "Running: $test" -if python3 tests/notifications_test.py ; then - success "$test" -else - fail "$test" -fi - -# The below tests are commented out because they are still an unstable work in progress -## Once Ready they can be uncommented. - -# echo "Running Import Scanner integration test" -# if python3 tests/import_scanner_test.py ; then -# echo "Success: Import Scanner integration tests passed" -# else -# echo "Error: Import Scanner integration test failed"; exit 1 -# fi - -# echo "Running Zap integration test" -# if python3 tests/zap.py ; then -# echo "Success: zap integration tests passed" -# else -# echo "Error: Zap integration test failed"; exit 1 -# fi - -exec echo "Done Running all configured integration tests." From 848d398b5f71c63785267be520cbe37f5a40fd5c Mon Sep 17 00:00:00 2001 From: manuelsommer <47991713+manuel-sommer@users.noreply.github.com> Date: Mon, 30 Jun 2025 04:07:48 +0200 Subject: [PATCH 13/14] :tada: Add Lenovo vulnid (#12696) --- dojo/settings/settings.dist.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dojo/settings/settings.dist.py b/dojo/settings/settings.dist.py index ffae1640246..76cf43063d7 100644 --- a/dojo/settings/settings.dist.py +++ b/dojo/settings/settings.dist.py @@ -1838,6 +1838,7 @@ def saml2_attrib_map_format(din): "JSDSERVER-": "https://jira.atlassian.com/browse/", # e.g. https://jira.atlassian.com/browse/JSDSERVER-14872 "KB": "https://support.hcl-software.com/csm?id=kb_article&sysparm_article=", # e.g. https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0108401 "KHV": "https://avd.aquasec.com/misconfig/kubernetes/", # e.g. https://avd.aquasec.com/misconfig/kubernetes/khv045 + "LEN-": "https://support.lenovo.com/cl/de/product_security/", # e.g. https://support.lenovo.com/cl/de/product_security/LEN-94953 "MGAA-": "https://advisories.mageia.org/&&.html", # e.g. https://advisories.mageia.org/MGAA-2013-0054.html "MGASA-": "https://advisories.mageia.org/&&.html", # e.g. https://advisories.mageia.org/MGASA-2025-0023.html "NTAP-": "https://security.netapp.com/advisory/", # e.g. https://security.netapp.com/advisory/ntap-20250328-0007 From 875aed99f2a7314d7a8615388d8938bc0f126979 Mon Sep 17 00:00:00 2001 From: DefectDojo release bot Date: Mon, 30 Jun 2025 14:50:02 +0000 Subject: [PATCH 14/14] Update versions in application files --- components/package.json | 2 +- dojo/__init__.py | 2 +- helm/defectdojo/Chart.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/package.json b/components/package.json index e138a5fa63c..9c78c4b845c 100644 --- a/components/package.json +++ b/components/package.json @@ -1,6 +1,6 @@ { "name": "defectdojo", - "version": "2.48.0-dev", + "version": "2.47.4", "license" : "BSD-3-Clause", "private": true, "dependencies": { diff --git a/dojo/__init__.py b/dojo/__init__.py index 3a53fb4802b..17de6567d7a 100644 --- a/dojo/__init__.py +++ b/dojo/__init__.py @@ -4,6 +4,6 @@ # Django starts so that shared_task will use this app. from .celery import app as celery_app # noqa: F401 -__version__ = "2.47.3" +__version__ = "2.47.4" __url__ = "https://github.com/DefectDojo/django-DefectDojo" __docs__ = "https://documentation.defectdojo.com" diff --git a/helm/defectdojo/Chart.yaml b/helm/defectdojo/Chart.yaml index 6c4698f6572..09e6c7e9359 100644 --- a/helm/defectdojo/Chart.yaml +++ b/helm/defectdojo/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 -appVersion: "2.48.0-dev" +appVersion: "2.47.4" description: A Helm chart for Kubernetes to install DefectDojo name: defectdojo -version: 1.6.194-dev +version: 1.6.194 icon: https://www.defectdojo.org/img/favicon.ico maintainers: - name: madchap

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