Open-Source Unified Vulnerability Management, DevSecOps & ASPM
This report presents the forensic synthetic code analysis of DefectDojo/django-DefectDojo, a HTML project with 4,831 GitHub stars. SynthScan v2.0 examined 1,438,894 lines of code across 3990 source files, recording 7072 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 10.9 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 7072 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | dojo/models.py | 12 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/validators.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/forms.py | 12 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/system_settings/models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/nikto/xml_parser.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_bugcrowd/importer.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_bugcrowd/parser.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_vulners/importer.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_sonarqube/importer.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_edgescan/importer.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/openscap/parser.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/ptart/ptart_parser_tools.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_cobalt/importer.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/api_blackduck/importer.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/test/ui/views.py | 13 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/importers/base_importer.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/importers/location_manager.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/importers/endpoint_manager.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/finding/models.py | 1092 | return self.test.engagement.product.github_pkey_set.all()[0].git_conf | CODE |
| CRITICAL | dojo/finding/ui/forms.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/finding/api/serializer.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/finding/api/views.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/file_uploads/models.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/location/utils.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …jo/management/commands/jira_refactor_data_migration.py | 37 | # jira_project = jira_issue.finding.test.engagement.product.jira_project_set.all()[0] | COMMENT |
| CRITICAL | dojo/user/validators.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/user/api/serializer.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/url/models.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/url/validators.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/engagement/api/views.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/risk_acceptance/ui/forms.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/jira/models.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/jira/forms.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/endpoint/models.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/endpoint/utils.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/endpoint/api/serializer.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/api_v2/serializers.py | 11 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/api_v2/exception_handler.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/api_v2/views.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/base_models/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/notifications/api/serializer.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …ns/0246_endpoint_idx_ep_product_lower_host_and_more.py | 16 | index=models.Index(models.F('product'), django.db.models.functions.text.Lower('host'), name='idx_ep_product_ | CODE |
| CRITICAL | dojo/db_migrations/0064_jira_refactor_populate.py | 43 | jira_projects = jira_issue.finding.test.engagement.product.jira_project_set.all() | CODE |
| CRITICAL | unittests/test_endpoint_model.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_authorization_queryset_coverage.py | 136 | self.product.prod_type.__class__.objects.count(), | CODE |
| CRITICAL | unittests/test_validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_importers_importer.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_location_models.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/tools/test_api_edgescan_importer.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/tools/test_api_cobalt_importer.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/tools/test_api_bugcrowd_importer.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/tools/test_api_sonarqube_importer.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …tests/scans/xanitizer/multiple-findings-no-details.xml | 138 | - In method org.owasp.webgoat.plugin.HttpOnly.createCustomCookieValue() | CODE |
| CRITICAL | unittests/scans/xanitizer/multiple-findings.xml | 324 | - In method org.owasp.webgoat.plugin.HttpOnly.createCustomCookieValue() | CODE |
| CRITICAL | unittests/scans/xygeni/sast_many_findings.json | 13236 | "description" : "io.xygeni.sast.scanner.parser.ParseException: \nEncountered an error at (or somewhere around) /home | CODE |
| CRITICAL | unittests/scans/snyk/all-projects_many_vulns.json | 12 | "description": "## Overview\n[com.google.guava:guava](https://github.com/google/guava) is a set of core librarie | CODE |
| CRITICAL | unittests/scans/snyk/all-projects_many_vulns.json | 121 | "description": "## Overview\n[com.google.guava:guava](https://github.com/google/guava) is a set of core librar | CODE |
| CRITICAL | unittests/scans/snyk/all-projects_many_vulns.json | 231 | "description": "## Overview\n[com.google.guava:guava](https://github.com/google/guava) is a set of core librarie | CODE |
| CRITICAL | unittests/scans/snyk/all-projects_many_vulns.json | 471 | "description": "## Overview\n[com.google.guava:guava](https://github.com/google/guava) is a set of core librarie | CODE |
| CRITICAL | …/dependency_track/many_findings_with_cvssV3_score.json | 464 | "description": "### Summary\nSnakeYaml's `Constructor` class, which inherits from `SafeConstructor`, allows | CODE |
| 906 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/notifications_test.py | 36 | def test_disable_personal_notification(self): | CODE |
| LOW | tests/notifications_test.py | 52 | def test_enable_personal_notification(self): | CODE |
| LOW | tests/notifications_test.py | 65 | def test_disable_system_notification(self): | CODE |
| LOW | tests/notifications_test.py | 81 | def test_enable_system_notification(self): | CODE |
| LOW | tests/notifications_test.py | 95 | def test_disable_template_notification(self): | CODE |
| LOW | tests/notifications_test.py | 111 | def test_enable_template_notification(self): | CODE |
| LOW | tests/notifications_test.py | 124 | def test_user_mail_notifications_change(self): | CODE |
| LOW⚡ | tests/engagement_test.py | 12 | def test_list_active_engagements_found(self): | CODE |
| LOW⚡ | tests/engagement_test.py | 17 | def test_list_active_engagements_empty(self): | CODE |
| LOW⚡ | tests/engagement_test.py | 22 | def test_list_all_engagements_by_product(self): | CODE |
| LOW | tests/engagement_test.py | 41 | def test_edit_created_new_engagement(self): | CODE |
| LOW | tests/engagement_test.py | 56 | def test_close_new_engagement(self): | CODE |
| LOW | tests/engagement_test.py | 67 | def test_delete_new_closed_engagement(self): | CODE |
| LOW | tests/engagement_test.py | 82 | def test_new_ci_cd_engagement(self): | CODE |
| LOW | tests/engagement_presets_test.py | 11 | def _navigate_to_engagement_presets(self, driver): | CODE |
| LOW | tests/engagement_presets_test.py | 23 | def test_list_engagement_presets(self): | CODE |
| LOW | tests/engagement_presets_test.py | 29 | def test_add_engagement_preset(self): | CODE |
| LOW | tests/engagement_presets_test.py | 43 | def test_edit_engagement_preset(self): | CODE |
| LOW | tests/engagement_presets_test.py | 58 | def test_delete_engagement_preset(self): | CODE |
| LOW | tests/finding_extended_test.py | 115 | def test_ad_hoc_finding_create(self): | STRING |
| LOW | tests/reimport_scan_test.py | 32 | def test_import_scan_page_loads(self): | CODE |
| LOW | tests/reimport_scan_test.py | 48 | def test_import_scan_from_engagement(self): | CODE |
| LOW | tests/user_test.py | 46 | def test_create_user_with_writer_global_role(self): | CODE |
| LOW⚡ | tests/user_test.py | 84 | def enable_user_profile_writing(self): | CODE |
| LOW⚡ | tests/user_test.py | 94 | def disable_user_profile_writing(self): | CODE |
| LOW⚡ | tests/user_test.py | 104 | def test_user_edit_permissions(self): | CODE |
| LOW | tests/user_test.py | 159 | def test_user_with_writer_role_delete(self): | CODE |
| LOW | tests/user_test.py | 196 | def test_user_profile_form_disabled(self): | CODE |
| LOW | tests/user_test.py | 202 | def test_user_profile_form_enabled(self): | CODE |
| LOW | tests/user_test.py | 219 | def test_user_edit_configuration(self): | CODE |
| LOW | tests/threat_model_test.py | 14 | def test_create_engagement_for_threatmodel(self): | CODE |
| LOW | tests/threat_model_test.py | 29 | def test_view_threatmodel_upload_page(self): | CODE |
| LOW | tests/user_profile_test.py | 12 | def test_view_profile_page_loads(self): | CODE |
| LOW | tests/user_profile_test.py | 40 | def test_change_password_page_loads(self): | CODE |
| LOW | tests/report_builder_test.py | 121 | def test_product_endpoint_report(self): | CODE |
| LOW | tests/report_builder_test.py | 165 | def add_report_tests_to_suite(suite): | CODE |
| LOW | tests/false_positive_history_test.py | 69 | def edit_toggle_false_positive(self, finding_url): | CODE |
| LOW | tests/false_positive_history_test.py | 101 | def test_retroactive_edit_finding(self): | CODE |
| LOW | tests/false_positive_history_test.py | 131 | def test_retroactive_bulk_edit_finding(self): | CODE |
| LOW | tests/ibm_appscan_test.py | 16 | def test_import_ibm_app_scan_result(self): | CODE |
| LOW | tests/announcement_banner_test.py | 56 | def test_create_dismissable_announcement(self): | CODE |
| LOW | tests/announcement_banner_test.py | 77 | def test_dismissing_announcement_does_not_dismiss_for_others(self): | CODE |
| LOW | tests/announcement_banner_test.py | 103 | def test_announcement_ui_disabled_when_set(self): | CODE |
| LOW | tests/announcement_banner_test.py | 121 | def test_announcement_empty_after_removal(self): | CODE |
| LOW | tests/calendar_test.py | 14 | def test_create_engagement_for_calendar(self): | CODE |
| LOW | tests/calendar_test.py | 29 | def test_engagement_calendar_loads(self): | CODE |
| LOW | tests/calendar_test.py | 41 | def test_calendar_default_loads(self): | CODE |
| LOW | tests/calendar_test.py | 47 | def test_calendar_filter_apply(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 100 | def test_add_same_engagement_engagement(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 122 | def test_import_same_engagement_tests(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 183 | def test_check_endpoint_status(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 192 | def test_add_same_product_engagement(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 230 | def test_import_same_product_tests(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 54 | def test_enable_deduplication(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 161 | def test_close_same_engagement_tests(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 268 | def test_close_same_product_tests(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 290 | def test_check_same_product_status(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 294 | def add_close_old_tests_to_suite(suite, *, jira=False, github=False, block_execution=False): | CODE |
| LOW | tests/action_history_test.py | 13 | def test_product_action_history(self): | CODE |
| LOW | tests/action_history_test.py | 37 | def test_components_page_loads(self): | CODE |
| 3583 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 19 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 23 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 95 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 98 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 114 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 120 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 186 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 189 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 221 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 227 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 21 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 23 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 176 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 179 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 308 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 314 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 376 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 379 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 101 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 104 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 447 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 449 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 18 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 21 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 55 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 57 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 72 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 78 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 140 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 143 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 175 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 181 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/admin.py | 39 | # ============================== | COMMENT |
| MEDIUM | dojo/admin.py | 41 | # ============================== | COMMENT |
| MEDIUM | dojo/utils.py | 973 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils.py | 992 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils_ssrf.py | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils_ssrf.py | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 712 | # --------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 727 | # -------------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 761 | # -------------------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 778 | # -------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 783 | # ---------------------------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 793 | # ------------- | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 651 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 653 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 662 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 664 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 856 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 858 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 863 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 865 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1715 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1717 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1726 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1728 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1731 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1733 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1736 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 1738 | # ------------------------------------------------------------------------------ | COMMENT |
| 322 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/base_test_class.py | 412 | CODE | |
| LOW | tests/questionnaire_advanced_test.py | 144 | CODE | |
| LOW | dojo/tasks.py | 174 | CODE | |
| LOW | dojo/forms.py | 549 | CODE | |
| LOW | dojo/utils.py | 131 | CODE | |
| LOW | dojo/utils.py | 230 | CODE | |
| LOW | dojo/utils.py | 307 | CODE | |
| LOW | dojo/utils.py | 416 | CODE | |
| LOW | dojo/utils.py | 506 | CODE | |
| LOW | dojo/utils.py | 1062 | CODE | |
| LOW | dojo/utils.py | 1130 | CODE | |
| LOW | dojo/utils.py | 1246 | CODE | |
| LOW | dojo/utils.py | 1637 | CODE | |
| LOW | dojo/utils.py | 1816 | CODE | |
| LOW | dojo/utils.py | 2016 | CODE | |
| LOW | dojo/utils.py | 2217 | CODE | |
| LOW | dojo/filters.py | 319 | CODE | |
| LOW | dojo/views.py | 42 | CODE | |
| LOW | dojo/utils_cascade_delete.py | 64 | CODE | |
| LOW | dojo/decorators.py | 145 | CODE | |
| LOW | dojo/decorators.py | 146 | CODE | |
| LOW | dojo/decorators.py | 148 | CODE | |
| LOW | dojo/benchmark/ui/views.py | 40 | CODE | |
| LOW | dojo/benchmark/ui/views.py | 88 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 165 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 274 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 378 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 859 | CODE | |
| LOW | dojo/metrics/views.py | 164 | CODE | |
| LOW | dojo/system_settings/ui/views.py | 51 | CODE | |
| LOW | dojo/tools/utils.py | 78 | CODE | |
| LOW | dojo/tools/testssl/parser.py | 21 | CODE | |
| LOW | dojo/tools/qualys/csv_parser.py | 179 | CODE | |
| LOW | dojo/tools/qualys/parser.py | 203 | CODE | |
| LOW | dojo/tools/retirejs/parser.py | 24 | CODE | |
| LOW | dojo/tools/retirejs/parser.py | 71 | CODE | |
| LOW | dojo/tools/appspider/parser.py | 95 | CODE | |
| LOW | dojo/tools/ggshield/parser.py | 22 | CODE | |
| LOW | dojo/tools/anchore_engine/parser.py | 100 | CODE | |
| LOW | dojo/tools/burp_api/parser.py | 33 | CODE | |
| LOW | dojo/tools/burp_api/parser.py | 108 | CODE | |
| LOW | dojo/tools/php_security_audit_v2/parser.py | 17 | CODE | |
| LOW | dojo/tools/bundler_audit/parser.py | 22 | CODE | |
| LOW | dojo/tools/immuniweb/parser.py | 117 | CODE | |
| LOW | dojo/tools/pip_audit/parser.py | 57 | CODE | |
| LOW | dojo/tools/talisman/parser.py | 23 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 442 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 497 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 529 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 570 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 147 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 305 | CODE | |
| LOW | dojo/tools/semgrep_pro/parser.py | 18 | CODE | |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 95 | CODE | |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 178 | CODE | |
| LOW | dojo/tools/burp_dastardly/parser.py | 27 | CODE | |
| LOW | dojo/tools/anchorectl_vulns/parser.py | 16 | CODE | |
| LOW | dojo/tools/snyk_issue_api/parser.py | 77 | CODE | |
| LOW | dojo/tools/checkmarx/parser.py | 99 | CODE | |
| LOW | dojo/tools/checkmarx/parser.py | 435 | CODE | |
| 339 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dojo/tools/checkmarx_osa/parser.py | 129 | # 1->2 = Certain (0 is like null) | COMMENT |
| HIGH | dojo/test/ui/views.py | 701 | jira_services.push(new_finding) | CODE |
| HIGH | dojo/importers/default_importer.py | 338 | jira_services.push(findings[0].finding_group) | CODE |
| HIGH | dojo/importers/default_importer.py | 340 | jira_services.push(findings[0]) | CODE |
| HIGH | dojo/importers/default_importer.py | 448 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 595 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 1085 | jira_services.push(object_to_push) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 1096 | jira_services.push(finding_group) | CODE |
| HIGH⚡ | dojo/finding/helper.py | 454 | jira_services.push(finding) | CODE |
| HIGH⚡ | dojo/finding/helper.py | 456 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/helper.py | 246 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/finding/helper.py | 274 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/helper.py | 352 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/helper.py | 541 | jira_services.push(object_to_push) | CODE |
| HIGH | dojo/finding/helper.py | 1258 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1050 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1331 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1381 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding/ui/views.py | 1588 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1682 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 2826 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/ui/views.py | 2877 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding/ui/views.py | 3274 | if jira_services.push(finding): | CODE |
| HIGH | dojo/finding/api/serializer.py | 456 | success, message = jira_services.push(instance, force_sync=True) | CODE |
| HIGH | dojo/finding/api/serializer.py | 622 | jira_services.push(new_finding) | CODE |
| HIGH⚡ | dojo/risk_acceptance/helper.py | 371 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 39 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 81 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 125 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 153 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 338 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding_group/views.py | 100 | jira_services.push(finding_group, force_sync=True) | CODE |
| HIGH | dojo/finding_group/views.py | 197 | if jira_services.push(group, force_sync=True): | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 168 | "customfield_10182":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 170 | "customfield_12043":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 171 | "customfield_10340":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 172 | "customfield_10341":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 173 | "customfield_12045":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 174 | "customfield_10100":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 181 | "customfield_10740":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 187 | "timeestimate":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 188 | "aggregatetimeoriginalestimate":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 223 | "timeoriginalestimate":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 224 | "customfield_10052":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 226 | "customfield_10010":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 231 | "aggregatetimeestimate":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 271 | "customfield_10641":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 272 | "environment":null, | CODE |
| HIGH⚡ | unittests/test_jira_webhook.py | 273 | "duedate":null, | CODE |
| HIGH | unittests/test_jira_webhook.py | 156 | "resolutiondate":null, | CODE |
| HIGH⚡ | unittests/test_filter_finding_mitigation.py | 102 | # Returns only findings with non-null, non-empty mitigation | COMMENT |
| HIGH | unittests/tools/test_zap_parser.py | 418 | {"data":[{"item1":"[FEATURE_FLAG_1]","item2":true},{"item1":"[FEATURE_FLAG_2]","item2":true},{"i | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 63 | "Connection conn = null;\n" | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 76 | "Connection conn = null;\n" | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 113 | "Connection conn = null;\n" | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 126 | "Connection conn = null;\n" | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 324 | "Connection conn = null;\n" | CODE |
| HIGH | unittests/tools/test_sonarqube_parser.py | 337 | "Connection conn = null;\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/install_chrome_dependencies.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/zap.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/product_type_test.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/engagement_extended_test.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/product_member_test.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/product_type_member_test.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/notes_test.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/base_test_class.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/finding_test.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/dedupe_test.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/close_old_findings_test.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/labels.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/models.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/validators.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/product_announcements.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/apps.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/forms.py | 72 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/utils.py | 89 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/celery.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/urls.py | 90 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/utils_watson_prefetch.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/filters.py | 60 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/middleware.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/views.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/utils_cascade_delete.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/wsgi.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/decorators.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/benchmark/signals.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/benchmark/ui/views.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/templatetags/display_tags.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/metrics/utils.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/metrics/views.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/settings/settings.dist.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tool_type/ui/views.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tool_type/api/views.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/system_settings/ui/views.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/note_type/ui/views.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/factory.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/utils.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/tool_issue_updater.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/nikto/xml_parser.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/twistlock/parser.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/qualys/parser.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/burp_api/parser.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/immuniweb/parser.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/neuvector/parser.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/sarif/parser.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/burp_dastardly/parser.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/checkmarx/parser.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/fortify/fpr_parser.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | dojo/tools/mend/parser.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/outpost24/parser.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/govulncheck/parser.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/api_bugcrowd/importer.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/api_bugcrowd/parser.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/wapiti/parser.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/api_vulners/importer.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/api_vulners/parser.py | 12 | logger = logging.getLogger(__name__) | CODE |
| 252 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/tool_product_test.py | 48 | # Create a custom tool type | COMMENT |
| MEDIUM | tests/tool_product_test.py | 81 | # Create a new tool configuration using a non-API tool type | COMMENT |
| MEDIUM | dojo/utils.py | 894 | # Create the folder | COMMENT |
| MEDIUM | dojo/decorators.py | 54 | # Create a shared instance | COMMENT |
| MEDIUM | dojo/benchmark/ui/views.py | 206 | # Create the benchmark summary category | COMMENT |
| MEDIUM | dojo/templatetags/get_banner.py | 19 | # Create a copy of ALLOWED_ATTRIBUTES to avoid mutating the global | COMMENT |
| MEDIUM | dojo/templatetags/display_tags.py | 101 | # Create a copy of ALLOWED_ATTRIBUTES to avoid mutating the global | COMMENT |
| MEDIUM | dojo/settings/settings.dist.py | 1575 | # Create a unique finding for all findings in qualys WAS parser | COMMENT |
| MEDIUM | dojo/tools/cred_scan/parser.py | 38 | # Create the description | COMMENT |
| MEDIUM | dojo/tools/wiz/parser.py | 100 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/wiz/parser.py | 170 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/tenable/xml_format.py | 308 | # Create a new url object | COMMENT |
| MEDIUM | dojo/tools/tenable/xml_format.py | 322 | # Create a new endpoint object | COMMENT |
| MEDIUM | dojo/tools/tenable/csv_format.py | 200 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/checkmarx_one/parser.py | 87 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/checkmarx_one/parser.py | 180 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/osv_scanner/parser.py | 134 | # Define the description | COMMENT |
| MEDIUM | dojo/tools/orca_security/csv_parser.py | 78 | # Create the Finding object with all mapped fields | COMMENT |
| MEDIUM | dojo/tools/orca_security/json_parser.py | 83 | # Create the Finding object with all mapped fields | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 195 | # Create the Location object from the url | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 204 | # Create the Location object from all the pieces | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 215 | # Create the Endpoint object from the url | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 224 | # Create the Endpoint object from all of the pieces | COMMENT |
| MEDIUM | dojo/tools/sonarqube/soprasteria_helper.py | 50 | # Create the finding and add it into the dupes list | COMMENT |
| MEDIUM | dojo/tools/sonarqube/soprasteria_helper.py | 103 | # Create the finding and add it into the dupes list | COMMENT |
| MEDIUM | dojo/tools/openreports/parser.py | 108 | # Create a ParserTest for each source | STRING |
| MEDIUM | dojo/tools/asff/parser.py | 65 | # Define the control_description | COMMENT |
| MEDIUM⚡ | dojo/tools/trivy/parser.py | 484 | # Create the header row | STRING |
| MEDIUM⚡ | dojo/tools/trivy/parser.py | 487 | # Create the table string | STRING |
| MEDIUM | dojo/test/ui/views.py | 586 | # Create a notification | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 285 | # Create a new test if it has not already been created | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 472 | # Create a dictionary to stuff into the test import object | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 490 | # Create the test import object | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 501 | # Create a history record for each finding | COMMENT |
| MEDIUM | dojo/importers/default_importer.py | 131 | # Create a test import history object to record the flags sent to the importer | COMMENT |
| MEDIUM | dojo/importers/default_importer.py | 467 | # Create a new test if it has not already been created | COMMENT |
| MEDIUM | dojo/importers/auto_create_context.py | 262 | # Create the product | COMMENT |
| MEDIUM | dojo/importers/auto_create_context.py | 309 | # Create the engagement | COMMENT |
| MEDIUM | dojo/importers/default_reimporter.py | 135 | # Create a test import history object to record the flags sent to the importer | COMMENT |
| MEDIUM | dojo/api_helpers/serializers.py | 66 | # Initialize the serializer class | COMMENT |
| MEDIUM | dojo/finding/ui/views.py | 611 | # Create the note object | COMMENT |
| MEDIUM | dojo/finding/api/serializer.py | 624 | # Create a notification | COMMENT |
| MEDIUM | dojo/location/models.py | 409 | # Create the list of hashes of the supplied locations; we will also use this to reconstruct the initial ordering | COMMENT |
| MEDIUM | dojo/location/models.py | 426 | # Create the list of new locations to create | COMMENT |
| MEDIUM | dojo/management/commands/pghistory_backfill_simple.py | 37 | # Define the models to process | COMMENT |
| MEDIUM | dojo/management/commands/import_surveys.py | 33 | # Create the new id line | COMMENT |
| MEDIUM | …/management/commands/migrate_endpoints_to_locations.py | 128 | # Create the raw URL object first | COMMENT |
| MEDIUM | dojo/product/ui/views.py | 1525 | # Create the necessary nested objects | COMMENT |
| MEDIUM | dojo/product/ui/views.py | 1537 | # Create the necessary nested objects | COMMENT |
| MEDIUM | dojo/url/models.py | 383 | # Create the initial object, assuming no exceptions are thrown | COMMENT |
| MEDIUM | dojo/url/ui/views.py | 198 | # Create the product tab for the view | COMMENT |
| MEDIUM | dojo/url/ui/views.py | 285 | # Create the product tab for the view | COMMENT |
| MEDIUM | dojo/engagement/ui/views.py | 955 | # Create the engagement if necessary | COMMENT |
| MEDIUM | dojo/jira/helper.py | 1001 | # Create a new issue in Jira with the fields set in the last step | COMMENT |
| MEDIUM | dojo/db_migrations/0106_role_model.py | 24 | # Create the table for the role | COMMENT |
| MEDIUM | dojo/db_migrations/0049_create_endpoint_status.py | 23 | # Create a new status for each endpoint | COMMENT |
| MEDIUM | unittests/test_false_positive_history_logic.py | 1698 | # Create a finding before the batch import so it pre-exists. | COMMENT |
| MEDIUM | unittests/test_user_ui_timestamps.py | 25 | # Create a target user and rotate their token at a fixed time. | COMMENT |
| MEDIUM | unittests/test_flush_auditlog.py | 42 | # Create a test product type to generate events | COMMENT |
| MEDIUM⚡ | unittests/test_flush_auditlog.py | 64 | # Create a test product type | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/base_test_class.py | 31 | except Exception: | CODE |
| MEDIUM | tests/base_test_class.py | 28 | def wrapper(self, *args, **kwargs): | CODE |
| LOW | dojo/tasks.py | 212 | except Exception as e: | CODE |
| LOW | dojo/tasks.py | 246 | except Exception as e: | CODE |
| LOW | dojo/tasks.py | 252 | except Exception as e: | CODE |
| LOW | dojo/product_announcements.py | 61 | except Exception: | CODE |
| LOW | dojo/context_processors.py | 104 | except Exception: | CODE |
| MEDIUM | dojo/utils.py | 1195 | def get_celery_queue_length(): | CODE |
| LOW | dojo/utils.py | 402 | except Exception: | CODE |
| LOW | dojo/utils.py | 1191 | except Exception: | CODE |
| LOW | dojo/utils.py | 1203 | except Exception: | CODE |
| LOW | dojo/utils.py | 1241 | except Exception: | CODE |
| LOW | dojo/utils.py | 1258 | except Exception: | CODE |
| LOW | dojo/utils.py | 1284 | except Exception: | CODE |
| LOW | dojo/utils_ssrf.py | 89 | except Exception as exc: | CODE |
| LOW | dojo/utils_watson_prefetch.py | 105 | except Exception: | CODE |
| LOW | dojo/utils_watson_prefetch.py | 125 | except Exception: | CODE |
| LOW⚡ | dojo/filters.py | 357 | except Exception: | CODE |
| LOW | dojo/middleware.py | 133 | except Exception as e: | CODE |
| LOW | dojo/benchmark/ui/views.py | 211 | except Exception: | CODE |
| LOW | dojo/templatetags/get_banner.py | 29 | except Exception: | CODE |
| MEDIUM | dojo/templatetags/get_banner.py | 12 | def get_banner_conf(attribute): | CODE |
| LOW | dojo/templatetags/display_tags.py | 216 | except Exception: | CODE |
| LOW | dojo/tools/factory.py | 51 | except Exception: | CODE |
| MEDIUM | dojo/tools/factory.py | 48 | def get_inactive_test_types(): | CODE |
| LOW | dojo/tools/twistlock/parser.py | 173 | except Exception: | CODE |
| LOW | dojo/tools/twistlock/parser.py | 175 | except Exception: | CODE |
| MEDIUM | dojo/tools/twistlock/parser.py | 168 | def parse_json(self, json_output): | CODE |
| LOW | dojo/tools/qualys/csv_parser.py | 209 | except Exception: | CODE |
| LOW | dojo/tools/qualys/csv_parser.py | 258 | except Exception: | CODE |
| LOW | dojo/tools/qualys/parser.py | 237 | except Exception: | CODE |
| LOW | dojo/tools/php_security_audit_v2/parser.py | 21 | except Exception: | CODE |
| LOW | dojo/tools/neuvector/parser.py | 26 | except Exception: | CODE |
| LOW | dojo/tools/neuvector/parser.py | 28 | except Exception: | CODE |
| MEDIUM | dojo/tools/neuvector/parser.py | 21 | def parse_json(self, json_output): | CODE |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 54 | except Exception: | CODE |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 56 | except Exception: | CODE |
| LOW | dojo/tools/snyk_issue_api/parser.py | 26 | except Exception: | CODE |
| LOW | dojo/tools/snyk_issue_api/parser.py | 28 | except Exception: | CODE |
| MEDIUM | dojo/tools/snyk_issue_api/parser.py | 21 | def parse_json(self, json_output): | CODE |
| LOW⚡ | dojo/tools/mend/parser.py | 31 | except Exception: | CODE |
| LOW | dojo/tools/mend/parser.py | 96 | except Exception: | CODE |
| LOW | dojo/tools/mend/parser.py | 130 | except Exception: | CODE |
| LOW | dojo/tools/mend/parser.py | 159 | except Exception: | CODE |
| LOW | dojo/tools/mend/parser.py | 171 | except Exception: | CODE |
| LOW | dojo/tools/govulncheck/parser.py | 155 | except Exception: | CODE |
| LOW | dojo/tools/rusty_hog/parser.py | 22 | except Exception: | CODE |
| LOW | dojo/tools/veracode_sca/parser.py | 74 | except Exception: | CODE |
| LOW | dojo/tools/veracode_sca/parser.py | 213 | except Exception: | CODE |
| LOW | dojo/tools/netsparker/parser.py | 46 | except Exception: | CODE |
| LOW | dojo/tools/netsparker/parser.py | 57 | except Exception: | CODE |
| LOW | dojo/tools/legitify/parser.py | 34 | except Exception: | CODE |
| LOW | dojo/tools/legitify/parser.py | 36 | except Exception: | CODE |
| MEDIUM | dojo/tools/legitify/parser.py | 29 | def parse_json(self, file): | CODE |
| LOW | dojo/tools/api_sonarqube/importer.py | 245 | except Exception as e: | CODE |
| LOW | dojo/tools/api_sonarqube/importer.py | 366 | except Exception as e: | CODE |
| MEDIUM | dojo/tools/api_sonarqube/importer.py | 258 | def import_hotspots(self, test): | CODE |
| LOW | dojo/tools/dependency_check/parser.py | 283 | except Exception as e: | CODE |
| LOW | dojo/tools/tenable/csv_format.py | 245 | except Exception as e: | CODE |
| LOW | dojo/tools/ort/parser.py | 38 | except Exception: | CODE |
| 188 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/tasks.py | 25 | CODE | |
| LOW | dojo/tasks.py | 25 | CODE | |
| LOW | dojo/tasks.py | 25 | CODE | |
| LOW | dojo/tasks.py | 145 | CODE | |
| LOW | dojo/models.py | 23 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 128 | CODE | |
| LOW | dojo/models.py | 138 | CODE | |
| LOW | dojo/models.py | 149 | CODE | |
| LOW | dojo/models.py | 149 | CODE | |
| LOW | dojo/models.py | 150 | CODE | |
| LOW | dojo/models.py | 151 | CODE | |
| LOW | dojo/models.py | 151 | CODE | |
| LOW | dojo/models.py | 155 | CODE | |
| LOW | dojo/models.py | 155 | CODE | |
| LOW | dojo/models.py | 160 | CODE | |
| LOW | dojo/models.py | 161 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 162 | CODE | |
| LOW | dojo/models.py | 360 | CODE | |
| LOW | dojo/models.py | 361 | CODE | |
| LOW | dojo/models.py | 371 | CODE | |
| LOW | dojo/models.py | 372 | CODE | |
| LOW | dojo/models.py | 372 | CODE | |
| LOW | dojo/models.py | 372 | CODE | |
| LOW | dojo/models.py | 373 | CODE | |
| LOW | dojo/models.py | 373 | CODE | |
| LOW | dojo/models.py | 400 | CODE | |
| LOW | dojo/models.py | 400 | CODE | |
| LOW | dojo/models.py | 400 | CODE | |
| LOW | dojo/models.py | 400 | CODE | |
| LOW | dojo/models.py | 462 | CODE | |
| LOW | dojo/models.py | 462 | CODE | |
| LOW | dojo/models.py | 462 | CODE | |
| LOW | dojo/models.py | 467 | CODE | |
| LOW | dojo/models.py | 468 | CODE | |
| LOW | dojo/models.py | 468 | CODE | |
| LOW | dojo/models.py | 468 | CODE | |
| LOW | dojo/models.py | 468 | CODE | |
| LOW | dojo/models.py | 468 | CODE | |
| LOW | dojo/models.py | 475 | CODE | |
| LOW | dojo/models.py | 475 | CODE | |
| LOW | dojo/models.py | 475 | CODE | |
| LOW | dojo/models.py | 475 | CODE | |
| LOW | dojo/models.py | 481 | CODE | |
| LOW | dojo/models.py | 482 | CODE | |
| LOW | dojo/models.py | 482 | CODE | |
| LOW | dojo/models.py | 482 | CODE | |
| 252 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/settings/settings.dist.py | 1586 | # There seems to be no way just use the default and just leave out jquery, so we have to copy... | COMMENT |
| MEDIUM | dojo/tools/twistlock/parser.py | 297 | # Build comprehensive description | COMMENT |
| LOW | dojo/tools/generic/parser.py | 31 | # if the file is a CSV just use the old function | COMMENT |
| MEDIUM | dojo/tools/ibm_app/parser.py | 158 | """Function that parse advisory-group in order to get the item's description""" | STRING |
| LOW | dojo/importers/auto_create_context.py | 292 | # If we have an engagement, we cna just return it | COMMENT |
| LOW | unittests/test_import_reimport.py | 1458 | # and the logic below will get confused and just create a new finding | COMMENT |
| MEDIUM⚡ | unittests/test_deduplication_logic.py | 1660 | # 'absolutely great title' becomes 'Absolutely Great Title' | COMMENT |
| MEDIUM | …ittests/scans/snyk_code/single_project_many_vulns.json | 495 | "markdown": "\n## Details\n\nWithout unlimited resources, software operating in the real world is inhere | CODE |
| MEDIUM | …ittests/scans/snyk_code/single_project_many_vulns.json | 2113 | "markdown": "## Details\n\nA cross-site scripting attack occurs when the attacker tricks a legitimate we | CODE |
| MEDIUM | …ittests/scans/snyk_code/single_project_many_vulns.json | 3720 | "markdown": "## Details\n\nA cross-site scripting attack occurs when the attacker tricks a legitimate we | CODE |
| MEDIUM | unittests/scans/snyk_code/snykcode_issue_9270.json | 22 | "markdown": "## Details\n\nA cross-site scripting attack occurs when the attacker tricks a legitimate | CODE |
| MEDIUM | unittests/scans/snyk_code/snykcode_issue_9270.json | 101 | "markdown": "\n## Details\n\nWithout unlimited resources, software operating in the real world is inhe | CODE |
| MEDIUM | unittests/scans/snyk_code/snykcode_issue_9270.json | 3997 | "markdown": "## Details\n\nPrototype Pollution is a vulnerability affecting JavaScript. Prototype Poll | CODE |
| MEDIUM | unittests/scans/snyk_code/snykcode_issue_9270.json | 4097 | "markdown": "## Details\n\nA cross-site scripting attack occurs when the attacker tricks a legitimate | CODE |
| MEDIUM | unittests/scans/snyk/snykcontainer_issue_9270.json | 3319 | "description": "## Overview\n[sanitize-html](https://github.com/punkave/sanitize-html) is a library that all | CODE |
| MEDIUM | unittests/scans/snyk/snykcontainer_issue_9270.json | 3740 | "description": "## Overview\nSanitization of HTML strings is not applied recursively to input, allowing an a | CODE |
| MEDIUM | unittests/scans/snyk/snykcontainer_issue_9270.json | 3826 | "description": "## Overview\n[`sanitize-html`](https://www.npmjs.com/package/sanitize-html) is a library for | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1691 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1691 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1757 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1757 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1825 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1825 | "description": "## Overview\n[ajv](https://www.npmjs.com/package/ajv) is an Another JSON Schema Validator\n\nAff | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 1893 | "description": "## Overview\n[@angular/core](https://www.npmjs.com/package/@angular/core) is a package that lets | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2495 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2495 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2614 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2614 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2696 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2696 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2756 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2756 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2952 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 2952 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3073 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3073 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3157 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3157 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3219 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3219 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3421 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3421 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3544 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3544 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3630 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3630 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3694 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3694 | "description": "## Overview\n[lodash](https://www.npmjs.com/package/lodash) is a modern JavaScript utility libra | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3758 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3758 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3886 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 3886 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4020 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4020 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4148 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4148 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4278 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4278 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4410 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| MEDIUM | unittests/scans/snyk/all_projects_issue4277.json | 4410 | "description": "## Overview\n[minimist](https://www.npmjs.com/package/minimist) is a parse argument options modu | CODE |
| 81 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/settings/settings.dist.py | 1596 | TAGULOUS_AUTOCOMPLETE_SETTINGS = {"placeholder": "Enter some tags (comma separated, use enter to select / create a new t | CODE |
| LOW | dojo/finding/ui/filters.py | 257 | date_input_widget = forms.DateInput(attrs={"class": "datepicker", "placeholder": "YYYY-MM-DD"}, format="%Y-%m-%d | CODE |
| LOW | dojo/templates_classic/base.html | 1244 | <!-- 'placeholder': 'Select or add some tags...', --> | CODE |
| LOW | dojo/templates_classic/dojo/report_builder.html | 68 | $(this).attr("placeholder", label.html().replace(':', "...")); | CODE |
| LOW | dojo/jira/forms.py | 148 | self.fields["project_key"].widget = forms.TextInput(attrs={"placeholder": f"JIRA settings inherited from pro | CODE |
| LOW | dojo/jira/forms.py | 297 | self.fields["jira_issue"].widget = forms.TextInput(attrs={"placeholder": "Leave empty and check push to jira | CODE |
| LOW | dojo/jira/forms.py | 299 | self.fields["jira_issue"].widget = forms.TextInput(attrs={"placeholder": "Leave empty and check push to jira | CODE |
| LOW | dojo/templates/dojo/report_builder.html | 68 | $(this).attr("placeholder", label.html().replace(':', "...")); | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2176 | result = self.client.patch(self.url + "2/", data={"steps_to_reproduce": "Lorem ipsum dolor sit amet"}) | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2176 | result = self.client.patch(self.url + "2/", data={"steps_to_reproduce": "Lorem ipsum dolor sit amet"}) | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2178 | self.assertEqual(result.json()["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2178 | self.assertEqual(result.json()["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2189 | self.assertEqual(result_json["results"][0]["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2189 | self.assertEqual(result_json["results"][0]["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_finding_model.py | 345 | finding.references = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr" | CODE |
| LOW⚡ | unittests/test_finding_model.py | 345 | finding.references = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr" | CODE |
| LOW⚡ | unittests/test_finding_model.py | 346 | self.assertEqual("Lorem ipsum dolor sit amet, consetetur sadipscing elitr", finding.get_references_with_links()) | CODE |
| LOW⚡ | unittests/test_finding_model.py | 346 | self.assertEqual("Lorem ipsum dolor sit amet, consetetur sadipscing elitr", finding.get_references_with_links()) | CODE |
| LOW⚡ | unittests/tools/test_threat_composer_parser.py | 28 | self.assertEqual("lorem ipsum", finding.title) | CODE |
| LOW⚡ | unittests/tools/test_ptart_parser.py | 201 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW⚡ | unittests/tools/test_ptart_parser.py | 201 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 190 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 190 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 878 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 878 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | unittests/tools/test_gitleaks_parser.py | 98 | self.assertIn("\n**Commit message:** Lorem ipsum dolor sit amet, consetetur sadipscing elitr", finding.d | CODE |
| LOW | unittests/tools/test_gitleaks_parser.py | 98 | self.assertIn("\n**Commit message:** Lorem ipsum dolor sit amet, consetetur sadipscing elitr", finding.d | CODE |
| LOW | unittests/tools/test_gitleaks_parser.py | 116 | Lorem ipsum dolor sit amet, | CODE |
| LOW | unittests/tools/test_gitleaks_parser.py | 116 | Lorem ipsum dolor sit amet, | CODE |
| LOW | …ittests/scans/snyk_code/single_project_many_vulns.json | 2394 | "line": "email : 'test@test.com'\n", | CODE |
| LOW | unittests/scans/snyk_code/snykcode_issue_9270.json | 4377 | "line": "email : 'test@test.com'\n", | CODE |
| LOW | unittests/scans/arachni/dd.com.afr.json | 285 | "body" : "\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\n <meta charset=\"utf-8\">\n <meta http-eq | CODE |
| LOW | unittests/scans/arachni/dd.com.afr.json | 296 | "body" : "\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\n <meta charset=\"utf-8\">\n <meta http-eq | CODE |
| LOW | unittests/scans/arachni/dd.com.afr.json | 332 | "body" : "\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\n <meta charset=\"utf-8\">\n <meta http-eq | CODE |
| LOW | unittests/scans/whitehat_sentinel/invalid_data.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq | CODE |
| LOW | unittests/scans/whitehat_sentinel/invalid_data.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq | CODE |
| LOW | unittests/scans/zap/zap_2.16.1_with_req_resp.xml | 794 | <requestbody>"John Doe"</requestbody> | CODE |
| LOW | unittests/scans/xygeni/secrets_many_findings.json | 818 | "secretId" : "user@example.com", | CODE |
| LOW | …ittests/scans/ptart/ptart_one_vul_screenshot_long.json | 48 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut l | CODE |
| LOW | …ittests/scans/ptart/ptart_one_vul_screenshot_long.json | 48 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut l | CODE |
| LOW | unittests/scans/burp_suite_dast/many_vulns.html | 1231 | The following email addresses were disclosed in the response:<ul><li>fake-user@testing.com</li><li>fake-admin@testing.co | CODE |
| LOW | unittests/scans/snyk/snykcode_issue_9270.json | 4377 | "line": "email : 'test@test.com'\n", | CODE |
| LOW | unittests/scans/harbor_vulnerability/harborapipip.json | 54 | "description": "Lorem ipsum.", | CODE |
| LOW | unittests/scans/cyclonedx/issue_8022.json | 76 | "name": "Jane Doe", | CODE |
| LOW | unittests/scans/cyclonedx/valid-vulnerability-1.4.json | 77 | "name": "Jane Doe", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 19 | "content": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 21 | "lorem ipsum" | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 26 | "value": "lorem ipsum" | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 36 | "content": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 38 | "lorem ipsum" | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 43 | "value": "lorem ipsum" | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 51 | "content": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 55 | "value": "lorem ipsum" | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 82 | "statement": "A lorem ipsum lorem ipsum can lorem ipsum, which leads to lorem ipsum, negatively impacting lorem | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 83 | "threatSource": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 84 | "prerequisites": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 85 | "threatAction": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 86 | "threatImpact": "lorem ipsum", | CODE |
| LOW⚡ | …hreat_composer/threat_composer_broken_assumptions.json | 88 | "lorem ipsum" | CODE |
| LOW | …hreat_composer/threat_composer_broken_assumptions.json | 109 | "value": "lorem ipsum. lorem ipsum lorem ipsum" | CODE |
| 83 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | dojo/utils.py | 1864 | # Step 1: Determine finding scope | COMMENT |
| LOW⚡ | dojo/utils.py | 1871 | # Step 2: Prepare duplicate clusters (must happen before any deletion) | COMMENT |
| LOW⚡ | dojo/utils.py | 1876 | # Step 3: Delete the main scope findings | COMMENT |
| LOW⚡ | dojo/utils.py | 1884 | # Step 4: Delete all remaining related objects (Tests, Engagements, | COMMENT |
| LOW⚡ | dojo/utils.py | 1893 | # Step 5: Delete the top-level object via ORM to fire Django signals | COMMENT |
| LOW⚡ | dojo/utils.py | 1898 | # Step 6: Recalculate product grade once (Engagement/Test deletes only). Skip when the | COMMENT |
| LOW⚡ | dojo/importers/endpoint_manager.py | 254 | # Step 1: Ensure all recorded endpoints exist in DB | COMMENT |
| LOW⚡ | dojo/importers/endpoint_manager.py | 257 | # Step 2: Bulk-create Endpoint_Status rows | COMMENT |
| LOW | dojo/importers/endpoint_manager.py | 272 | # Step 3: Bulk-update mitigated endpoint statuses | COMMENT |
| LOW | dojo/importers/endpoint_manager.py | 291 | # Step 4: Bulk-update reactivated endpoint statuses | COMMENT |
| LOW | dojo/finding/helper.py | 922 | # NOTE: This function is recursive and does per-finding DB queries without prefetching. | COMMENT |
| LOW⚡ | …rations/0253_migrate_vulnerability_ids_to_textfield.py | 93 | # Step 1: Migrate data from Vulnerability_Id_Template to vulnerability_ids_text | COMMENT |
| LOW⚡ | …rations/0253_migrate_vulnerability_ids_to_textfield.py | 98 | # Step 2: Delete old Vulnerability_Id_Template records | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 782 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 790 | # Step 3: Import again into engagement 2 → tries to deduplicate against A (mitigated), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 907 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 915 | # Step 3: Import again into engagement 2 → exception, finding B created as new active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 970 | # Step 5: Mitigate finding B | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 978 | # Step 6: Import again into engagement 4 → should find A (mitigated, exception), B (mitigated, exception), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2640 | # Step 3: test1's 4 findings must all still be active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2656 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2827 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW | unittests/test_import_reimport.py | 755 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 820 | # Step 4: Import again into engagement 3 → should find both A (mitigated) and B (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 883 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 941 | # Step 4: Import again into engagement 3 → should skip finding1 (mitigated, exception), | COMMENT |
| LOW | unittests/test_import_reimport.py | 2611 | # Step 1: import 4 findings into an existing test (test1) in the engagement. | COMMENT |
| LOW | unittests/test_import_reimport.py | 2622 | # Step 2: call the reimport endpoint with auto_create_context=True and a | COMMENT |
| LOW | unittests/test_import_reimport.py | 2701 | # Step 2: Reimport scan (same test) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2728 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2784 | # Step 4: Reimport scan in same new engagement (batch_size=50) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2866 | # Step 2: Import scan again (same engagement) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2892 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2947 | # Step 4: Import scan again in same new engagement (batch_size=50) | COMMENT |
| LOW | …ttests/scans/dependency_track/deptrack_npm_4.14.1.json | 697 | "description": "## Summary\n\nDOMPurify versions 3.0.1 through 3.3.3 (latest) are vulnerable to a protot | CODE |
| LOW | …dings/finding_deduplication/avoid_excess_duplicates.md | 21 | ## Step 1: Clean up your excess Duplicates | COMMENT |
| LOW | …dings/finding_deduplication/avoid_excess_duplicates.md | 25 | ### Step 2: Evaluate your Engagements for redundancies | COMMENT |
| LOW | …dings/finding_deduplication/avoid_excess_duplicates.md | 41 | ### Step 3: Check for redundant Tests | COMMENT |
| LOW | docs/content/issue_tracking/jira/OS__jira_guide.md | 19 | ## Step 1: Connect a Jira Instance | COMMENT |
| LOW | docs/content/issue_tracking/jira/OS__jira_guide.md | 116 | ## Step 2: Connect a Product or Engagement to Jira | COMMENT |
| LOW | docs/content/issue_tracking/jira/OS__jira_guide.md | 239 | ## Step 3: Configure Bidirectional Sync: Jira Webhook | COMMENT |
| LOW | docs/content/issue_tracking/jira/OS__jira_guide.md | 387 | #### Step 1: Record the names of your Custom Fields in Jira | COMMENT |
| LOW | docs/content/issue_tracking/jira/OS__jira_guide.md | 399 | #### Step 2: Finding your Jira Custom Field Key Values | COMMENT |
| LOW | docs/content/issue_tracking/jira/PRO__jira_guide.md | 21 | ## Step 1: Connect a Jira Instance | COMMENT |
| LOW | docs/content/issue_tracking/jira/PRO__jira_guide.md | 85 | ## Step 2: Connect a Product or Engagement to Jira | COMMENT |
| LOW | docs/content/issue_tracking/jira/PRO__jira_guide.md | 238 | ## Step 3: Configure Bidirectional Sync: Jira Webhook | COMMENT |
| LOW | docs/content/issue_tracking/jira/PRO__jira_guide.md | 430 | #### Step 1: Record the names of your Custom Fields in Jira | COMMENT |
| LOW | docs/content/issue_tracking/jira/PRO__jira_guide.md | 442 | #### Step 2: Finding your Jira Custom Field Key Values | COMMENT |
| LOW | …cs/content/supported_tools/parsers/universal_parser.md | 33 | ## Step 1: Creating a new Universal Parser | COMMENT |
| LOW | …cs/content/supported_tools/parsers/universal_parser.md | 51 | ## Step 2: Mapping your Finding fields | COMMENT |
| LOW | …cs/content/supported_tools/parsers/universal_parser.md | 111 | ## Step 3: Previewing your Findings | COMMENT |
| LOW | …import_data/pro/specialized_import/universal_parser.md | 33 | ## Step 1: Creating a new Universal Parser | COMMENT |
| LOW | …import_data/pro/specialized_import/universal_parser.md | 51 | ## Step 2: Mapping your Finding fields | COMMENT |
| LOW | …import_data/pro/specialized_import/universal_parser.md | 111 | ## Step 3: Previewing your Findings | COMMENT |
| LOW⚡ | …ent/get_started/pro/cloud/additional-cloud-instance.md | 13 | ## Step 1: Open the New Subscription process | COMMENT |
| LOW⚡ | …ent/get_started/pro/cloud/additional-cloud-instance.md | 19 | ## Step 2: Set your Server Label | COMMENT |
| LOW⚡ | …ent/get_started/pro/cloud/additional-cloud-instance.md | 27 | ## Step 3: Select a Server Location | COMMENT |
| LOW⚡ | …ent/get_started/pro/cloud/additional-cloud-instance.md | 33 | ## Step 4: Configure your Firewall Rules | COMMENT |
| LOW | …ent/get_started/pro/cloud/additional-cloud-instance.md | 45 | ## Step 5: Confirm your Plan type and Billing Frequency | COMMENT |
| LOW | …ent/get_started/pro/cloud/additional-cloud-instance.md | 53 | ## Step 6: Review and Submit your Request | COMMENT |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/install_chrome_dependencies.py | 14 | # Check if ldd has failed for a good reason, or if there are no results | COMMENT |
| LOW | docker/install_chrome_dependencies.py | 34 | # Check if ldd has failed for a good reason, or if there are no results | COMMENT |
| LOW⚡ | tests/tool_product_test.py | 39 | # Check if any non-API tool type exists | COMMENT |
| LOW | tests/tool_product_test.py | 69 | # Check if any tool config exists (any row in the table) | COMMENT |
| LOW⚡ | tests/tool_config.py | 33 | # Check if form is prefieled | COMMENT |
| LOW⚡ | tests/tool_config.py | 56 | # Check if ToolType is selected | COMMENT |
| LOW | dojo/context_processors.py | 92 | # Check if there was an error stored on the request (from middleware) | COMMENT |
| LOW | dojo/utils.py | 891 | # Check if threat folder exist. | COMMENT |
| LOW | dojo/tools/qualys/parser.py | 187 | # Check if CVSS field contains the CVSS vector | COMMENT |
| LOW | dojo/tools/sarif/parser.py | 448 | # Check if this is a CWE taxonomy reference | COMMENT |
| LOW | dojo/tools/snyk_issue_api/parser.py | 60 | # Check if any fix is available | COMMENT |
| LOW | dojo/tools/qualys_webapp/parser.py | 79 | port = "" # Set port to empty string by default | CODE |
| LOW | dojo/tools/mend/parser.py | 187 | # Check if adding this location will exceed the limit | COMMENT |
| LOW | dojo/tools/noseyparker/parser.py | 41 | # Set rule to the current secret type (e.g. AWS S3 Bucket) | COMMENT |
| LOW | dojo/tools/api_sonarqube/updater.py | 120 | # Check if there is at least one transition from current_status... | COMMENT |
| LOW | dojo/tools/auditjs/parser.py | 75 | # Check if there are any vulnerabilities | COMMENT |
| LOW | dojo/tools/h1/parser.py | 288 | # Iterate over the items and build the string | COMMENT |
| LOW | dojo/tools/veracode/xml_parser.py | 204 | # Check if it's a FP in veracode. | COMMENT |
| LOW | dojo/tools/qualys_vmdr/helpers.py | 260 | # Check if this is end of field: "" followed by , or end of string | COMMENT |
| LOW | dojo/tools/openreports/parser.py | 58 | # Check if it's a Kubernetes List object | STRING |
| LOW | dojo/tools/openreports/parser.py | 61 | # Check if it's a single Report object | STRING |
| LOW | dojo/tools/openreports/parser.py | 275 | # Set vuln_id_from_tool to policy field for display | STRING |
| LOW | dojo/test/signals.py | 60 | # Check if the test type has changed | COMMENT |
| LOW | dojo/importers/options.py | 151 | # Check if we are working with a list of models | COMMENT |
| LOW⚡ | dojo/finding/models.py | 749 | # Check if all needed settings are defined | COMMENT |
| LOW⚡ | dojo/finding/models.py | 756 | # Check if hash_code fields are found in the settings | COMMENT |
| LOW⚡ | dojo/finding/models.py | 762 | # Check if all elements of HASHCODE_FIELDS_PER_SCANNER are in HASHCODE_ALLOWED_FIELDS | COMMENT |
| LOW | dojo/finding/models.py | 1128 | # Check if a mandatory field is empty. If it's the case, fill it with "no <fieldName> given" | COMMENT |
| LOW | dojo/finding/models.py | 1329 | # Check if match isn't already a markdown link | COMMENT |
| LOW | dojo/finding/ui/views.py | 1310 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 1571 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 1665 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 2521 | # Check if finding is duplicate and user wants to set active/verified | COMMENT |
| LOW | dojo/location/models.py | 128 | # Check if there is an existing reference for this finding and location | COMMENT |
| LOW | dojo/location/models.py | 175 | # Check if there is an existing reference for this finding and location | COMMENT |
| LOW | dojo/management/commands/pghistory_backfill_simple.py | 113 | # Check if event table exists | COMMENT |
| LOW | dojo/management/commands/pghistory_backfill.py | 295 | # Set pgh_created_at to current time (this is for the event creation time) | COMMENT |
| LOW | dojo/management/commands/pghistory_backfill_fast.py | 121 | # Check if we can use COPY (PostgreSQL only) | COMMENT |
| LOW | dojo/management/commands/migrate_surveys.py | 22 | # Check if there are any tables to migrate | COMMENT |
| LOW | dojo/url/models.py | 269 | # Check if it's a valid IP address first | COMMENT |
| LOW | dojo/url/ui/views.py | 447 | # Check if the uploaded file exceeds the maximum allowed size | COMMENT |
| LOW | dojo/engagement/ui/views.py | 626 | # Set status to in progress if a test is added | COMMENT |
| LOW | dojo/jira/views.py | 95 | # Check if the events supplied are supported | COMMENT |
| LOW⚡ | dojo/jira/views.py | 186 | # Check if the issue is originally a 404 | COMMENT |
| LOW⚡ | dojo/github/services.py | 27 | # Check if we have github info related to the product | COMMENT |
| LOW⚡ | dojo/github/services.py | 35 | # Check if we have github info related to the finding | COMMENT |
| LOW⚡ | dojo/github/services.py | 62 | # Check if we have github info related to the product | COMMENT |
| LOW⚡ | dojo/github/services.py | 70 | # Check if we have github info related to the finding | COMMENT |
| LOW⚡ | dojo/github/services.py | 97 | # Check if we have github info related to the product | COMMENT |
| LOW⚡ | dojo/github/services.py | 105 | # Check if we have github info related to the finding | COMMENT |
| LOW | dojo/github/services.py | 129 | # Check if we have github info related to the product | COMMENT |
| LOW | dojo/api_v2/prefetch/prefetcher.py | 119 | # Check if the field represents a many-to-many relationship as we need to instantiate the serializer accordingly | COMMENT |
| LOW⚡ | dojo/db_migrations/0197_parser_merge.py | 29 | # Check if nessus is in found by list and remove | COMMENT |
| LOW⚡ | dojo/db_migrations/0197_parser_merge.py | 32 | # Check if nessus WAS is in found by list and remove | COMMENT |
| LOW⚡ | dojo/db_migrations/0197_parser_merge.py | 35 | # Check if tenable is already in list somehow before adding it | COMMENT |
| LOW⚡ | dojo/db_migrations/0197_parser_merge.py | 43 | # Check if nessus is in found by list and remove | COMMENT |
| LOW⚡ | dojo/db_migrations/0197_parser_merge.py | 46 | # Check if tenable is already in list somehow before adding it | COMMENT |
| LOW | dojo/db_migrations/0049_create_endpoint_status.py | 28 | # Check if the status object was created, otherwise, there is nothing to do | COMMENT |
| LOW⚡ | dojo/db_migrations/0187_nessus_to_tenable.py | 20 | # Check if nessus is in found by list and remove | COMMENT |
| LOW⚡ | dojo/db_migrations/0187_nessus_to_tenable.py | 23 | # Check if nessus WAS is in found by list and remove | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dojo/tools/tfsec/parser.py | 0 | a class that can be used to parse the kics json report file | STRING |
| HIGH | dojo/tools/detect_secrets/parser.py | 0 | a class that can be used to parse the kics json report file | STRING |
| HIGH | dojo/tools/terrascan/parser.py | 0 | a class that can be used to parse the kics json report file | STRING |
| HIGH | dojo/tools/kics/parser.py | 0 | a class that can be used to parse the kics json report file | STRING |
| HIGH | dojo/tools/ggshield/parser.py | 0 | a class that can be used to parse the dockle json report files | STRING |
| HIGH | dojo/tools/gitleaks/parser.py | 0 | a class that can be used to parse the dockle json report files | STRING |
| HIGH | dojo/tools/talisman/parser.py | 0 | a class that can be used to parse the dockle json report files | STRING |
| HIGH | dojo/tools/wfuzz/parser.py | 0 | a class that can be used to parse the dockle json report files | STRING |
| HIGH | dojo/tools/dockle/parser.py | 0 | a class that can be used to parse the dockle json report files | STRING |
| HIGH | dojo/tools/tenable/parser.py | 0 | return the list of dedupe fields used in the tenable csv parser fields: - title: made using the name, plugin name, and a | STRING |
| HIGH | dojo/tools/tenable/xml_format.py | 0 | return the list of dedupe fields used in the tenable csv parser fields: - title: made using the name, plugin name, and a | STRING |
| HIGH | dojo/tools/tenable/csv_format.py | 0 | return the list of dedupe fields used in the tenable csv parser fields: - title: made using the name, plugin name, and a | STRING |
| HIGH | dojo/tools/gitlab_container_scan/parser.py | 0 | normalise gitlab's severity to defectdojo's (critical, high, medium, low, unknown, info) -> (critical, high, medium, low | STRING |
| HIGH | dojo/tools/gitlab_secret_detection_report/parser.py | 0 | normalise gitlab's severity to defectdojo's (critical, high, medium, low, unknown, info) -> (critical, high, medium, low | STRING |
| HIGH | dojo/tools/gitlab_api_fuzzing/parser.py | 0 | normalise gitlab's severity to defectdojo's (critical, high, medium, low, unknown, info) -> (critical, high, medium, low | STRING |
| HIGH | dojo/importers/location_manager.py | 0 | record endpoints from the finding + any form-added extras for later batch creation. | STRING |
| HIGH | dojo/importers/base_location_manager.py | 0 | record endpoints from the finding + any form-added extras for later batch creation. | STRING |
| HIGH | dojo/importers/endpoint_manager.py | 0 | record endpoints from the finding + any form-added extras for later batch creation. | STRING |
| HIGH | dojo/importers/location_manager.py | 0 | accumulate status changes (mitigate/reactivate) based on old vs new finding. | STRING |
| HIGH | dojo/importers/base_location_manager.py | 0 | accumulate status changes (mitigate/reactivate) based on old vs new finding. | STRING |
| HIGH | dojo/importers/endpoint_manager.py | 0 | accumulate status changes (mitigate/reactivate) based on old vs new finding. | STRING |
| HIGH | dojo/management/commands/pghistory_backfill_simple.py | 0 | get the list of excluded fields for a specific model from pghistory configuration. | STRING |
| HIGH | dojo/management/commands/pghistory_backfill.py | 0 | get the list of excluded fields for a specific model from pghistory configuration. | STRING |
| HIGH | dojo/auditlog/backfill.py | 0 | get the list of excluded fields for a specific model from pghistory configuration. | STRING |
| HIGH | dojo/db_migrations/0242_file_upload_cleanup.py | 0 | we cannot possibly return to the original state without knowing the original value at the time the migration is revoked. | STRING |
| HIGH | dojo/db_migrations/0235_clean_tags.py | 0 | we cannot possibly return to the original state without knowing the original value at the time the migration is revoked. | STRING |
| HIGH | dojo/db_migrations/0227_migrate_tags.py | 0 | we cannot possibly return to the original state without knowing the original value at the time the migration is revoked. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_test.py | 61 | # Click on the 'Engagement' Dropdown button | COMMENT |
| LOW | tests/test_test.py | 141 | # Test To Add Finding To Test | COMMENT |
| LOW | tests/test_test.py | 161 | Select(driver.find_element(By.ID, "id_severity")).select_by_visible_text("High") | COMMENT |
| LOW | tests/product_test.py | 41 | # Navigate to the product page | COMMENT |
| LOW | tests/product_test.py | 81 | COMMENT | |
| LOW | tests/product_test.py | 141 | driver = self.driver | COMMENT |
| LOW | tests/product_test.py | 261 | driver.find_element(By.LINK_TEXT, "Add New Finding").click() | COMMENT |
| LOW | tests/product_test.py | 381 | # Test To Edit Product Custom Fields | COMMENT |
| LOW | tests/finding_test.py | 541 | # Select and click on the particular finding to edit | COMMENT |
| LOW | tests/finding_test.py | 561 | # Navigate to All Finding page | COMMENT |
| LOW | tests/dedupe_test.py | 301 | @on_exception_html_source_logger | COMMENT |
| LOW | dojo/signals.py | 1 | from django.dispatch import Signal | COMMENT |
| LOW | dojo/models.py | 661 | # NoteHistory admin registered in dojo/notes/admin.py | COMMENT |
| LOW | dojo/apps.py | 41 | # endpoint_status = models.ManyToManyField(Endpoint_Status, blank=True, related_name='finding_endpoint_status') | COMMENT |
| LOW | dojo/utils.py | 321 | elif view == "Endpoint": | COMMENT |
| LOW | dojo/utils.py | 981 | # Migration 0272_reencrypt_tool_config_credentials_aes_gcm eagerly re-encrypts | COMMENT |
| LOW | dojo/utils.py | 1881 | cascade_root=cascade_root, | COMMENT |
| LOW | dojo/celery.py | 161 | # tasks = list(sorted(name for name in current_app.tasks | COMMENT |
| LOW | dojo/wsgi.py | 21 | logger = logging.getLogger(__name__) | COMMENT |
| LOW | dojo/settings/settings.dist.py | 121 | # If a task sits in the broker queue for longer than this without being picked up by a worker, | COMMENT |
| LOW | dojo/settings/settings.dist.py | 161 | # Some security policies require allowing users to have only one active session | COMMENT |
| LOW | dojo/settings/settings.dist.py | 181 | # on the DefectDojo side because jira has no way of knowing if a finding really should be reopened or not | COMMENT |
| LOW | dojo/settings/settings.dist.py | 201 | # regular expression to exclude one or more parsers | COMMENT |
| LOW | dojo/settings/settings.dist.py | 261 | DD_ADDITIONAL_HEADERS=(dict, {}), | COMMENT |
| LOW | dojo/settings/settings.dist.py | 401 | # URL that handles the media served from MEDIA_ROOT. Make sure to use a | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1001 | DATABASES["default"]["ENGINE"] = database_engine.replace("django.", "django_prometheus.", 1) | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1221 | COMMENT | |
| LOW | dojo/settings/settings.dist.py | 1241 | DEDUPE_ALGOS = [ | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1721 | COMMENT | |
| LOW | dojo/settings/settings.dist.py | 1741 | # some warnings are produced trying to steer us in the right direction. Ignore those | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1801 | "debug_toolbar.panels.signals.SignalsPanel", | COMMENT |
| LOW | dojo/system_settings/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.system_settings.ui.views during the | COMMENT |
| LOW | dojo/tools/spotbugs/parser.py | 61 | mitigation += line + "\n" | COMMENT |
| LOW | dojo/tools/dependency_check/parser.py | 221 | # TODO: what happens when there multiple evidencecollectednodes with | COMMENT |
| LOW | dojo/tools/tenable/utils.py | 1 | COMMENT | |
| LOW | dojo/tools/checkmarx_osa/parser.py | 121 | return tree[0] | COMMENT |
| LOW | dojo/tools/aqua/parser.py | 61 | # def get_fields(self) -> list[str]: | COMMENT |
| LOW | dojo/tools/aqua/parser.py | 81 | # ] | COMMENT |
| LOW | dojo/tools/sysdig_cli/parser.py | 241 | csv_data_record.epss_score = row.get("epss score", "") | COMMENT |
| LOW | dojo/tools/api_blackduck/api_client.py | 21 | timeout=120, | COMMENT |
| LOW | dojo/tools/mobsf/api_report_json.py | 241 | # "android_insecure_random": { | COMMENT |
| LOW | dojo/test/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.test.ui.views during the | COMMENT |
| LOW | dojo/importers/default_reimporter.py | 321 | cleaned_findings.append(sanitized) | COMMENT |
| LOW | dojo/importers/default_reimporter.py | 441 | # in matching batches are new. If we dispatched at the end of each matching batch, we would | COMMENT |
| LOW | dojo/finding/helper.py | 121 | # closed / mitigated | COMMENT |
| LOW | dojo/finding/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.finding.ui.views during the | COMMENT |
| LOW | dojo/location/utils.py | 81 | # Common case: exactly one existing URL | COMMENT |
| LOW | dojo/management/commands/test_celery_decorator.py | 21 | COMMENT | |
| LOW | …/management/commands/migrate_endpoints_to_locations.py | 401 | # Collected per-endpoint failures so a single bad row doesn't abort | COMMENT |
| LOW | …/management/commands/migrate_endpoints_to_locations.py | 501 | )) | COMMENT |
| LOW | dojo/user/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.user.ui.views during the | COMMENT |
| LOW | dojo/product/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.product.ui.views during the | COMMENT |
| LOW | dojo/tags/signals.py | 61 | # Commit the instance's own (possibly pre-save assigned) tags before we | COMMENT |
| LOW | dojo/engagement/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.engagement.ui.views during the | COMMENT |
| LOW | dojo/jira/helper.py | 1141 | message = f"Failed to fetch fields for {jira_instance.default_issue_type} under project {jira_project.project_ke | COMMENT |
| LOW | dojo/jira/helper.py | 1921 | # resolution-field hygiene. | COMMENT |
| LOW | dojo/endpoint/views.py | 1 | # Backward-compat shim: the view logic moved to dojo.endpoint.ui.views during the | COMMENT |
| LOW | dojo/authorization/url_permissions.py | 21 | # | COMMENT |
| LOW | dojo/authorization/__init__.py | 1 | # NOTE: do not import query_registrations here. It pulls in dojo.models | COMMENT |
| LOW | …grations/0001_squashed_0090_index_duplicate_finding.py | 21 | # Move them and any dependencies into this file, then update the | COMMENT |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | dojo/utils.py | 1864 | # Step 1: Determine finding scope | COMMENT |
| LOW⚡ | dojo/utils.py | 1871 | # Step 2: Prepare duplicate clusters (must happen before any deletion) | COMMENT |
| LOW⚡ | dojo/utils.py | 1876 | # Step 3: Delete the main scope findings | COMMENT |
| LOW⚡ | dojo/utils.py | 1884 | # Step 4: Delete all remaining related objects (Tests, Engagements, | COMMENT |
| LOW⚡ | dojo/utils.py | 1893 | # Step 5: Delete the top-level object via ORM to fire Django signals | COMMENT |
| LOW⚡ | dojo/utils.py | 1898 | # Step 6: Recalculate product grade once (Engagement/Test deletes only). Skip when the | COMMENT |
| LOW⚡ | dojo/importers/endpoint_manager.py | 254 | # Step 1: Ensure all recorded endpoints exist in DB | COMMENT |
| LOW⚡ | dojo/importers/endpoint_manager.py | 257 | # Step 2: Bulk-create Endpoint_Status rows | COMMENT |
| LOW | dojo/importers/endpoint_manager.py | 272 | # Step 3: Bulk-update mitigated endpoint statuses | COMMENT |
| LOW | dojo/importers/endpoint_manager.py | 291 | # Step 4: Bulk-update reactivated endpoint statuses | COMMENT |
| LOW | dojo/authorization/api_permissions.py | 542 | # the engagement doesn't exist, so we need to check if the user has | COMMENT |
| LOW | dojo/authorization/api_permissions.py | 731 | # the test doesn't exist, so we need to check if the user has | COMMENT |
| LOW⚡ | …rations/0253_migrate_vulnerability_ids_to_textfield.py | 93 | # Step 1: Migrate data from Vulnerability_Id_Template to vulnerability_ids_text | COMMENT |
| LOW⚡ | …rations/0253_migrate_vulnerability_ids_to_textfield.py | 98 | # Step 2: Delete old Vulnerability_Id_Template records | COMMENT |
| LOW | unittests/test_jira_import_and_pushing_api.py | 1028 | # Note: finding_group is a cached property, so we need to check if findings are in any group | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 782 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 790 | # Step 3: Import again into engagement 2 → tries to deduplicate against A (mitigated), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 907 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 915 | # Step 3: Import again into engagement 2 → exception, finding B created as new active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 970 | # Step 5: Mitigate finding B | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 978 | # Step 6: Import again into engagement 4 → should find A (mitigated, exception), B (mitigated, exception), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2640 | # Step 3: test1's 4 findings must all still be active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2656 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2827 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW | unittests/test_import_reimport.py | 755 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 820 | # Step 4: Import again into engagement 3 → should find both A (mitigated) and B (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 883 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 941 | # Step 4: Import again into engagement 3 → should skip finding1 (mitigated, exception), | COMMENT |
| LOW | unittests/test_import_reimport.py | 2611 | # Step 1: import 4 findings into an existing test (test1) in the engagement. | COMMENT |
| LOW | unittests/test_import_reimport.py | 2622 | # Step 2: call the reimport endpoint with auto_create_context=True and a | COMMENT |
| LOW | unittests/test_import_reimport.py | 2701 | # Step 2: Reimport scan (same test) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2728 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2784 | # Step 4: Reimport scan in same new engagement (batch_size=50) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2866 | # Step 2: Import scan again (same engagement) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2892 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2947 | # Step 4: Import scan again in same new engagement (batch_size=50) | COMMENT |
| LOW | …ttests/scans/dependency_track/deptrack_npm_4.14.1.json | 697 | "description": "## Summary\n\nDOMPurify versions 3.0.1 through 3.3.3 (latest) are vulnerable to a protot | CODE |
| LOW⚡ | scripts/update_performance_test_counts.py | 21 | # Step 1: Run tests and generate report only (without updating) | STRING |
| LOW⚡ | scripts/update_performance_test_counts.py | 24 | # Step 2: Verify all tests pass | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/user_test.py | 22 | # Don't forget to clear before inserting | COMMENT |
| LOW | tests/user_test.py | 57 | # Don't forget to clear before inserting | COMMENT |
| LOW | dojo/utils.py | 310 | # gather findings over past half year, make sure to start on a sunday | COMMENT |
| LOW | dojo/templatetags/display_tags.py | 813 | # outputs html, so make sure to escape user provided fields | COMMENT |
| LOW | dojo/settings/settings.dist.py | 424 | # Don't forget to use absolute paths, not relative paths. | COMMENT |
| MEDIUM | unittests/scans/whitehat_sentinel/many_vuln.json | 160 | "solution_prepend": "In Apache (https://httpd.apache.org/docs/trunk/vhosts/examples.html#defaultallports) and Ng | CODE |
| MEDIUM | unittests/scans/hcl_appscan/many_findings.xml | 11627 | <item type="string">Here is a simple example of how to use stored procedures in ASP.NET:</item> | CODE |
| MEDIUM | unittests/scans/hcl_appscan/issue_9279.xml | 1286 | <text>Here is a simple example of how to use stored procedures in ASP.NET:</text> | CODE |
| MEDIUM | unittests/scans/hcl_appscan/issue_9279.xml | 2548 | <text>Here is a simple example of how to use stored procedures in ASP.NET:</text> | CODE |
| LOW | unittests/scans/rubocop/one_finding.json | 1959 | "message": "Prefer `$LAST_MATCH_INFO` from the stdlib 'English' module (don't forget to require it) | CODE |
| LOW | unittests/scans/rubocop/one_finding.json | 1975 | "message": "Prefer `$LAST_MATCH_INFO` from the stdlib 'English' module (don't forget to require it) | CODE |
| MEDIUM⚡ | unittests/scans/nuclei/issue_14071.json | 25 | {"template":"http/exposures/files/readme-md.yaml","template-url":"https://cloud.projectdiscovery.io/public/readme-md","t | CODE |
| LOW⚡ | unittests/scans/nuclei/issue_14071.json | 25 | {"template":"http/exposures/files/readme-md.yaml","template-url":"https://cloud.projectdiscovery.io/public/readme-md","t | CODE |
| MEDIUM | helm/defectdojo/values.yaml | 386 | # -- To extra environment variables to the nginx container, you can use extraEnv. For example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/content/supported_tools/parsers/file/talisman.md | 15 | DEFECTDOJO_API_KEY="your-api-key" | CODE |
| HIGH | …t/import_data/pro/specialized_import/external_tools.md | 49 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …t/import_data/pro/specialized_import/external_tools.md | 52 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/finding_test.py | 131 | CODE | |
| LOW | dojo/tools/locations.py | 18 | CODE | |
| LOW | dojo/tools/locations.py | 45 | CODE | |
| LOW | dojo/importers/auto_create_context.py | 268 | CODE | |
| LOW | dojo/finding/helper.py | 460 | CODE | |
| LOW | dojo/management/commands/import_all_unittest_scans.py | 66 | CODE | |
| LOW | dojo/jira/helper.py | 853 | CODE | |
| LOW | dojo/notifications/helper.py | 65 | CODE | |
| LOW | unittests/test_false_positive_history_logic.py | 1943 | CODE | |
| LOW | unittests/test_import_reimport.py | 3174 | CODE | |
| LOW | unittests/test_import_reimport.py | 3221 | CODE | |
| LOW | unittests/dojo_test_case.py | 617 | CODE | |
| LOW | unittests/dojo_test_case.py | 677 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_test.py | 223 | # along with the rest of the stub-finding scaffolding. | COMMENT |
| MEDIUM | unittests/scans/snyk/single_project_many_vulns.json | 1094 | "description": "## Overview\n[io.netty:netty-handler](https://github.com/netty/netty.git/netty-handler) is a libra | CODE |
| MEDIUM | unittests/scans/snyk/single_project_many_vulns.json | 3754 | "description": "## Overview\n[io.netty:netty-handler](https://github.com/netty/netty.git/netty-handler) is a lib | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dojo/finding/deduplication.py | 117 | Mark new_finding as a duplicate of existing_finding. Sets duplicate=True, active=False, verified=False, and du | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unittests/test_rest_framework.py | 222 | # TODO: implement OneOf / AllOff (enums) | COMMENT |
| LOW | unittests/test_rest_framework.py | 324 | # TODO: implement support for enum / OneOff / AllOff | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/test/ui/views.py | 861 | def handle_request( | CODE |
| LOW | dojo/engagement/ui/views.py | 768 | def handle_request( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run-integration-test-dev.sh | 5 | # Usage: | COMMENT |