reNgine is an automated reconnaissance framework for web applications with a focus on highly configurable streamlined recon process via Engines, recon data correlation and organization, continuous monitoring, backed by a database, and simple yet intuitive User Interface. reNgine makes it easy for penetration testers to gather reconnaissance with minimal configuration and with the help of reNgine's correlation, it just makes recon effortless.
This report summarizes scanner evidence for yogeshojha/rengine, a HTML project with 8,874 GitHub stars. SynthScan examined 57,814 lines of code across 257 source files, recording 361 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 6.7 (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? 124 finding(s).
Are imports declared and package/API names verified? 142 finding(s).
Are wrappers, guards, and repeated structures necessary? 161 finding(s).
Which changes need focused human review? 361 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 361 distinct pattern matches across 14 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 |
|---|---|---|---|---|
| LOW | web/recon_note/models.py | 2 | CODE | |
| LOW | web/recon_note/admin.py | 2 | CODE | |
| LOW | web/recon_note/tests.py | 1 | CODE | |
| LOW | web/recon_note/urls.py | 1 | CODE | |
| LOW | web/recon_note/urls.py | 2 | CODE | |
| LOW | web/recon_note/views.py | 6 | CODE | |
| LOW | web/recon_note/views.py | 7 | CODE | |
| LOW | web/tests/test_scan.py | 2 | CODE | |
| LOW | web/tests/test_scan.py | 12 | CODE | |
| LOW | web/tests/test_scan.py | 12 | CODE | |
| LOW | web/tests/test_scan.py | 12 | CODE | |
| LOW | web/tests/test_scan.py | 15 | CODE | |
| LOW | web/tests/test_nmap.py | 10 | CODE | |
| LOW | web/tests/test_nmap.py | 10 | CODE | |
| LOW | web/scanEngine/forms.py | 4 | CODE | |
| LOW | web/scanEngine/admin.py | 2 | CODE | |
| LOW | web/scanEngine/tests.py | 1 | CODE | |
| LOW | web/scanEngine/urls.py | 1 | CODE | |
| LOW | web/scanEngine/urls.py | 2 | CODE | |
| LOW | web/scanEngine/views.py | 14 | CODE | |
| LOW | web/scanEngine/views.py | 16 | CODE | |
| LOW | web/scanEngine/views.py | 17 | CODE | |
| LOW | web/scanEngine/views.py | 18 | CODE | |
| LOW | web/scanEngine/templatetags/custom_tags.py | 2 | CODE | |
| LOW | web/dashboard/models.py | 2 | CODE | |
| LOW | web/dashboard/admin.py | 1 | CODE | |
| LOW | web/dashboard/tests.py | 1 | CODE | |
| LOW | web/dashboard/urls.py | 1 | CODE | |
| LOW | web/dashboard/urls.py | 2 | CODE | |
| LOW | web/dashboard/views.py | 24 | CODE | |
| LOW | web/dashboard/views.py | 26 | CODE | |
| LOW | web/dashboard/views.py | 27 | CODE | |
| LOW | web/reNgine/celery_custom_task.py | 10 | CODE | |
| LOW | web/reNgine/celery_custom_task.py | 11 | CODE | |
| LOW | web/reNgine/tasks.py | 14 | CODE | |
| LOW | web/reNgine/tasks.py | 23 | CODE | |
| LOW | web/reNgine/tasks.py | 29 | CODE | |
| LOW | web/reNgine/tasks.py | 30 | CODE | |
| LOW | web/reNgine/tasks.py | 31 | CODE | |
| LOW | web/reNgine/tasks.py | 32 | CODE | |
| LOW | web/reNgine/tasks.py | 33 | CODE | |
| LOW | web/reNgine/tasks.py | 35 | CODE | |
| LOW | web/reNgine/charts.py | 2 | CODE | |
| LOW | web/reNgine/charts.py | 7 | CODE | |
| LOW | web/reNgine/charts.py | 9 | CODE | |
| LOW | web/reNgine/roles.py | 2 | CODE | |
| LOW | web/reNgine/__init__.py | 1 | CODE | |
| LOW | web/reNgine/database_utils.py | 12 | CODE | |
| LOW | web/reNgine/database_utils.py | 13 | CODE | |
| LOW | web/reNgine/context_processors.py | 1 | CODE | |
| LOW | web/reNgine/common_serializers.py | 2 | CODE | |
| LOW | web/reNgine/common_func.py | 24 | CODE | |
| LOW | web/reNgine/common_func.py | 25 | CODE | |
| LOW | web/reNgine/common_func.py | 26 | CODE | |
| LOW | web/reNgine/common_func.py | 27 | CODE | |
| LOW | web/reNgine/common_func.py | 28 | CODE | |
| LOW | web/reNgine/common_func.py | 29 | CODE | |
| LOW | web/reNgine/common_func.py | 30 | CODE | |
| LOW | web/api/serializers.py | 1 | CODE | |
| LOW | web/api/serializers.py | 5 | CODE | |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/scanEngine/views.py | 145 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 35 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 228 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 242 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 258 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 351 | except Exception as e: | CODE |
| LOW | web/dashboard/views.py | 376 | except Exception as e: | CODE |
| MEDIUM | web/dashboard/views.py | 32 | def index(request, slug): | CODE |
| LOW | web/reNgine/celery_custom_task.py | 133 | except Exception as exc: | CODE |
| LOW | web/reNgine/tasks.py | 219 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 541 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 807 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 1031 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 2315 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 2657 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 2788 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 3388 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 3847 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 3870 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 3914 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 3982 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 4290 | except Exception as e: | CODE |
| LOW | web/reNgine/tasks.py | 4681 | except Exception as e: | CODE |
| LOW | web/reNgine/llm.py | 65 | except Exception as e: | CODE |
| LOW | web/reNgine/llm.py | 130 | except Exception as e: | CODE |
| LOW | web/reNgine/context_processors.py | 10 | except Exception: | CODE |
| MEDIUM | web/reNgine/common_func.py | 1649 | def get_ips_from_cidr_range(target): | CODE |
| LOW | web/reNgine/common_func.py | 570 | except Exception as e: | CODE |
| LOW | web/reNgine/common_func.py | 984 | except Exception as e: | CODE |
| LOW | web/reNgine/common_func.py | 1077 | except Exception as e: | CODE |
| LOW | web/reNgine/common_func.py | 1327 | except Exception as e: | CODE |
| LOW | web/reNgine/common_func.py | 1652 | except Exception as e: | CODE |
| LOW | web/api/shared_api_tasks.py | 95 | except Exception as e: | CODE |
| LOW | web/api/shared_api_tasks.py | 201 | except Exception as e: | CODE |
| MEDIUM | web/api/views.py | 69 | def list(self, request): | CODE |
| MEDIUM | web/api/views.py | 93 | def get_api_credentials(self): | CODE |
| MEDIUM | web/api/views.py | 114 | def bounty_programs(self, request): | CODE |
| MEDIUM | web/api/views.py | 159 | def refresh_cache(self, request): | CODE |
| MEDIUM | web/api/views.py | 168 | def program_details(self, request, pk=None): | CODE |
| MEDIUM | web/api/views.py | 215 | def import_programs(self, request): | CODE |
| MEDIUM | web/api/views.py | 241 | def sync_bookmarked(self, request): | CODE |
| LOW⚡ | web/api/views.py | 110 | except Exception as e: | CODE |
| LOW⚡ | web/api/views.py | 120 | except Exception as e: | CODE |
| LOW⚡ | web/api/views.py | 136 | except Exception as e: | CODE |
| LOW⚡ | web/api/views.py | 190 | except Exception as e: | CODE |
| LOW⚡ | web/api/views.py | 198 | except Exception as e: | CODE |
| LOW | web/api/views.py | 90 | except Exception as e: | CODE |
| LOW | web/api/views.py | 164 | except Exception as e: | CODE |
| LOW | web/api/views.py | 237 | except Exception as e: | CODE |
| LOW | web/api/views.py | 259 | except Exception as e: | CODE |
| LOW | web/api/views.py | 363 | except Exception as e: | CODE |
| LOW | web/api/views.py | 386 | except Exception as e: | CODE |
| LOW | web/api/views.py | 409 | except Exception as e: | CODE |
| LOW | web/api/views.py | 425 | except Exception as e: | CODE |
| LOW⚡ | web/api/views.py | 2801 | except Exception as e: | STRING |
| LOW⚡ | web/api/views.py | 2807 | except Exception as e: | STRING |
| LOW⚡ | web/api/views.py | 2817 | except Exception as e: | STRING |
| LOW⚡ | web/api/views.py | 2823 | except Exception as e: | STRING |
| LOW | web/api/views.py | 500 | except Exception as e: | STRING |
| LOW | web/api/views.py | 740 | except Exception as e: | STRING |
| 28 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/tests/test_nmap.py | 48 | def test_nmap_vulscan_multiple(self): | CODE |
| LOW | web/reNgine/tasks.py | 2120 | def nuclei_individual_severity_module(self, cmd, severity, enable_http_crawl, should_fetch_gpt_report, ctx={}, descripti | CODE |
| LOW | web/reNgine/tasks.py | 2321 | def get_vulnerability_gpt_report(vuln): | CODE |
| LOW | web/reNgine/tasks.py | 3134 | def generate_inapp_notification(scan, subscan, status, engine, fields): | CODE |
| LOW | web/reNgine/tasks.py | 3473 | def parse_nmap_http_csrf_output(script_output): | CODE |
| LOW | web/reNgine/tasks.py | 3477 | def parse_nmap_vulscan_output(script_output): | CODE |
| LOW | web/reNgine/tasks.py | 3547 | def parse_nmap_vulners_output(script_output, url=''): | CODE |
| LOW | web/reNgine/tasks.py | 3879 | def fetch_related_tlds_and_domains(domain): | CODE |
| LOW | web/reNgine/tasks.py | 3923 | def fetch_whois_data_using_netlas(target): | CODE |
| LOW | web/reNgine/tasks.py | 3990 | def remove_duplicate_endpoints( | CODE |
| LOW | web/reNgine/tasks.py | 4234 | def get_and_save_dork_results(lookup_target, results_dir, type, lookup_keywords=None, lookup_extensions=None, delay=3, p | CODE |
| LOW | web/reNgine/tasks.py | 4670 | def llm_vulnerability_description(vulnerability_id): | CODE |
| LOW | web/reNgine/charts.py | 17 | def generate_subdomain_chart_by_http_status(subdomains): | CODE |
| LOW | web/reNgine/charts.py | 92 | def generate_vulnerability_chart_by_severity(vulnerabilities): | CODE |
| LOW | web/reNgine/llm.py | 20 | def get_vulnerability_description(self, description): | CODE |
| LOW | web/reNgine/common_func.py | 226 | def get_interesting_subdomains(scan_history=None, domain_id=None): | CODE |
| LOW | web/reNgine/common_func.py | 357 | def get_interesting_endpoints(scan_history=None, target=None): | CODE |
| LOW | web/reNgine/common_func.py | 425 | def get_domain_from_subdomain(subdomain): | CODE |
| LOW | web/reNgine/common_func.py | 520 | def remove_ansi_escape_sequences(text): | CODE |
| LOW | web/reNgine/common_func.py | 989 | def get_domain_historical_ip_address(domain): | CODE |
| LOW | web/reNgine/common_func.py | 1048 | def get_hackerone_key_username(): | CODE |
| LOW | web/reNgine/common_func.py | 1057 | def parse_llm_vulnerability_report(report): | CODE |
| LOW | web/reNgine/common_func.py | 1112 | def get_port_service_description(port): | CODE |
| LOW | web/reNgine/utilities.py | 20 | def remove_lead_and_trail_slash(s): | CODE |
| LOW | web/reNgine/utilities.py | 73 | def get_gpt_vuln_input_description(title, path): | CODE |
| LOW | web/static/custom/subdomain.js | 23 | function toggleMultipleSubdomainButton() { | CODE |
| LOW | web/static/custom/custom.js | 3486 | function handleSyncBookmarkedProgramsSwal() { | CODE |
| LOW | web/static/custom/bountyhub.js | 344 | function populateHackeroneDetailModel(data) { | CODE |
| LOW | web/static/custom/bountyhub.js | 480 | function createInScopeAccordionItem(type, assets, hackerone_handle, program_name) { | CODE |
| LOW | web/static/custom/bountyhub.js | 529 | function getSelectedProgramHandles() { | CODE |
| LOW | web/api/serializers.py | 103 | def get_insert_date_humanized(self, obj): | CODE |
| LOW | web/api/serializers.py | 110 | def get_start_scan_date_humanized(self, obj): | CODE |
| LOW | web/api/serializers.py | 279 | def get_total_scan_time_in_sec(self, scan_history): | CODE |
| LOW | web/api/serializers.py | 864 | def get_formatted_date_for_id(self, DirectoryScan): | CODE |
| LOW | web/api/shared_api_tasks.py | 10 | def import_hackerone_programs_task(handles, project_slug, is_sync = False): | CODE |
| LOW | web/api/shared_api_tasks.py | 22 | def fetch_program_details_from_hackerone(program_handle): | CODE |
| LOW | web/api/shared_api_tasks.py | 132 | def sync_bookmarked_programs_task(project_slug): | CODE |
| LOW | web/api/shared_api_tasks.py | 143 | def fetch_bookmarked_programs(): | CODE |
| LOW⚡ | web/api/views.py | 130 | def fetch_programs_from_hackerone(self): | CODE |
| LOW⚡ | web/api/views.py | 193 | def fetch_program_details_from_hackerone(self, program_handle): | CODE |
| LOW | web/startScan/models.py | 79 | def get_subdomain_change_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 116 | def get_unknown_vulnerability_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 124 | def get_info_vulnerability_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 132 | def get_low_vulnerability_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 140 | def get_medium_vulnerability_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 148 | def get_high_vulnerability_count(self): | CODE |
| LOW⚡ | web/startScan/models.py | 156 | def get_critical_vulnerability_count(self): | CODE |
| LOW | web/startScan/models.py | 178 | def get_total_scan_time_in_sec(self): | CODE |
| LOW | web/startScan/models.py | 279 | def get_total_vulnerability_count(self): | CODE |
| LOW | web/startScan/models.py | 290 | def get_vulnerabilities_without_info(self): | CODE |
| LOW | web/startScan/views.py | 734 | def change_scheduled_task_status(request, id): | CODE |
| LOW | web/startScan/views.py | 850 | def schedule_organization_scan(request, slug, id): | CODE |
| LOW | web/startScan/static/startScan/js/detail_scan.js | 1591 | function downloadSelectedSubdomains(domain_name){ | CODE |
| LOW | …/startScan/templates/startScan/schedule_scan_list.html | 162 | function toggleMultipleTargetButton() { | CODE |
| LOW | …/startScan/templates/startScan/schedule_scan_list.html | 170 | function deleteMultipleScheduledScan() { | CODE |
| LOW | web/startScan/templates/startScan/history.html | 501 | function toggleMultipleTargetButton() { | CODE |
| LOW | web/startScan/templates/startScan/subscan_history.html | 354 | function toggleMultipleTargetButton() { | CODE |
| LOW | web/targetApp/static/targetApp/js/custom_domain.js | 108 | function toggleMultipleTargetButton() { | CODE |
| LOW | web/targetApp/templates/organization/list.html | 132 | function toggleMultipleOrganizationButton() { | CODE |
| LOW | web/targetApp/templates/organization/list.html | 145 | function deleteMultipleOrganizations() { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | web/reNgine/validators.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | web/static/plugins/j-map/jquery-jvectormap.min.js | 1 | !function($){var apiParams={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{sel | CODE |
| CRITICAL | web/static/custom/custom.js | 420 | checkbox.parentNode.parentNode.parentNode.classList.remove("table-success"); | CODE |
| CRITICAL | web/static/custom/custom.js | 421 | checkbox.parentNode.parentNode.parentNode.classList.remove("text-strike"); | CODE |
| CRITICAL | web/static/assets/js/vendor.min.js | 1 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/scanEngine/forms.py | 488 | "placeholder": "Company Name", | CODE |
| LOW⚡ | web/scanEngine/forms.py | 497 | "placeholder": "Company Address", | CODE |
| LOW⚡ | web/scanEngine/forms.py | 506 | "placeholder": "Company Website https://company.com", | CODE |
| LOW⚡ | web/scanEngine/forms.py | 515 | "placeholder": "email@yourcompany.com", | CODE |
| LOW | web/scanEngine/forms.py | 17 | "placeholder": "Engine Name"})) | CODE |
| LOW | web/scanEngine/forms.py | 39 | "placeholder": "Custom Engine"})) | CODE |
| LOW | web/scanEngine/forms.py | 56 | 'placeholder': 'my awesome wordlist', })) | CODE |
| LOW | web/scanEngine/forms.py | 64 | 'placeholder': 'my_awesome_wordlist', })) | CODE |
| LOW | web/scanEngine/forms.py | 83 | 'placeholder': 'Configuration Name', })) | CODE |
| LOW | web/scanEngine/forms.py | 91 | 'placeholder': 'my_awesome_configuration', })) | CODE |
| LOW | web/scanEngine/forms.py | 117 | "placeholder": "Interesting Keywords", | CODE |
| LOW | web/scanEngine/forms.py | 183 | "placeholder": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", | CODE |
| LOW | web/scanEngine/forms.py | 202 | "placeholder": "https://open.larksuite.com/open-apis/bot/v2/hook/XXXXXXXXXXXXXXXXXXXXXXXX", | CODE |
| LOW | web/scanEngine/forms.py | 221 | "placeholder": "https://discord.com/api/webhooks/000000000000000000/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | CODE |
| LOW | web/scanEngine/forms.py | 240 | "placeholder": "Bot Token", | CODE |
| LOW | web/scanEngine/forms.py | 251 | "placeholder": "Bot Chat ID", | CODE |
| LOW | web/scanEngine/forms.py | 381 | "placeholder": "http://username:password@proxyip.com:port", | CODE |
| LOW | web/scanEngine/forms.py | 533 | "placeholder": "Footer Text © Your Company", | CODE |
| LOW⚡ | web/scanEngine/forms.py | 627 | "placeholder": "My Awesome Tool"})) | STRING |
| LOW⚡ | web/scanEngine/forms.py | 635 | "placeholder": "https://github.com/"})) | STRING |
| LOW⚡ | web/scanEngine/forms.py | 643 | "placeholder": "https://github.com/user/tool/blob/master/LICENSE.md"})) | STRING |
| LOW⚡ | web/scanEngine/forms.py | 651 | "placeholder": "http://example.com/logo.png"})) | STRING |
| LOW⚡ | web/scanEngine/forms.py | 659 | "placeholder": "Explain what this tool is used for.", | STRING |
| LOW | web/scanEngine/forms.py | 670 | "placeholder": "Tool Installation Command"})) | STRING |
| LOW | web/scanEngine/forms.py | 678 | "placeholder": "Tool Update Command"})) | STRING |
| LOW | web/scanEngine/forms.py | 709 | "placeholder": "Subdomain Gathering Command", | STRING |
| LOW | …tatic/plugins/selectize/js/standalone/selectize.min.js | 3 | !function(a,b){"function"==typeof define&&define.amd?define("sifter",b):"object"==typeof exports?module.exports=b():a.Si | CODE |
| LOW | …tatic/plugins/selectize/js/standalone/selectize.min.js | 4 | return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(a){var b,c | CODE |
| LOW | web/static/plugins/markdown/simplemde.min.js | 7 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof defin | CODE |
| LOW | web/static/plugins/markdown/simplemde.min.js | 15 | }(navigator.userAgent||navigator.vendor||window.opera),e},V="",K={bold:{name:"bold",action:c,className:"fa fa-bold",titl | CODE |
| LOW | web/static/plugins/sweetalert2/sweetalert2.all.min.js | 1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define | CODE |
| LOW | web/static/plugins/sweetalert2/sweetalert2.min.js | 1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define | CODE |
| LOW | web/static/plugins/select2/select2.min.js | 2 | !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.e | CODE |
| LOW | web/static/plugins/datatable/datatables.js | 53 | "":this.value;b!=e.sSearch&&(fa(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iD | CODE |
| LOW | web/static/custom/custom.js | 237 | elem.setAttribute('placeholder', elem.getAttribute('placeholder') + word.shift()); | CODE |
| LOW | web/static/custom/custom.js | 252 | document.getElementById(id).setAttribute('placeholder', word.join("")); | CODE |
| LOW⚡ | web/targetApp/forms.py | 15 | "placeholder": "example.com" | CODE |
| LOW⚡ | web/targetApp/forms.py | 24 | "placeholder": "Target Description" | CODE |
| LOW⚡ | web/targetApp/forms.py | 33 | "placeholder": "team_handle" | CODE |
| LOW⚡ | web/targetApp/forms.py | 42 | "placeholder": "Organization Name" | CODE |
| LOW | web/targetApp/forms.py | 58 | "placeholder": "Organization Name" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/scanEngine/views.py | 194 | CODE | |
| LOW | web/dashboard/views.py | 208 | CODE | |
| LOW | web/reNgine/tasks.py | 399 | CODE | |
| LOW | web/reNgine/tasks.py | 768 | CODE | |
| LOW | web/reNgine/tasks.py | 2120 | CODE | |
| LOW | web/reNgine/tasks.py | 2526 | CODE | |
| LOW | web/reNgine/tasks.py | 2663 | CODE | |
| LOW | web/reNgine/tasks.py | 3134 | CODE | |
| LOW | web/reNgine/tasks.py | 3375 | CODE | |
| LOW | web/reNgine/tasks.py | 3477 | CODE | |
| LOW | web/reNgine/tasks.py | 3793 | CODE | |
| LOW | web/reNgine/tasks.py | 3879 | CODE | |
| LOW | web/reNgine/tasks.py | 3990 | CODE | |
| LOW | web/reNgine/tasks.py | 4234 | CODE | |
| LOW | web/reNgine/charts.py | 158 | CODE | |
| LOW | web/reNgine/database_utils.py | 18 | CODE | |
| LOW | web/reNgine/common_func.py | 636 | CODE | |
| LOW | web/reNgine/common_func.py | 1057 | CODE | |
| LOW | web/reNgine/common_func.py | 1190 | CODE | |
| LOW | web/api/serializers.py | 974 | CODE | |
| LOW | web/api/shared_api_tasks.py | 10 | CODE | |
| LOW | web/api/views.py | 69 | CODE | |
| LOW | web/api/views.py | 537 | CODE | |
| LOW | web/api/views.py | 663 | CODE | |
| LOW | web/api/views.py | 969 | CODE | |
| LOW | web/api/views.py | 1015 | CODE | |
| LOW | web/api/views.py | 1065 | CODE | |
| LOW | web/api/views.py | 1541 | CODE | |
| LOW | web/api/views.py | 2259 | CODE | |
| LOW | web/api/views.py | 2366 | CODE | |
| LOW | web/api/views.py | 2430 | CODE | |
| LOW | web/api/views.py | 2689 | CODE | |
| LOW | web/api/views.py | 2748 | CODE | |
| LOW | web/api/views.py | 2955 | CODE | |
| LOW | web/api/views.py | 3020 | CODE | |
| LOW | web/startScan/views.py | 347 | CODE | |
| LOW | web/startScan/views.py | 543 | CODE | |
| LOW | web/startScan/views.py | 581 | CODE | |
| LOW | web/startScan/views.py | 850 | CODE | |
| LOW | web/targetApp/views.py | 34 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/reNgine/tasks.py | 1719 | # Initialize DirectoryScan object | COMMENT |
| MEDIUM | web/reNgine/tasks.py | 4077 | # Create a command record in the database | COMMENT |
| MEDIUM | web/reNgine/tasks.py | 4123 | # Create a command record in the database | COMMENT |
| MEDIUM | certs/entrypoint.sh | 25 | # Create a new certificate using our own CA | COMMENT |
| MEDIUM | certs/entrypoint.sh | 43 | # Create a new CA if it does not exist | COMMENT |
| MEDIUM | certs/entrypoint.sh | 56 | # Create a new certificate for the DOMAIN_NAME | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | web/reNgine/tasks.py | 2055 | except (KeyError, TypeError, IndexError): | CODE |
| HIGH | web/reNgine/tasks.py | 4159 | except json.JSONDecodeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/reNgine/tasks.py | 2165 | # Check if record exists, if exists do not save it | COMMENT |
| LOW | web/reNgine/common_func.py | 417 | # Check if the URL has a scheme. If not, add a temporary one to prevent empty netloc. | COMMENT |
| LOW | web/reNgine/common_func.py | 468 | # Check if the URL has a scheme. If not, add a temporary one to prevent empty netloc. | COMMENT |
| LOW | web/reNgine/common_func.py | 661 | # Check if do send | COMMENT |
| LOW | web/reNgine/utilities.py | 42 | # Check if value is a simple string, a string with commas, a list [], a tuple (), a set {} and return an iterable | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | default_yaml_config.yaml | 1 | # Global vars for all tools | COMMENT |
| LOW | web/tests/test_scan.py | 121 | COMMENT | |
| LOW | web/reNgine/tasks.py | 1121 | endpoint, _ = save_endpoint( | COMMENT |
| LOW | web/static/plugins/lightbox/js/lightbox.js | 101 | var self = this; | COMMENT |
| LOW | web/static/custom/update.js | 161 | // isFirstRun ? "the features" : "what's changed" | COMMENT |
| LOW | web/startScan/static/startScan/js/detail_scan.js | 861 | // $.getJSON(`/api/queryDorkTypes/?scan_id=${scan_id}&format=json`, function(data) { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/dashboard/views.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | web/reNgine/database_utils.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | web/reNgine/init.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | web/api/views.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | web/targetApp/views.py | 25 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/reNgine/tasks.py | 52 | CODE | |
| LOW | web/reNgine/tasks.py | 1481 | CODE | |
| LOW | web/reNgine/tasks.py | 2827 | CODE | |
| LOW | web/reNgine/tasks.py | 3186 | CODE | |
| LOW | web/reNgine/common_func.py | 280 | CODE | |
| LOW | web/reNgine/common_func.py | 907 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | web/api/views.py | 1353 | update_command = 'cd /usr/src/github/' + tool_name + ' && git pull && cd -' | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/static/custom/todo.js | 208 | $('#todo-list').append(`<p>No todos or notes...</br>You can add todo for individual subdomains or you can also add | CODE |