Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dojo/settings/settings.dist.py
Original file line number Diff line number Diff line change
Expand Up @@ -1177,7 +1177,7 @@ def generate_url(scheme, double_slashes, user, password, host, port, path, param
"Dependency Track Finding Packaging Format (FPF) Export": ["component_name", "component_version", "vulnerability_ids"],
"Horusec Scan": ["title", "description", "file_path", "line"],
"Mobsfscan Scan": ["title", "severity", "cwe", "file_path", "description"],
"Tenable Scan": ["title", "severity", "vulnerability_ids", "cwe", "description"],
"Tenable Scan": ["title", "severity", "vulnerability_ids", "cwe"],
"Nexpose Scan": ["title", "severity", "vulnerability_ids", "cwe"],
# possible improvement: in the scanner put the library name into file_path, then dedup on cwe + file_path + severity
"NPM Audit Scan": ["title", "severity", "file_path", "vulnerability_ids", "cwe"],
Expand Down
15 changes: 15 additions & 0 deletions unittests/test_dedupe_config_checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,18 @@ def test_burp_suite_dast_scan_is_registered_under_its_parser_name(self):
"'Burp Suite DAST Scan'",
)
self.assertEqual(fields["Burp Suite DAST Scan"], fields["Burp Enterprise Scan"])

def test_tenable_scan_hashcode_excludes_dynamic_description(self):
"""
Tenable's ``description`` field carries scan-run data -- timestamps, affected
hosts -- that differs between two scans of the very same vulnerability. Hashing
on it means the hash_code changes on every reimport, so the finding never
deduplicates against its own earlier occurrence. See issue #11994.
"""
fields = settings.HASHCODE_FIELDS_PER_SCANNER["Tenable Scan"]
self.assertNotIn(
"description", fields,
"Tenable Scan hash_code must not include 'description': the field holds "
"dynamic per-scan data, not a stable property of the vulnerability, and "
"including it defeats deduplication across reimports",
)
Loading