Skip to content

Commit e952d18

Browse files
authored
Merge pull request #10919 from DefectDojo/release/2.38.2
Release: Merge release into master from: release/2.38.2
2 parents b9862b4 + 041a132 commit e952d18

31 files changed

Lines changed: 5815 additions & 194 deletions

components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "defectdojo",
3-
"version": "2.38.1",
3+
"version": "2.38.2",
44
"license" : "BSD-3-Clause",
55
"private": true,
66
"dependencies": {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: "Invicti"
3+
toc_hide: true
4+
---
5+
Vulnerabilities List - JSON report
6+
7+
### Sample Scan Data
8+
9+
Sample Invicti scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/invicti).

docs/content/en/integrations/parsers/file/netsparker.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@ toc_hide: true
44
---
55
Vulnerabilities List - JSON report
66

7+
[Netsparker has now become Invicti](https://www.invicti.com/blog/news/netsparker-is-now-invicti-signaling-a-new-era-for-modern-appsec/). Please plan to migrate automation scripts to use the [Invicti Scan](../invicti.md)
8+
79
### Sample Scan Data
10+
811
Sample Netsparker scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/netsparker).

dojo/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
# Django starts so that shared_task will use this app.
55
from .celery import app as celery_app # noqa: F401
66

7-
__version__ = "2.38.1"
7+
__version__ = "2.38.2"
88
__url__ = "https://github.com/DefectDojo/django-DefectDojo"
99
__docs__ = "https://documentation.defectdojo.com"

dojo/api_v2/exception_handler.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from django.core.exceptions import ValidationError
44
from django.db.models.deletion import RestrictedError
5+
from rest_framework.exceptions import ParseError
56
from rest_framework.response import Response
67
from rest_framework.status import (
78
HTTP_400_BAD_REQUEST,
@@ -20,7 +21,11 @@ def custom_exception_handler(exc, context):
2021
# to get the standard error response.
2122
response = exception_handler(exc, context)
2223

23-
if isinstance(exc, RestrictedError):
24+
if isinstance(exc, ParseError) and "JSON parse error" in str(exc):
25+
response = Response()
26+
response.status_code = HTTP_400_BAD_REQUEST
27+
response.data = {"message": "JSON request content is malformed"}
28+
elif isinstance(exc, RestrictedError):
2429
# An object cannot be deleted because it has dependent objects.
2530
response = Response()
2631
response.status_code = HTTP_409_CONFLICT

dojo/metrics/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ def aggregate_counts_by_period(
500500
)
501501
desired_values += ("closed",)
502502

503-
return severities_by_period.values(*desired_values)
503+
return severities_by_period.order_by("grouped_date").values(*desired_values)
504504

505505

506506
def findings_by_product(
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5adedc433a342d675492b86dc18786f72e167115f9718a397dc9b91c5fdc9c94
1+
702d74c8bc703d11c03cf5b3f7c4319ad0cdeaef68db6426d1112c59e59365a6

dojo/settings/settings.dist.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1279,6 +1279,7 @@ def saml2_attrib_map_format(dict):
12791279
"AppCheck Web Application Scanner": ["title", "severity"],
12801280
"Legitify Scan": ["title", "endpoints", "severity"],
12811281
"ThreatComposer Scan": ["title", "description"],
1282+
"Invicti Scan": ["title", "description", "severity"],
12821283
}
12831284

12841285
# Override the hardcoded settings here via the env var
@@ -1495,14 +1496,15 @@ def saml2_attrib_map_format(dict):
14951496
"OSV Scan": DEDUPE_ALGO_HASH_CODE,
14961497
"Nosey Parker Scan": DEDUPE_ALGO_UNIQUE_ID_FROM_TOOL_OR_HASH_CODE,
14971498
"Bearer CLI": DEDUPE_ALGO_HASH_CODE,
1498-
"Wiz Scan": DEDUPE_ALGO_HASH_CODE,
1499+
"Wiz Scan": DEDUPE_ALGO_UNIQUE_ID_FROM_TOOL_OR_HASH_CODE,
14991500
"Deepfence Threatmapper Report": DEDUPE_ALGO_HASH_CODE,
15001501
"Kubescape JSON Importer": DEDUPE_ALGO_HASH_CODE,
15011502
"Kiuwan SCA Scan": DEDUPE_ALGO_HASH_CODE,
15021503
"Rapplex Scan": DEDUPE_ALGO_HASH_CODE,
15031504
"AppCheck Web Application Scanner": DEDUPE_ALGO_HASH_CODE,
15041505
"Legitify Scan": DEDUPE_ALGO_HASH_CODE,
15051506
"ThreatComposer Scan": DEDUPE_ALGO_UNIQUE_ID_FROM_TOOL_OR_HASH_CODE,
1507+
"Invicti Scan": DEDUPE_ALGO_HASH_CODE,
15061508
}
15071509

15081510
# Override the hardcoded settings here via the env var

dojo/templates/dojo/product.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,18 +122,20 @@ <h3 class="has-filters">
122122
<i class="fa-solid fa-pen-to-square"></i> Edit Custom Fields
123123
</a>
124124
</li>
125-
<li role="separator" class="divider"></li>
126-
<li role="presentation">
127-
<a class="" href="{% url 'add_api_scan_configuration' prod.id %}">
128-
<i class="fa-solid fa-rectangle-list"></i> Add Scan API Configuration
129-
</a>
130-
</li>
125+
{% endif %}
126+
<li role="separator" class="divider"></li>
127+
{% if prod|has_object_permission:"Product_API_Scan_Configuration_Edit" %}
131128
<li role="presentation">
132-
<a title="View API Scan configurations" href="{% url 'view_api_scan_configurations' prod.id %}">
133-
<i class="fa-solid fa-clock-rotate-left"></i> View Scan API Configurations
134-
</a>
129+
<a class="" href="{% url 'add_api_scan_configuration' prod.id %}">
130+
<i class="fa-solid fa-rectangle-list"></i> Add Scan API Configuration
131+
</a>
135132
</li>
136133
{% endif %}
134+
<li role="presentation">
135+
<a title="View API Scan configurations" href="{% url 'view_api_scan_configurations' prod.id %}">
136+
<i class="fa-solid fa-clock-rotate-left"></i> View Scan API Configurations
137+
</a>
138+
</li>
137139
{% if system_settings.enable_product_tracking_files %}
138140
<li role="separator" class="divider"></li>
139141
{% if prod|has_object_permission:"Product_Tracking_Files_Add" %}

dojo/templates/dojo/view_product_details.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,21 @@ <h3 class="pull-left">{% trans "Description" %}</h3>
4141
<i class="fa-solid fa-pen-to-square"></i>{% trans "Edit Custom Fields" %}
4242
</a>
4343
</li>
44-
<li role="separator" class="divider"></li>
45-
<li role="presentation">
46-
<a class="" href="{% url 'add_api_scan_configuration' prod.id %}">
47-
<i class="fa-solid fa-plus"></i>{% trans "Add API Scan Configuration" %}
48-
</a>
49-
</li>
44+
{% endif %}
45+
<li role="separator" class="divider"></li>
46+
{% if prod|has_object_permission:"Product_API_Scan_Configuration_Add" %}
5047
<li role="presentation">
51-
<a title="View API Scan Configurations"
52-
href="{% url 'view_api_scan_configurations' prod.id %}">
53-
<i class="fa-solid fa-rectangle-list"></i>{% trans "View API Scan Configurations" %}
54-
</a>
48+
<a class="" href="{% url 'add_api_scan_configuration' prod.id %}">
49+
<i class="fa-solid fa-plus"></i>{% trans "Add API Scan Configuration" %}
50+
</a>
5551
</li>
5652
{% endif %}
53+
<li role="presentation">
54+
<a title="View API Scan Configurations"
55+
href="{% url 'view_api_scan_configurations' prod.id %}">
56+
<i class="fa-solid fa-rectangle-list"></i>{% trans "View API Scan Configurations" %}
57+
</a>
58+
</li>
5759
{% if system_settings.enable_product_tracking_files %}
5860
<li role="separator" class="divider"></li>
5961
{% if prod|has_object_permission:"Product_Tracking_Files_Add" %}

0 commit comments

Comments
 (0)