Open-Source Unified Vulnerability Management, DevSecOps & ASPM
This report summarizes scanner evidence for DefectDojo/django-DefectDojo, a Python project with 4,993 GitHub stars. SynthScan examined 1,822,810 lines of code across 7526 source files, recording 10751 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 11.5 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 7880 finding(s).
Are imports declared and package/API names verified? 1621 finding(s).
Are wrappers, guards, and repeated structures necessary? 7995 finding(s).
Which changes need focused human review? 10751 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 10751 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | dojo/models.py | 11 | 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 | 6 | 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 | 8 | 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 | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/tools/ptart/ptart_parser_tools.py | 5 | 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 | 12 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | dojo/test/api_v3/routes.py | 31 | from django.core.exceptions import ValidationError as DjangoValidationError | 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 | 1225 | return self.test.engagement.product.github_pkey_set.all()[0].git_conf | CODE |
| CRITICAL | dojo/finding/ui/forms.py | 3 | 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/user/api_v3/routes.py | 26 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | dojo/product/api_v3/routes.py | 34 | from django.core.exceptions import ValidationError as DjangoValidationError | 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/engagement/api_v3/routes.py | 30 | from django.core.exceptions import ValidationError as DjangoValidationError | 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/product_type/api_v3/routes.py | 31 | from django.core.exceptions import ValidationError as DjangoValidationError | 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/api_v3/subresources.py | 50 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | dojo/cicd_infrastructure/models.py | 1 | 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 | …o/db_migrations/0287_vulnerability_id_entity_tables.py | 44 | "indexes": [django.contrib.postgres.indexes.GinIndex(django.contrib.postgres.search.SearchVector("vulner | 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_importers_deleted_target.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_authorization_queryset_coverage.py | 132 | self.product.prod_type.__class__.objects.count(), | CODE |
| CRITICAL⚡ | unittests/test_cicd_infrastructure.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_bulk_finding_authorization.py | 166 | self.other_finding.test.engagement.product.authorized_users.add(user) | CODE |
| CRITICAL | unittests/test_importers_importer.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_importers_blank_engagement_status.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | unittests/test_location_models.py | 2 | from django.core.exceptions import ValidationError | CODE |
| 920 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/notifications_test.py | 41 | def test_disable_personal_notification(self): | CODE |
| LOW | tests/notifications_test.py | 57 | def test_enable_personal_notification(self): | CODE |
| LOW | tests/notifications_test.py | 70 | def test_disable_system_notification(self): | CODE |
| LOW | tests/notifications_test.py | 86 | def test_enable_system_notification(self): | CODE |
| LOW | tests/notifications_test.py | 100 | def test_disable_template_notification(self): | CODE |
| LOW | tests/notifications_test.py | 116 | def test_enable_template_notification(self): | CODE |
| LOW | tests/notifications_test.py | 129 | 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 | 57 | def test_close_new_engagement(self): | CODE |
| LOW | tests/engagement_test.py | 69 | def test_delete_new_closed_engagement(self): | CODE |
| LOW | tests/engagement_test.py | 84 | 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 | 100 | def disable_user_profile_writing(self): | CODE |
| LOW | tests/user_test.py | 116 | def test_user_edit_permissions(self): | CODE |
| LOW | tests/user_test.py | 171 | def test_user_with_writer_role_delete(self): | CODE |
| LOW | tests/user_test.py | 208 | def test_user_profile_form_disabled(self): | CODE |
| LOW | tests/user_test.py | 214 | def test_user_profile_form_enabled(self): | CODE |
| LOW | tests/user_test.py | 231 | 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 | 41 | def assert_report_charts_painted(self, chart_ids): | CODE |
| LOW | tests/report_builder_test.py | 168 | def test_product_endpoint_report(self): | CODE |
| LOW | tests/report_builder_test.py | 241 | def test_toc_anchor_rejects_injected_heading(self): | CODE |
| LOW⚡ | tests/report_builder_test.py | 274 | def add_report_tests_to_suite(suite): | CODE |
| LOW | tests/false_positive_history_test.py | 76 | def edit_toggle_false_positive(self, finding_url): | CODE |
| LOW | tests/false_positive_history_test.py | 115 | def test_retroactive_edit_finding(self): | CODE |
| LOW | tests/false_positive_history_test.py | 145 | 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 | 61 | def test_create_dismissable_announcement(self): | CODE |
| LOW | tests/announcement_banner_test.py | 82 | def test_dismissing_announcement_does_not_dismiss_for_others(self): | CODE |
| LOW | tests/announcement_banner_test.py | 108 | def test_announcement_ui_disabled_when_set(self): | CODE |
| LOW | tests/announcement_banner_test.py | 126 | 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 | 110 | def test_add_same_engagement_engagement(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 132 | def test_import_same_engagement_tests(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 193 | def test_check_endpoint_status(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 202 | def test_add_same_product_engagement(self): | CODE |
| LOW⚡ | tests/close_old_findings_dedupe_test.py | 240 | 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 | 171 | def test_close_same_engagement_tests(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 278 | def test_close_same_product_tests(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 300 | def test_check_same_product_status(self): | CODE |
| LOW | tests/close_old_findings_dedupe_test.py | 304 | def add_close_old_tests_to_suite(suite, *, jira=False, github=False, block_execution=False): | CODE |
| 6664 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 | 105 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 108 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 124 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 130 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 196 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 199 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 231 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_dedupe_test.py | 237 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 21 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 23 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 179 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 182 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 311 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 317 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 379 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dedupe_test.py | 382 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 104 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 107 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 450 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dedupe_test.py | 452 | # -------------------------------------------------------------------------------------------------------- | 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 | 62 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 64 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 79 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 85 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 147 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 150 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 182 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/close_old_findings_test.py | 188 | # -------------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/admin.py | 39 | # ============================== | COMMENT |
| MEDIUM | dojo/admin.py | 41 | # ============================== | COMMENT |
| MEDIUM | dojo/utils.py | 977 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils.py | 996 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils_ssrf.py | 111 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/utils_ssrf.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 713 | # --------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 729 | # -------------------- | COMMENT |
| MEDIUM | dojo/metrics/views.py | 763 | # -------------------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 780 | # -------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 785 | # ---------------------------------- | COMMENT |
| MEDIUM⚡ | dojo/metrics/views.py | 795 | # ------------- | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 761 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 763 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 772 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 774 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 976 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 978 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 983 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 985 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2256 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2258 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2267 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2269 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2272 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2274 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2277 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | dojo/settings/settings.dist.py | 2279 | # ------------------------------------------------------------------------------ | COMMENT |
| 355 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dojo/tools/quay/parser.py | 0 | mirror of the connector's htmlflattener: drop script/style, block tags become newlines. | STRING |
| HIGH | dojo/tools/intigriti/parser.py | 0 | mirror of the connector's htmlflattener: drop script/style, block tags become newlines. | STRING |
| HIGH | dojo/tools/fairwinds/parser.py | 0 | mirror of the connector's htmlflattener: drop script/style, block tags become newlines. | STRING |
| HIGH | dojo/tools/quay/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/nightfall/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/accuknox/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/nowsecure/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/netrise/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/calicocloud/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/fairwinds/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/elastic_security_detections/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/datadog/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/fleet_vulnerabilities/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/wallarm/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| HIGH | dojo/tools/elastic_security_cnvm/parser.py | 0 | return the list of fields used for deduplication in the elastic security cnvm parser. copied from the elastic security c | STRING |
| 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/endorlabs/parser.py | 0 | trim every line, collapse runs of blank lines to one, and drop trailing blanks. | STRING |
| HIGH | dojo/tools/intigriti/parser.py | 0 | trim every line, collapse runs of blank lines to one, and drop trailing blanks. | STRING |
| HIGH | dojo/tools/insightappsec/parser.py | 0 | trim every line, collapse runs of blank lines to one, and drop trailing blanks. | STRING |
| HIGH | dojo/tools/endorlabs/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/fossa/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/detectify/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/codacy/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/crowdstrike_spotlight/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/deepsource/parser.py | 0 | return the list of fields used for deduplication in the deepsource parser. copied from the deepsource block in the pro c | STRING |
| HIGH | dojo/tools/escape/parser.py | 0 | return the list of fields used for deduplication in the halo security parser. copied from the halo security block in the | STRING |
| HIGH | dojo/tools/bright/parser.py | 0 | return the list of fields used for deduplication in the halo security parser. copied from the halo security block in the | STRING |
| HIGH | dojo/tools/halosecurity/parser.py | 0 | return the list of fields used for deduplication in the halo security parser. copied from the halo security block in the | STRING |
| HIGH | dojo/tools/escape/parser.py | 0 | read a cwe id off "cwe-89" or a bare number; anything else is no cwe. | STRING |
| HIGH | dojo/tools/bright/parser.py | 0 | read a cwe id off "cwe-89" or a bare number; anything else is no cwe. | STRING |
| HIGH | dojo/tools/akto/parser.py | 0 | read a cwe id off "cwe-89" or a bare number; anything else is no cwe. | STRING |
| HIGH | dojo/tools/escape/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/insightappsec/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/bright/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/intruder/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/holm_security/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/akto/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/fortytwocrunch/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/wallarm/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/probely/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/fleet_policies/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/beagle/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/yeswehack/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/codacy/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/fleet_vulnerabilities/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/crowdstrike_spotlight/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/halosecurity/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/elastic_security_cnvm/parser.py | 0 | whether defectdojo will accept this as an endpoint host. a host is letters, digits, dot, hyphen, underscore or plus, or | STRING |
| HIGH | dojo/tools/ostorlab/parser.py | 0 | a host is letters, digits, dot, hyphen, underscore or plus, or an ip address. | STRING |
| HIGH | dojo/tools/groupib/parser.py | 0 | a host is letters, digits, dot, hyphen, underscore or plus, or an ip address. | STRING |
| HIGH | dojo/tools/soos/parser.py | 0 | a host is letters, digits, dot, hyphen, underscore or plus, or an ip address. | 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 |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/report_builder_test.py | 269 | self.assertIsNone(driver.execute_script("return window.__tocXss || null;")) | CODE |
| HIGH⚡ | tests/report_builder_test.py | 269 | self.assertIsNone(driver.execute_script("return window.__tocXss || null;")) | CODE |
| HIGH | dojo/tools/composer_audit/parser.py | 120 | The CVE is a top-level field but is often null, in which case the GitHub advisory id from | STRING |
| HIGH | dojo/tools/checkmarx_osa/parser.py | 128 | # 1->2 = Certain (0 is like null) | COMMENT |
| HIGH | dojo/test/ui/views.py | 705 | jira_services.push(new_finding) | CODE |
| HIGH | dojo/importers/default_importer.py | 363 | jira_services.push(findings[0].finding_group) | CODE |
| HIGH | dojo/importers/default_importer.py | 365 | jira_services.push(findings[0]) | CODE |
| HIGH | dojo/importers/default_importer.py | 473 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 896 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 1477 | jira_services.push(object_to_push) | CODE |
| HIGH | dojo/importers/default_reimporter.py | 1498 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/finding/services.py | 205 | jira_services.push(new_finding) | CODE |
| HIGH | dojo/finding/services.py | 300 | success, message = jira_services.push(finding, force_sync=True) | CODE |
| HIGH | dojo/finding/helper.py | 279 | jira_services.push(finding_group) | CODE |
| HIGH | dojo/finding/helper.py | 307 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/helper.py | 385 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/helper.py | 498 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding/helper.py | 500 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/helper.py | 617 | jira_services.push(object_to_push) | CODE |
| HIGH | dojo/finding/helper.py | 1707 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1055 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1338 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1396 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding/ui/views.py | 1607 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 1701 | jira_services.push(finding.finding_group) | CODE |
| HIGH | dojo/finding/ui/views.py | 2864 | jira_services.push(group) | CODE |
| HIGH | dojo/finding/ui/views.py | 2915 | jira_services.push(finding) | CODE |
| HIGH | dojo/finding/ui/views.py | 3312 | if jira_services.push_succeeded(jira_services.push(finding)): | CODE |
| HIGH | dojo/finding/api/serializer.py | 588 | success, message = jira_services.push(instance, force_sync=True) | CODE |
| HIGH | dojo/finding/api/serializer.py | 771 | jira_services.push(new_finding) | CODE |
| HIGH | dojo/finding/api_v3/schemas.py | 146 | rows ``[{location: {id, name, type}, status, audit_time, auditor: {id, name}|null}]``. | STRING |
| HIGH | dojo/risk_acceptance/helper.py | 128 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 181 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 227 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 255 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 449 | jira_services.push(finding) | CODE |
| HIGH | dojo/risk_acceptance/helper.py | 489 | jira_services.push(finding) | CODE |
| HIGH | dojo/api_v2/exception_handler.py | 51 | (foreign key, not-null, check constraint) points at a defect on our side | STRING |
| HIGH | dojo/api_v3/errors.py | 225 | key, not-null, check constraint) points at a defect on our side and must keep surfacing as a | STRING |
| HIGH | dojo/finding_group/views.py | 102 | jira_services.push(finding_group, force_sync=True) | CODE |
| HIGH | dojo/finding_group/views.py | 199 | if jira_services.push_succeeded(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/test_apiv2_unique_violation_conflict.py | 25 | (foreign key, not-null, check constraints) indicate a server-side defect and | STRING |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/base_test_class.py | 482 | CODE | |
| LOW | tests/questionnaire_advanced_test.py | 144 | CODE | |
| LOW | dojo/tasks.py | 176 | CODE | |
| LOW | dojo/forms.py | 556 | CODE | |
| LOW | dojo/utils.py | 135 | CODE | |
| LOW | dojo/utils.py | 234 | CODE | |
| LOW | dojo/utils.py | 311 | CODE | |
| LOW | dojo/utils.py | 420 | CODE | |
| LOW | dojo/utils.py | 510 | CODE | |
| LOW | dojo/utils.py | 1066 | CODE | |
| LOW | dojo/utils.py | 1171 | CODE | |
| LOW | dojo/utils.py | 1285 | CODE | |
| LOW | dojo/utils.py | 1679 | CODE | |
| LOW | dojo/utils.py | 1857 | CODE | |
| LOW | dojo/utils.py | 2154 | CODE | |
| LOW | dojo/utils.py | 2370 | CODE | |
| LOW | dojo/filters.py | 313 | CODE | |
| LOW | dojo/views.py | 44 | 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 | 166 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 275 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 379 | CODE | |
| LOW | dojo/templatetags/display_tags.py | 841 | CODE | |
| LOW | dojo/metrics/views.py | 165 | CODE | |
| LOW | dojo/system_settings/ui/views.py | 52 | CODE | |
| LOW | dojo/tools/utils.py | 78 | CODE | |
| LOW | dojo/tools/testssl/parser.py | 20 | CODE | |
| LOW | dojo/tools/qualys/csv_parser.py | 180 | CODE | |
| LOW | dojo/tools/qualys/parser.py | 204 | CODE | |
| LOW | dojo/tools/retirejs/parser.py | 23 | CODE | |
| LOW | dojo/tools/retirejs/parser.py | 70 | CODE | |
| LOW | dojo/tools/appspider/parser.py | 95 | CODE | |
| LOW | dojo/tools/ggshield/parser.py | 24 | CODE | |
| LOW | dojo/tools/anchore_engine/parser.py | 100 | CODE | |
| LOW | dojo/tools/burp_api/parser.py | 32 | CODE | |
| LOW | dojo/tools/burp_api/parser.py | 107 | CODE | |
| LOW | dojo/tools/finitestate/parser.py | 115 | CODE | |
| LOW | dojo/tools/escape/parser.py | 88 | CODE | |
| LOW | dojo/tools/php_security_audit_v2/parser.py | 19 | CODE | |
| LOW | dojo/tools/nightfall/parser.py | 148 | CODE | |
| LOW | dojo/tools/bundler_audit/parser.py | 21 | CODE | |
| LOW | dojo/tools/immuniweb/parser.py | 117 | CODE | |
| LOW | dojo/tools/pip_audit/parser.py | 56 | CODE | |
| LOW | dojo/tools/talisman/parser.py | 25 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 473 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 528 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 560 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 601 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 150 | CODE | |
| LOW | dojo/tools/sarif/parser.py | 336 | CODE | |
| LOW | dojo/tools/semgrep_pro/parser.py | 20 | CODE | |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 95 | CODE | |
| LOW | dojo/tools/npm_audit_7_plus/parser.py | 184 | CODE | |
| LOW | dojo/tools/burp_dastardly/parser.py | 27 | CODE | |
| LOW | dojo/tools/anchorectl_vulns/parser.py | 16 | CODE | |
| 393 more matches not shown… | ||||
| 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 | 24 | 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 | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/forms.py | 73 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/utils.py | 93 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/celery.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/urls.py | 94 | 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 | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/views.py | 26 | 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 | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/metrics/utils.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/metrics/views.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/settings/settings.dist.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tool_type/ui/views.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tool_type/api/views.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/system_settings/ui/views.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/note_type/ui/views.py | 14 | 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 | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/promptfoo/parser.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/burp_api/parser.py | 9 | 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 | 15 | 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 | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | dojo/tools/fortify/fpr_parser.py | 13 | 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 | 9 | 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 |
| 285 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/tasks.py | 24 | CODE | |
| LOW | dojo/tasks.py | 24 | CODE | |
| LOW | dojo/tasks.py | 24 | CODE | |
| LOW | dojo/tasks.py | 147 | CODE | |
| LOW | dojo/models.py | 22 | CODE | |
| LOW | dojo/models.py | 126 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 127 | CODE | |
| LOW | dojo/models.py | 137 | CODE | |
| LOW | dojo/models.py | 148 | 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 | 367 | CODE | |
| LOW | dojo/models.py | 368 | CODE | |
| LOW | dojo/models.py | 378 | CODE | |
| LOW | dojo/models.py | 379 | CODE | |
| LOW | dojo/models.py | 379 | CODE | |
| LOW | dojo/models.py | 379 | CODE | |
| LOW | dojo/models.py | 380 | CODE | |
| LOW | dojo/models.py | 380 | CODE | |
| LOW | dojo/models.py | 385 | CODE | |
| LOW | dojo/models.py | 385 | CODE | |
| LOW | dojo/models.py | 385 | CODE | |
| LOW | dojo/models.py | 412 | CODE | |
| LOW | dojo/models.py | 412 | CODE | |
| LOW | dojo/models.py | 412 | CODE | |
| LOW | dojo/models.py | 412 | CODE | |
| LOW | dojo/models.py | 412 | CODE | |
| LOW | dojo/models.py | 421 | CODE | |
| LOW | dojo/models.py | 421 | CODE | |
| LOW | dojo/models.py | 479 | CODE | |
| LOW | dojo/models.py | 479 | CODE | |
| LOW | dojo/models.py | 479 | CODE | |
| LOW | dojo/models.py | 484 | CODE | |
| LOW | dojo/models.py | 485 | CODE | |
| LOW | dojo/models.py | 485 | CODE | |
| LOW | dojo/models.py | 485 | CODE | |
| LOW | dojo/models.py | 485 | CODE | |
| LOW | dojo/models.py | 485 | CODE | |
| LOW | dojo/models.py | 492 | CODE | |
| 327 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 | 219 | except Exception as e: | CODE |
| LOW | dojo/tasks.py | 253 | except Exception as e: | CODE |
| LOW | dojo/tasks.py | 259 | except Exception as e: | CODE |
| LOW | dojo/product_announcements.py | 61 | except Exception: | CODE |
| LOW | dojo/context_processors.py | 79 | except Exception: | CODE |
| MEDIUM | dojo/utils.py | 1234 | def get_celery_queue_length(): | CODE |
| LOW | dojo/utils.py | 406 | except Exception: | CODE |
| LOW | dojo/utils.py | 546 | except Exception: | CODE |
| LOW | dojo/utils.py | 557 | except Exception: | CODE |
| LOW | dojo/utils.py | 577 | except Exception: | CODE |
| LOW | dojo/utils.py | 584 | except Exception: | CODE |
| LOW | dojo/utils.py | 613 | except Exception: | CODE |
| LOW | dojo/utils.py | 1230 | except Exception: | CODE |
| LOW | dojo/utils.py | 1242 | except Exception: | CODE |
| LOW | dojo/utils.py | 1280 | except Exception: | CODE |
| LOW | dojo/utils.py | 1297 | except Exception: | CODE |
| LOW | dojo/utils.py | 1323 | except Exception: | CODE |
| LOW | dojo/utils_ssrf.py | 91 | 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 | 351 | except Exception: | CODE |
| LOW | dojo/middleware.py | 157 | 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 | 217 | 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 | 210 | except Exception: | CODE |
| LOW | dojo/tools/qualys/csv_parser.py | 259 | except Exception: | CODE |
| LOW | dojo/tools/qualys/parser.py | 238 | except Exception: | CODE |
| LOW | dojo/tools/php_security_audit_v2/parser.py | 23 | 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 | 28 | except Exception: | CODE |
| LOW | dojo/tools/snyk_issue_api/parser.py | 30 | except Exception: | CODE |
| MEDIUM | dojo/tools/snyk_issue_api/parser.py | 23 | 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 | 159 | except Exception: | CODE |
| LOW | dojo/tools/rusty_hog/parser.py | 24 | except Exception: | CODE |
| LOW | dojo/tools/veracode_sca/parser.py | 75 | except Exception: | CODE |
| LOW | dojo/tools/veracode_sca/parser.py | 214 | except Exception: | CODE |
| LOW | dojo/tools/netsparker/parser.py | 47 | except Exception: | CODE |
| LOW | dojo/tools/netsparker/parser.py | 59 | except Exception: | CODE |
| LOW | dojo/tools/legitify/parser.py | 33 | except Exception: | CODE |
| LOW | dojo/tools/legitify/parser.py | 35 | except Exception: | CODE |
| MEDIUM | dojo/tools/legitify/parser.py | 28 | def parse_json(self, file): | CODE |
| LOW | dojo/tools/api_sonarqube/importer.py | 255 | except Exception as e: | CODE |
| 214 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 | 898 | # 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 | 102 | # Create a copy of ALLOWED_ATTRIBUTES to avoid mutating the global | COMMENT |
| MEDIUM | dojo/settings/settings.dist.py | 2115 | # Create a unique finding for all findings in qualys WAS parser | COMMENT |
| MEDIUM | dojo/tools/cred_scan/parser.py | 40 | # 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 | 89 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/checkmarx_one/parser.py | 186 | # Create the finding object | COMMENT |
| MEDIUM | dojo/tools/osv_scanner/parser.py | 135 | # 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 | 206 | # Create the Location object from the url | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 215 | # Create the Location object from all the pieces | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 226 | # Create the Endpoint object from the url | COMMENT |
| MEDIUM | dojo/tools/veracode/json_parser.py | 235 | # Create the Endpoint object from all of the pieces | COMMENT |
| MEDIUM | dojo/tools/sonarqube/soprasteria_helper.py | 52 | # Create the finding and add it into the dupes list | COMMENT |
| MEDIUM | dojo/tools/sonarqube/soprasteria_helper.py | 111 | # 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 | 540 | # Create the header row | STRING |
| MEDIUM⚡ | dojo/tools/trivy/parser.py | 543 | # Create the table string | STRING |
| MEDIUM | dojo/test/ui/views.py | 588 | # Create a notification | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 334 | # Create a new test if it has not already been created | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 598 | # Create a dictionary to stuff into the test import object | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 643 | # Create the test import object | COMMENT |
| MEDIUM | dojo/importers/base_importer.py | 654 | # Create a history record for each finding | COMMENT |
| MEDIUM | dojo/importers/default_importer.py | 142 | # Create a test import history object to record the flags sent to the importer | COMMENT |
| MEDIUM | dojo/importers/default_importer.py | 492 | # Create a new test if it has not already been created | COMMENT |
| MEDIUM | dojo/importers/auto_create_context.py | 261 | # Create the product | COMMENT |
| MEDIUM | dojo/importers/auto_create_context.py | 321 | # Create the engagement | COMMENT |
| MEDIUM | dojo/importers/default_reimporter.py | 158 | # 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 | 615 | # Create the note object | COMMENT |
| MEDIUM | dojo/finding/api/serializer.py | 773 | # Create a notification | COMMENT |
| MEDIUM | dojo/location/models.py | 463 | # Create the list of hashes of the supplied locations; we will also use this to reconstruct the initial ordering | 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 | dojo/product/ui/views.py | 1549 | # Create the necessary nested objects | COMMENT |
| MEDIUM | dojo/product/ui/views.py | 1561 | # Create the necessary nested objects | COMMENT |
| MEDIUM | dojo/url/models.py | 442 | # Create the initial object, assuming no exceptions are thrown | COMMENT |
| MEDIUM | dojo/url/ui/views.py | 221 | # Create the product tab for the view | COMMENT |
| MEDIUM | dojo/url/ui/views.py | 316 | # Create the product tab for the view | COMMENT |
| MEDIUM | dojo/engagement/ui/views.py | 974 | # Create the engagement if necessary | COMMENT |
| MEDIUM | dojo/jira/helper.py | 1070 | # 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 | dojo/reports/queries.py | 14 | # This function is the single authority for the report's finding prefetch set. The caller may | COMMENT |
| MEDIUM | unittests/test_false_positive_history_logic.py | 1824 | # 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 |
| MEDIUM⚡ | unittests/test_endpoint_model.py | 172 | # Define the product | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | dojo/utils.py | 1918 | # Step 1: Determine finding scope | COMMENT |
| LOW⚡ | dojo/utils.py | 1925 | # Step 2: Prepare duplicate clusters (must happen before any deletion) | COMMENT |
| LOW⚡ | dojo/utils.py | 1930 | # Step 3: Delete the main scope findings | COMMENT |
| LOW⚡ | dojo/utils.py | 1938 | # Step 4: Delete all remaining related objects (Tests, Engagements, | COMMENT |
| LOW⚡ | dojo/utils.py | 1947 | # Step 5: Delete the top-level object via ORM to fire Django signals | COMMENT |
| LOW⚡ | dojo/utils.py | 1952 | # 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 | 1342 | # NOTE: This function is recursive and does per-finding DB queries without prefetching. | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 61 | # Step 1: Create CICDInfrastructure model | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 76 | # Step 2: Remove old pgtrigger triggers FIRST. | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 96 | # Step 3: Add new FK fields to Engagement (before removing old ones) | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 136 | # Step 4: Migrate data from Tool_Configuration to CICDInfrastructure | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 149 | # Step 5: Remove old FK fields from Engagement | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 162 | # Step 6: Update pghistory event table FK fields to point to CICDInfrastructure | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 193 | # Step 7: Re-create pgtrigger triggers with new column names | 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 | 785 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 793 | # Step 3: Import again into engagement 2 → tries to deduplicate against A (mitigated), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 910 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 918 | # Step 3: Import again into engagement 2 → exception, finding B created as new active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 973 | # Step 5: Mitigate finding B | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 981 | # Step 6: Import again into engagement 4 → should find A (mitigated, exception), B (mitigated, exception), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2643 | # Step 3: test1's 4 findings must all still be active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2659 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2830 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW | unittests/test_import_reimport.py | 758 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 823 | # Step 4: Import again into engagement 3 → should find both A (mitigated) and B (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 886 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 944 | # Step 4: Import again into engagement 3 → should skip finding1 (mitigated, exception), | COMMENT |
| LOW | unittests/test_import_reimport.py | 2614 | # Step 1: import 4 findings into an existing test (test1) in the engagement. | COMMENT |
| LOW | unittests/test_import_reimport.py | 2625 | # Step 2: call the reimport endpoint with auto_create_context=True and a | COMMENT |
| LOW | unittests/test_import_reimport.py | 2704 | # Step 2: Reimport scan (same test) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2731 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2787 | # Step 4: Reimport scan in same new engagement (batch_size=50) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2869 | # Step 2: Import scan again (same engagement) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2895 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2950 | # 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/connectors/os_jira/os__jira_guide.md | 24 | ## Step 1: Enable the Jira integration in System Settings | COMMENT |
| LOW | docs/content/connectors/os_jira/os__jira_guide.md | 64 | ## Step 2: Connect a Jira Instance | COMMENT |
| LOW | docs/content/connectors/os_jira/os__jira_guide.md | 161 | ## Step 3: Connect an Asset or Engagement to Jira | COMMENT |
| LOW | docs/content/connectors/os_jira/os__jira_guide.md | 284 | ## Step 4: Configure Bidirectional Sync: Jira Webhook | COMMENT |
| LOW | docs/content/connectors/os_jira/os__jira_guide.md | 513 | #### Step 1: Record the names of your Custom Fields in Jira | COMMENT |
| LOW | docs/content/connectors/os_jira/os__jira_guide.md | 525 | #### Step 2: Finding your Jira Custom Field Key Values | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 330 | ## Step 4: Configure Bidirectional Sync: Jira Webhook | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 605 | #### Step 1: Record the names of your Custom Fields in Jira | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 617 | #### Step 2: Finding your Jira Custom Field Key Values | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 641 | #### Step 3 - Finding the Custom Fields on a Jira Issue | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 656 | #### Step 4 - Creating a JSON Field Reference from each Jira Custom Field Key | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 778 | #### Step 5 - Adding the Custom Fields to a DefectDojo Product | COMMENT |
| LOW | …cs/content/connectors/downstream/PRO__jira_guide.ja.md | 782 | #### Step 6 - Testing your Jira Custom Fields from a new Finding: | COMMENT |
| LOW | docs/content/connectors/downstream/PRO__jira_guide.md | 83 | ## Step 1: Enable the Jira integration in System Settings | COMMENT |
| LOW | docs/content/connectors/downstream/PRO__jira_guide.md | 113 | ## Step 2: Connect a Jira Instance | COMMENT |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/settings/settings.dist.py | 2126 | # 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 | 304 | # If we have an engagement, we cna just return it | COMMENT |
| LOW | unittests/test_import_reimport.py | 1461 | # and the logic below will get confused and just create a new finding | COMMENT |
| MEDIUM⚡ | unittests/test_deduplication_logic.py | 2025 | # '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 |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/settings/settings.dist.py | 2136 | TAGULOUS_AUTOCOMPLETE_SETTINGS = {"placeholder": "Enter some tags (comma separated, use enter to select / create a new t | CODE |
| LOW | dojo/finding/ui/filters.py | 259 | date_input_widget = forms.DateInput(attrs={"class": "datepicker", "placeholder": "YYYY-MM-DD"}, format="%Y-%m-%d | 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 | 69 | $(this).attr("placeholder", label.html().replace(':', "...")); | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2236 | result = self.client.patch(self.url + "2/", data={"steps_to_reproduce": "Lorem ipsum dolor sit amet"}) | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2236 | result = self.client.patch(self.url + "2/", data={"steps_to_reproduce": "Lorem ipsum dolor sit amet"}) | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2238 | self.assertEqual(result.json()["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2238 | self.assertEqual(result.json()["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2249 | self.assertEqual(result_json["results"][0]["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_rest_framework.py | 2249 | self.assertEqual(result_json["results"][0]["steps_to_reproduce"], "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | unittests/test_finding_model.py | 411 | finding.references = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr" | CODE |
| LOW⚡ | unittests/test_finding_model.py | 411 | finding.references = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr" | CODE |
| LOW⚡ | unittests/test_finding_model.py | 412 | self.assertEqual("Lorem ipsum dolor sit amet, consetetur sadipscing elitr", finding.get_references_with_links()) | CODE |
| LOW⚡ | unittests/test_finding_model.py | 412 | 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 | 202 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW⚡ | unittests/tools/test_ptart_parser.py | 202 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 191 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 191 | "caption": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 944 | self.assertEqual("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt | CODE |
| LOW | unittests/tools/test_ptart_parser.py | 944 | 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/capa/one_finding.json | 927 | "user@example.org", | CODE |
| LOW | unittests/scans/capa/one_finding.json | 928 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 927 | "user@example.org", | CODE |
| LOW | unittests/scans/capa/many_findings.json | 928 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1151 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1226 | "user@example.org", | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1227 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1450 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1616 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1672 | "user@example.org" | CODE |
| LOW | unittests/scans/capa/many_findings.json | 1785 | "user@example.org" | 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 |
| 101 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 | 67 | # Check if there was an error stored on the request (from middleware) | COMMENT |
| LOW | dojo/utils.py | 895 | # Check if threat folder exist. | COMMENT |
| LOW | dojo/tools/qualys/parser.py | 188 | # Check if CVSS field contains the CVSS vector | COMMENT |
| LOW | dojo/tools/sarif/parser.py | 479 | # Check if this is a CWE taxonomy reference | COMMENT |
| LOW | dojo/tools/snyk_issue_api/parser.py | 62 | # 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 | 43 | # 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 | 74 | # 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 | 205 | # 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 | 830 | # Check if all needed settings are defined | COMMENT |
| LOW⚡ | dojo/finding/models.py | 837 | # Check if hash_code fields are found in the settings | COMMENT |
| LOW⚡ | dojo/finding/models.py | 843 | # Check if all elements of HASHCODE_FIELDS_PER_SCANNER are in HASHCODE_ALLOWED_FIELDS | COMMENT |
| LOW | dojo/finding/models.py | 1261 | # Check if a mandatory field is empty. If it's the case, fill it with "no <fieldName> given" | COMMENT |
| LOW | dojo/finding/models.py | 1462 | # Check if match isn't already a markdown link | COMMENT |
| LOW | dojo/finding/ui/views.py | 1317 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 1590 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 1684 | # Check if there is a jira issue that needs to be updated | COMMENT |
| LOW | dojo/finding/ui/views.py | 2552 | # Check if finding is duplicate and user wants to set active/verified | COMMENT |
| LOW | dojo/location/models.py | 147 | # Check if there is an existing reference for this finding and location | COMMENT |
| LOW | dojo/location/models.py | 194 | # 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 | 328 | # Check if it's a valid IP address first | COMMENT |
| LOW | dojo/url/ui/views.py | 496 | # Check if the uploaded file exceeds the maximum allowed size | COMMENT |
| LOW | dojo/engagement/ui/views.py | 645 | # 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/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 |
| LOW⚡ | dojo/db_migrations/0187_nessus_to_tenable.py | 26 | # Check if tenable is already in list somehow before adding it | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.override.unit_tests.yml | 21 | DD_DATABASE_PORT: ${DD_DATABASE_PORT:-5432} | COMMENT |
| LOW | docker-compose.override.unit_tests_cicd.yml | 21 | DD_DATABASE_HOST: ${DD_DATABASE_HOST:-postgres} | COMMENT |
| LOW | docker-compose.override.unit_tests_cicd.yml | 41 | # full | prepare | reuse -- see docker/entrypoint-unit-tests.sh. CI sets | COMMENT |
| LOW | docker-compose.yml | 1 | # This docker-compose.yml file is fully functional to evaluate DefectDojo | COMMENT |
| LOW | manage.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | docker/entrypoint-unit-tests.sh | 21 | # echo "Creating settings.py" | COMMENT |
| LOW | docker/entrypoint-unit-tests.sh | 121 | if [ "${DD_TEST_DB_MODE}" = "prepare" ]; then | COMMENT |
| LOW | docker/entrypoint-integration-tests.sh | 81 | else | COMMENT |
| LOW | tests/false_positive_history_test.py | 21 | # Click on the 'Engagement' Dropdown button | COMMENT |
| LOW | tests/test_test.py | 61 | # Click on the 'Engagement' Dropdown button | COMMENT |
| LOW | tests/test_test.py | 81 | # "Click" the 'Add Test' button to Add Test to engagement. | COMMENT |
| LOW | tests/test_test.py | 161 | driver.find_element(By.LINK_TEXT, "Add Finding to Test").click() | 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 | COMMENT | |
| LOW | dojo/signals.py | 1 | from django.dispatch import Signal | COMMENT |
| LOW | dojo/models.py | 681 | # Development_Environment admin registered in dojo/development_environment/admin.py | COMMENT |
| LOW | dojo/apps.py | 21 | # logger.info('ready(): initializing watson') | COMMENT |
| LOW | dojo/apps.py | 81 | watson.register(app_config.get_model("Finding"), fields=get_model_fields_with_extra(app_config.get_model("Finding"), | COMMENT |
| LOW | dojo/apps.py | 101 | COMMENT | |
| LOW | dojo/utils.py | 981 | # via dojo_crypto_encrypt(); existing "AES.1" values upgrade lazily the next | COMMENT |
| LOW | dojo/celery.py | 181 | # for task in tasks: | COMMENT |
| LOW | dojo/db_utils.py | 1 | """Database-level helpers that are not tied to any particular model or app.""" | COMMENT |
| LOW | dojo/middleware.py | 161 | # Only store the first error to avoid duplicates | 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 | 181 | # enable either DD_SLA_NOTIFY_ACTIVE or DD_SLA_NOTIFY_ACTIVE_VERIFIED_ONLY to enable the feature. | COMMENT |
| LOW | dojo/settings/settings.dist.py | 201 | # Connection timeout (seconds) for establishing a connection to the JIRA server | COMMENT |
| LOW | dojo/settings/settings.dist.py | 221 | # fields (e.g. backdate a mitigation) from both the UI and the API. Off by default | COMMENT |
| LOW | dojo/settings/settings.dist.py | 281 | # Set deduplication algorithms per parser, via en env variable that contains a JSON string | COMMENT |
| LOW | dojo/settings/settings.dist.py | 301 | # API v3 (alpha) ?expand= guard: maximum number of expanded relation nodes across all paths. See §4.6. | COMMENT |
| LOW | dojo/settings/settings.dist.py | 481 | COMMENT | |
| LOW | dojo/settings/settings.dist.py | 821 | COMMENT | |
| LOW | dojo/settings/settings.dist.py | 1101 | "expires": int(60 * 60 * 24 * 7 * 1.2), # If a task is not executed within 8.4 days, it should be dropped f | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1141 | # The fields must be one of HASHCODE_ALLOWED_FIELDS | COMMENT |
| LOW | dojo/settings/settings.dist.py | 1581 | # 'endpoints' is a pseudo field that uses the endpoints (for dynamic scanners). If `V3_FEATURE_LOCATIONS` is True, Dojo | COMMENT |
| LOW | dojo/settings/settings.dist.py | 2261 | AUDITLOG_FLUSH_MAX_BATCHES = env("DD_AUDITLOG_FLUSH_MAX_BATCHES") | COMMENT |
| LOW | dojo/settings/settings.dist.py | 2281 | # some pretty out of pocket things to correct this behaviors to correct this weirdness, and therefore | COMMENT |
| LOW | dojo/settings/settings.dist.py | 2341 | "debug_toolbar.panels.cache.CachePanel", | 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/promptfoo/parser.py | 21 | COMMENT | |
| LOW | dojo/tools/spotbugs/parser.py | 61 | mitigation += "\n\n#### Example\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 | 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 | # specific node for Android reports | 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/base_importer.py | 321 | # valid empty report. On import there is no Test yet and none can be named from the | COMMENT |
| LOW | dojo/importers/base_importer.py | 341 | # Accept either the current (idempotent) name or the legacy name the pre-patch code | COMMENT |
| LOW | dojo/importers/default_importer.py | 121 | # Close any old findings in the processed list if the the user specified for that | COMMENT |
| LOW | dojo/importers/location_manager.py | 41 | # Findings paired with their cleaned locations, in first-recorded order. | COMMENT |
| 85 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dojo/admin.py | 35 | except (ImportError, NotRegistered): | CODE |
| HIGH | dojo/utils.py | 1454 | except Language_Type.DoesNotExist: | CODE |
| HIGH | dojo/utils.py | 2302 | except ModuleNotFoundError: | CODE |
| HIGH | dojo/tools/hcl_appscan/parser.py | 133 | except UnboundLocalError: | CODE |
| HIGH | …tools/appcheck_web_application_scanner/engines/base.py | 283 | except (ValueError, TypeError): | CODE |
| HIGH | …tools/appcheck_web_application_scanner/engines/base.py | 342 | except CVSSError: | CODE |
| HIGH | dojo/tools/nuclei/parser.py | 110 | except ValueError: | CODE |
| HIGH | dojo/jira/helper.py | 272 | except JIRA_Project.DoesNotExist: | CODE |
| HIGH | dojo/jira/helper.py | 462 | except ModuleNotFoundError: | CODE |
| HIGH | …o/db_migrations/0156_migrate_finding_groups_setting.py | 19 | except: | CODE |
| HIGH | …jo/db_migrations/0047_jira_minimum_severity_default.py | 16 | except Exception as e: | CODE |
| HIGH | …b_migrations/0175_system_settings_enable_notify_sla.py | 19 | except: | CODE |
| HIGH | …b_migrations/0175_system_settings_enable_notify_sla.py | 30 | except: | CODE |
| HIGH | …b_migrations/0175_system_settings_enable_notify_sla.py | 41 | except: | CODE |
| HIGH | dojo/db_migrations/0147_rename_sslyze_parser.py | 10 | except Test_Type_model.DoesNotExist: | CODE |
| HIGH | dojo/db_migrations/0061_jira_webhook_secret.py | 21 | except Exception as e: | CODE |
| HIGH | dojo/auditlog/helpers.py | 98 | except LookupError: | CODE |
| HIGH | unittests/test_bulk_edit_validation.py | 216 | except (AttributeError, TypeError, ImportError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/content/supported_tools/parsers/file/talisman.md | 15 | DEFECTDOJO_API_KEY="your-api-key" | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.it.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.it.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.es.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.es.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.fr.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.fr.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.de.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.de.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.ja.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …mport_data/pro/specialized_import/external_tools.ja.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …_data/pro/specialized_import/external_tools.zh-hans.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …_data/pro/specialized_import/external_tools.zh-hans.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …rt_data/pro/specialized_import/external_tools.pt-br.md | 50 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …rt_data/pro/specialized_import/external_tools.pt-br.md | 53 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …t/import_data/pro/specialized_import/external_tools.md | 51 | `export DD_CLI_API_TOKEN=YOUR_API_KEY` | CODE |
| HIGH | …t/import_data/pro/specialized_import/external_tools.md | 54 | `export DD_IMPORTER_DOJO_API_TOKEN=YOUR_API_KEY` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | dojo/utils.py | 1918 | # Step 1: Determine finding scope | COMMENT |
| LOW⚡ | dojo/utils.py | 1925 | # Step 2: Prepare duplicate clusters (must happen before any deletion) | COMMENT |
| LOW⚡ | dojo/utils.py | 1930 | # Step 3: Delete the main scope findings | COMMENT |
| LOW⚡ | dojo/utils.py | 1938 | # Step 4: Delete all remaining related objects (Tests, Engagements, | COMMENT |
| LOW⚡ | dojo/utils.py | 1947 | # Step 5: Delete the top-level object via ORM to fire Django signals | COMMENT |
| LOW⚡ | dojo/utils.py | 1952 | # 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 | 604 | # the engagement doesn't exist, so we need to check if the user has | COMMENT |
| LOW | dojo/authorization/api_permissions.py | 819 | # the test doesn't exist, so we need to check if the user has | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 61 | # Step 1: Create CICDInfrastructure model | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 76 | # Step 2: Remove old pgtrigger triggers FIRST. | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 96 | # Step 3: Add new FK fields to Engagement (before removing old ones) | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 136 | # Step 4: Migrate data from Tool_Configuration to CICDInfrastructure | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 149 | # Step 5: Remove old FK fields from Engagement | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 162 | # Step 6: Update pghistory event table FK fields to point to CICDInfrastructure | COMMENT |
| LOW | dojo/db_migrations/0286_cicd_infrastructure.py | 193 | # Step 7: Re-create pgtrigger triggers with new column names | 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 | 785 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 793 | # Step 3: Import again into engagement 2 → tries to deduplicate against A (mitigated), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 910 | # Step 2: Mitigate finding A | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 918 | # Step 3: Import again into engagement 2 → exception, finding B created as new active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 973 | # Step 5: Mitigate finding B | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 981 | # Step 6: Import again into engagement 4 → should find A (mitigated, exception), B (mitigated, exception), | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2643 | # Step 3: test1's 4 findings must all still be active | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2659 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW⚡ | unittests/test_import_reimport.py | 2830 | # Step 1: Baseline import (default batch size) | COMMENT |
| LOW | unittests/test_import_reimport.py | 758 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 823 | # Step 4: Import again into engagement 3 → should find both A (mitigated) and B (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 886 | # Step 1: Import scan into engagement 1 → finding A (active) | COMMENT |
| LOW | unittests/test_import_reimport.py | 944 | # Step 4: Import again into engagement 3 → should skip finding1 (mitigated, exception), | COMMENT |
| LOW | unittests/test_import_reimport.py | 2614 | # Step 1: import 4 findings into an existing test (test1) in the engagement. | COMMENT |
| LOW | unittests/test_import_reimport.py | 2625 | # Step 2: call the reimport endpoint with auto_create_context=True and a | COMMENT |
| LOW | unittests/test_import_reimport.py | 2704 | # Step 2: Reimport scan (same test) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2731 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2787 | # Step 4: Reimport scan in same new engagement (batch_size=50) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2869 | # Step 2: Import scan again (same engagement) | COMMENT |
| LOW | unittests/test_import_reimport.py | 2895 | # Step 3: Import scan in NEW engagement with batch_size=50 | COMMENT |
| LOW | unittests/test_import_reimport.py | 2950 | # 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 | 314 | # gather findings over past half year, make sure to start on a sunday | COMMENT |
| LOW | dojo/templatetags/display_tags.py | 795 | # outputs html, so make sure to escape user provided fields | COMMENT |
| LOW | dojo/settings/settings.dist.py | 512 | # 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 |
|---|---|---|---|---|
| LOW | tests/finding_test.py | 131 | CODE | |
| LOW | dojo/tools/locations.py | 18 | CODE | |
| LOW | dojo/tools/locations.py | 45 | CODE | |
| LOW | dojo/tools/locations.py | 78 | CODE | |
| LOW | dojo/importers/services.py | 141 | CODE | |
| LOW | dojo/importers/services.py | 200 | CODE | |
| LOW | dojo/importers/services.py | 254 | CODE | |
| LOW | dojo/importers/auto_create_context.py | 280 | CODE | |
| LOW | dojo/finding/helper.py | 515 | CODE | |
| LOW | dojo/finding/api_v3/routes.py | 149 | CODE | |
| LOW | dojo/management/commands/import_all_unittest_scans.py | 66 | CODE | |
| LOW | dojo/product/api_v3/routes.py | 193 | CODE | |
| LOW | dojo/jira/helper.py | 914 | CODE | |
| LOW | dojo/notifications/helper.py | 65 | CODE | |
| LOW | unittests/test_false_positive_history_logic.py | 2069 | CODE | |
| LOW | unittests/test_import_reimport.py | 3177 | CODE | |
| LOW | unittests/test_import_reimport.py | 3224 | CODE | |
| LOW | unittests/dojo_test_case.py | 629 | CODE | |
| LOW | unittests/dojo_test_case.py | 689 | CODE | |
| LOW | unittests/api_v3/import_corpus_shim.py | 121 | CODE | |
| LOW | unittests/api_v3/import_corpus_shim.py | 140 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_test.py | 232 | # along with the rest of the stub-finding scaffolding. | COMMENT |
| MEDIUM | dojo/cicd_infrastructure/models.py | 28 | # via limit_choices_to (build_server/scm_server/orchestration), so changing the type would create a | 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 | 137 | 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 | run-integration-test-dev.sh | 5 | # Usage: | COMMENT |
| LOW | …laude/skills/defectdojo-parser/new-parser-checklist.sh | 9 | # Usage: | COMMENT |
| LOW | .claude/skills/defectdojo-dev/run-tests.sh | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unittests/test_rest_framework.py | 223 | # TODO: implement OneOf / AllOff (enums) | COMMENT |
| LOW | unittests/test_rest_framework.py | 325 | # TODO: implement support for enum / OneOff / AllOff | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dojo/test/ui/views.py | 867 | def handle_request( | CODE |
| LOW | dojo/engagement/ui/views.py | 787 | def handle_request( | CODE |