Repository Analysis

OWASP/Nettacker

Automated Penetration Testing Framework - Open-Source Vulnerability Scanner - Vulnerability Management

6.8 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of OWASP/Nettacker, a Python project with 5,541 GitHub stars. SynthScan v2.0 examined 77,107 lines of code across 332 source files, recording 345 pattern matches distributed across 10 syntactic categories. The overall adjusted score of 6.8 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

6.8
Adjusted Score
6.8
Raw Score
100%
Time Factor
2026-08-28
Last Push
5.5K
Stars
Python
Language
77.1K
Lines of Code
332
Files
345
Pattern Hits
2026-08-29
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 3HIGH 3MEDIUM 61LOW 278

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 345 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators52 hits · 182 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_yaml_schema_and_regex.py10# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py12# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py35# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py37# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py91# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py93# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py103# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py105# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py167# ----------------------------COMMENT
MEDIUMtests/test_yaml_schema_and_regex.py169# ----------------------------COMMENT
MEDIUMtests/database/test_db.py103 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py105 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py150 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py152 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py224 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py226 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py271 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py273 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py336 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py338 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py511 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py513 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py652 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py654 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py820 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py822 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py905 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py907 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py946 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py948 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py972 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py974 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1015 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1017 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1038 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1040 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1077 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1079 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py67 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py69 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1168 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py1170 # -------------------------------------------------------COMMENT
MEDIUMtests/database/test_db.py762 # -------------------------------------------------------STRING
MEDIUMtests/database/test_db.py764 # -------------------------------------------------------STRING
MEDIUMtests/core/lib/test_user_added_http_headers.py9# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py11# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py116# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py118# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py169# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py171# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py326# ----------------------------COMMENT
MEDIUMtests/core/lib/test_user_added_http_headers.py328# ----------------------------COMMENT
Hyper-Verbose Identifiers167 hits · 162 pts
SeverityFileLineSnippetContext
LOWtests/test_yaml_schema_and_regex.py274def test_yaml_schema_and_regex_valid(yaml_file):CODE
LOWtests/database/test_db.py110 def test_create_connection_sqlite(CODE
LOWtests/database/test_db.py154 def test_send_submit_query_sqlite_success(self):CODE
LOWtests/database/test_db.py204 def test_send_submit_query_sqlalchemy_success(self):CODE
LOWtests/database/test_db.py214 def test_send_submit_query_sqlalchemy_failure(self, mock_warn, mock_messages):CODE
LOWtests/database/test_db.py230 def test_submit_report_to_db_sqlite(self, mock_send_submit, mock_create_conn):CODE
LOWtests/database/test_db.py277 def test_remove_old_logs_sqlite(self, mock_send_submit, mock_create_conn):CODE
LOWtests/database/test_db.py343 def test_submit_logs_to_db_sqlite_success(CODE
LOWtests/database/test_db.py518 def test_submit_temp_logs_to_db_sqlite_success(CODE
LOWtests/database/test_db.py657 def test_sqlite_successful_lookup(self, mock_create_conn):CODE
LOWtests/database/test_db.py825 def test_select_reports_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py898 def test_select_reports_sqlalchemy_exception(self, mock_create_conn):CODE
LOWtests/database/test_db.py911 def test_get_scan_result_sqlite(self, mock_open, mock_create_conn):CODE
LOWtests/database/test_db.py951 def test_last_host_logs_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py977 def test_get_logs_by_scan_id_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py1020 def test_get_options_by_scan_id_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py1043 def test_logs_to_report_json_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py1088 def test_logs_to_report_html_sqlite(self, mock_messages, mock_create_conn, mock_build_graph):CODE
LOWtests/database/test_db.py136 def test_create_connection_mysql(self, mock_config, mock_sessionmaker, mock_create_engine):CODE
LOWtests/database/test_db.py166 def test_send_submit_query_sqlite_retry_then_success(self):CODE
LOWtests/database/test_db.py185 def test_send_submit_query_sqlite_failure(self, mock_warn, mock_messages):CODE
LOWtests/database/test_db.py186 def sqlite_execute_side_effect(query):CODE
LOWtests/database/test_db.py257 def test_submit_report_to_db_sqlalchemy(self, mock_report, mock_send_submit, mock_create_conn):CODE
LOWtests/database/test_db.py308 def test_remove_old_logs_sqlalchemy(self, mock_create_conn, mock_send_submit):CODE
LOWtests/database/test_db.py433 def test_sqlite_operational_error(self, mock_create_conn):CODE
LOWtests/database/test_db.py454 def test_sqlite_generic_exception(self, mock_create_conn):CODE
LOWtests/database/test_db.py495 def test_sqlalchemy_submit_fail(self, mock_create_conn, mock_submit):CODE
LOWtests/database/test_db.py574 def test_temp_log_operational_error(self, mock_create_conn):CODE
LOWtests/database/test_db.py585 def test_temp_log_generic_exception(self, mock_create_conn):CODE
LOWtests/database/test_db.py598 def test_temp_log_sqlalchemy_path(self, mock_create_conn, mock_send, mock_temp):CODE
LOWtests/database/test_db.py609 def test_submit_temp_logs_to_db_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py680 def test_sqlite_exception_and_retry(self, mock_create_conn):CODE
LOWtests/database/test_db.py693 def test_sqlite_outer_exception(self, mock_create_conn, mock_messages, mock_warn):CODE
LOWtests/database/test_db.py706 def test_sqlalchemy_successful_lookup(self, mock_create_conn):CODE
LOWtests/database/test_db.py724 def test_sqlalchemy_no_result(self, mock_create_conn):CODE
LOWtests/database/test_db.py735 def test_find_temp_events_sqlite(self, mock_create_conn):CODE
LOWtests/database/test_db.py789 def test_find_events_sqlite_exception(self, mock_create_conn, mock_warn):CODE
LOWtests/database/test_db.py801 def test_find_events_sqlalchemy(self, mock_create_conn):CODE
LOWtests/database/test_db.py860 def test_select_reports_sqlite_exception(self, mock_create_conn, mock_warn):CODE
LOWtests/database/test_db.py871 def test_select_reports_sqlalchemy(self, mock_create_conn):CODE
LOWtests/database/test_db.py931 def test_get_scan_result_sqlalchemy(self, mock_open_builtin, mock_create_conn):CODE
LOWtests/database/test_db.py1132 def test_logs_to_report_html_sqlalchemy(CODE
LOWtests/database/test_db.py1204 def test_search_logs_no_results(self, mock_structure, mock_create_conn):CODE
LOWtests/database/test_db.py1219 def test_sqlite_path_exception(self, mock_create_conn):CODE
LOWtests/database/test_db.py1230 def test_sqlalchemy_path_success(self, mock_create_conn):CODE
LOWtests/database/test_db.py1254 def test_sqlalchemy_path_exception(self, mock_create_conn):CODE
LOWtests/database/test_db.py1266 def test_sqlalchemy_path_no_results(self, mock_create_conn):CODE
LOWtests/database/test_mysql.py25def test_mysql_create_database_success(mock_create_engine):CODE
LOWtests/database/test_mysql.py49def test_mysql_create_database_already_exists(mock_create_engine):CODE
LOWtests/database/test_mysql.py68def test_mysql_create_database_exception(mock_create_engine):CODE
LOWtests/database/test_postgresql.py11def test_postgres_create_database_success(mock_create_engine):CODE
LOWtests/database/test_postgresql.py34def test_postgres_create_database_if_not_exists(mock_create_engine):CODE
LOWtests/database/test_postgresql.py71def test_postgres_create_database_create_fail(mock_create_engine):CODE
LOWtests/database/test_sqlite.py18def test_sqlite_create_tables(mock_create_engine, mock_config):CODE
LOWtests/database/test_sqlite.py33def test_sqlite_create_tables_integration(mock_config):CODE
LOWtests/core/test_exclude_ports.py34def test_init_and_service_discovery_signature(mock_loader, options, module_args):CODE
LOWtests/core/test_exclude_ports.py48def test_load_with_service_discovery(CODE
LOWtests/core/test_exclude_ports.py108def test_start_unsupported_library(mock_loader, mock_find_events, options, module_args):CODE
LOWtests/core/test_exclude_ports.py134def template_loader_side_effect(name, inputs):CODE
LOWtests/core/test_exclude_ports.py196def start_test_loader_side_effect(name, inputs):CODE
107 more matches not shown…
Excessive Try-Catch Wrapping69 hits · 77 pts
SeverityFileLineSnippetContext
LOWnettacker/database/db.py364 except Exception:CODE
LOWnettacker/database/db.py372 except Exception:CODE
LOWnettacker/database/db.py375 except Exception:CODE
LOWnettacker/database/db.py379 except Exception:CODE
LOWnettacker/database/db.py68 except Exception as e:CODE
LOWnettacker/database/db.py107 except Exception:CODE
LOWnettacker/database/db.py121 except Exception:CODE
LOWnettacker/database/db.py126 except Exception:CODE
LOWnettacker/database/db.py163 except Exception:CODE
LOWnettacker/database/db.py212 except Exception:CODE
LOWnettacker/database/db.py283 except Exception:CODE
LOWnettacker/database/db.py287 except Exception:CODE
LOWnettacker/database/db.py438 except Exception:CODE
LOWnettacker/database/db.py445 except Exception:CODE
LOWnettacker/database/db.py491 except Exception:CODE
LOWnettacker/database/db.py498 except Exception:CODE
LOWnettacker/database/db.py555 except Exception:CODE
LOWnettacker/database/db.py575 except Exception:CODE
LOWnettacker/database/db.py615 except Exception:CODE
LOWnettacker/database/db.py710 except Exception:CODE
LOWnettacker/database/db.py717 except Exception:CODE
LOWnettacker/database/db.py791 except Exception:CODE
LOWnettacker/database/db.py833 except Exception:CODE
LOWnettacker/database/db.py879 except Exception:CODE
LOWnettacker/database/db.py895 except Exception:CODE
LOWnettacker/database/db.py942 except Exception:CODE
LOWnettacker/database/db.py1094 except Exception:CODE
LOWnettacker/database/db.py1100 except Exception:CODE
LOWnettacker/database/db.py1170 except Exception:CODE
LOWnettacker/database/mysql.py24 except Exception as e:CODE
LOWnettacker/core/arg_parser.py618 except Exception:CODE
LOWnettacker/core/arg_parser.py681 except Exception:CODE
LOWnettacker/core/arg_parser.py706 except Exception:CODE
LOWnettacker/core/arg_parser.py719 except Exception:CODE
LOWnettacker/core/arg_parser.py727 except Exception:CODE
LOWnettacker/core/arg_parser.py733 except Exception:CODE
LOWnettacker/core/arg_parser.py739 except Exception:CODE
LOWnettacker/core/arg_parser.py763 except Exception:CODE
LOWnettacker/core/arg_parser.py768 except Exception:CODE
LOWnettacker/core/arg_parser.py773 except Exception:CODE
LOWnettacker/core/ip.py47 except Exception:CODE
LOWnettacker/core/ip.py72 except Exception:CODE
LOWnettacker/core/ip.py84 except Exception:CODE
LOWnettacker/core/ip.py109 except Exception:CODE
LOWnettacker/core/ip.py121 except Exception:CODE
MEDIUMnettacker/core/ip.py64def is_ipv4_range(ip_range):CODE
MEDIUMnettacker/core/ip.py76def is_ipv4_cidr(ip_range):CODE
MEDIUMnettacker/core/ip.py101def is_ipv6_range(ip_range):CODE
MEDIUMnettacker/core/ip.py113def is_ipv6_cidr(ip_range):CODE
LOWnettacker/core/app.py93 except Exception:CODE
LOWnettacker/core/app.py98 except Exception:CODE
LOWnettacker/core/utils/common.py28 except Exception:CODE
LOWnettacker/core/utils/common.py190 except Exception:CODE
MEDIUMnettacker/core/utils/common.py187def find_args_value(args_name):CODE
LOWnettacker/core/lib/http.py183 except Exception:CODE
LOWnettacker/core/lib/ssl.py122 except Exception:CODE
MEDIUMnettacker/core/lib/ssl.py110def create_tcp_socket(host, port, timeout):CODE
LOWnettacker/core/lib/socket.py31 except Exception:CODE
LOWnettacker/core/lib/socket.py75 except Exception:CODE
LOWnettacker/core/lib/socket.py79 except Exception:CODE
9 more matches not shown…
Hallucination Indicators3 hits · 35 pts
SeverityFileLineSnippetContext
CRITICALtests/database/test_db.py818 mock_session.query.return_value.filter.return_value.all.assert_called_once()CODE
CRITICALnettacker/web/static/js/jquery.min.js4},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("tCODE
CRITICALnettacker/web/static/report/d3_tree_v1.html1822 }, x.each(x.expr.match.bool.source.match(/\w+/g), function(e, n) {CODE
Deep Nesting26 hits · 23 pts
SeverityFileLineSnippetContext
LOWtests/test_yaml_schema_and_regex.py172CODE
LOWtests/test_yaml_schema_and_regex.py190CODE
LOWtests/test_yaml_schema_and_regex.py219CODE
LOWtests/test_yaml_schema_and_regex.py249CODE
LOWnettacker/database/db.py88CODE
LOWnettacker/database/db.py230CODE
LOWnettacker/database/db.py315CODE
LOWnettacker/database/db.py580CODE
LOWnettacker/database/db.py843CODE
LOWnettacker/database/db.py1014CODE
LOWnettacker/core/graph.py124CODE
LOWnettacker/core/graph.py217CODE
LOWnettacker/core/graph.py322CODE
LOWnettacker/core/arg_parser.py510CODE
LOWnettacker/core/app.py68CODE
LOWnettacker/core/app.py103CODE
LOWnettacker/core/template.py14CODE
LOWnettacker/core/module.py76CODE
LOWnettacker/core/module.py124CODE
LOWnettacker/core/utils/common.py70CODE
LOWnettacker/core/utils/common.py303CODE
LOWnettacker/core/utils/common.py323CODE
LOWnettacker/core/lib/http.py45CODE
LOWnettacker/core/lib/ssl.py219CODE
LOWnettacker/core/lib/socket.py240CODE
LOWnettacker/core/lib/base.py60CODE
Over-Commented Block20 hits · 20 pts
SeverityFileLineSnippetContext
LOWnettacker/web/static/js/renderjson.js1// Copyright © 2013-2017 David Caldwell <david@porkrind.org>COMMENT
LOWnettacker/web/static/js/renderjson.js21// OptionsCOMMENT
LOWnettacker/web/static/js/renderjson.js41//COMMENT
LOWnettacker/web/static/js/main.js581 res = JSON.parse(res);COMMENT
LOWnettacker/web/static/js/main.js601 // fr: "fr",COMMENT
LOWnettacker/web/static/js/main.js621COMMENT
LOWnettacker/web/static/js/main.js661 // "</p><br>" +COMMENT
LOWnettacker/web/static/js/main.js681 // report_type +COMMENT
LOWnettacker/web/static/js/main.js901 //date = res[i]["info"]["date"];COMMENT
LOWnettacker/web/static/js/main.js921 // open_ports[j] +COMMENT
LOWnettacker/web/static/js/main.js961 // if (j == 10) {COMMENT
LOWnettacker/web/static/js/main.js981 // for (j = 0; j < description.length; j++) {COMMENT
LOWnettacker/web/static/report/d3_tree_v1.html61 text-align:center;COMMENT
LOWnettacker/web/static/report/d3_tree_v1.html81// UsageCOMMENT
LOWnettacker/web/static/report/d3_tree_v1.html101//COMMENT
LOWnettacker/lib/icmp/engine.py201 delay = receive_one_ping(my_socket, my_id, timeout)COMMENT
LOWnettacker/lib/icmp/engine.py221 # else:COMMENT
LOWnettacker/lib/icmp/engine.py241 # delay = do_one(dest_addr, timeout, psize)COMMENT
LOWnettacker/lib/icmp/engine.py261 # verbose_ping("heise.de")COMMENT
LOWnettacker/modules/scan/waf.yaml61 - "https"COMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHnettacker/database/postgresql.py0when using mysql database, this is the function that is used to create the database for the first time when you run the STRING
HIGHnettacker/database/sqlite.py0when using mysql database, this is the function that is used to create the database for the first time when you run the STRING
HIGHnettacker/database/mysql.py0when using mysql database, this is the function that is used to create the database for the first time when you run the STRING
Self-Referential Comments2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMtests/database/test_db.py311 # Create a mock SQLAlchemy sessionCOMMENT
MEDIUMnettacker/api/engine.py243 # Define a list or tuple of valid extensionsCOMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWnettacker/lib/graph/d3_tree_v1/engine.py58CODE
LOWnettacker/lib/compare_report/engine.py22CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWnettacker/web/static/js/bootstrap-tagsinput.min.js6!function(a){"use strict";function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECODE