AI Slop Code RIsk Monitor

netalertx/NetAlertX

Centralized network visibility and continuous asset discovery. Monitor devices, detect change, and stay aware across distributed networks.

20.8 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for netalertx/NetAlertX, a Python project with 7,264 GitHub stars. SynthScan examined 277,401 lines of code across 939 source files, recording 2993 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 20.8 (Elevated 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.

20.8
Adjusted Signal
20.8
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
7.3K
Stars
Python
Language
277.4K
Lines of Code
939
Files
3.0K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 29.0/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 1641 finding(s).

Hallucinated Dependency & Supply Chain Risk 4.2/100 · LOW

Are imports declared and package/API names verified? 104 finding(s).

Agent Over-Engineering Ratio 58.2/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 2472 finding(s).

PR Review Velocity Impact 63.3/100 · HIGH

Which changes need focused human review? 2993 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 7HIGH 60MEDIUM 1100LOW 1826

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 2993 distinct pattern matches across 22 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.

Decorative Section Separators995 hits · 3228 pts
SeverityFileLineSnippetContext
MEDIUMinstall/index.html6#-------------------------------------------------------------------------------COMMENT
MEDIUMinstall/production-filesystem/services/start-nginx.sh45# ------------------------------------------------------------------COMMENT
MEDIUMinstall/production-filesystem/services/start-nginx.sh47# ------------------------------------------------------------------COMMENT
MEDIUM⚡…oduction-filesystem/services/scripts/update_vendors.sh4# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡…oduction-filesystem/services/scripts/update_vendors.sh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡…oduction-filesystem/services/scripts/update_vendors.sh11# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡…oduction-filesystem/services/scripts/update_vendors.sh13# ----------------------------------------------------------------------COMMENT
MEDIUM⚡…oduction-filesystem/services/scripts/update_vendors.sh16# ----------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh3# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh8# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh10# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh12# ----------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh15# ----------------------------------------------------------------------COMMENT
MEDIUM⚡back/update_vendors.sh23# ----------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py25# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py27# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py138# ---------------------------------------------------------------------------STRING
MEDIUMtest/db_test_helpers.py140# ---------------------------------------------------------------------------STRING
MEDIUMtest/db_test_helpers.py202# ---------------------------------------------------------------------------STRING
MEDIUMtest/db_test_helpers.py204# ---------------------------------------------------------------------------STRING
MEDIUMtest/db_test_helpers.py217# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py219# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py332# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py335# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py425# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py427# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py509# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py511# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py527# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/db_test_helpers.py529# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/docker_tests/test_container_environment.py658 # ┌─────────────────────────────────────────────────────────────────────────────────────────┐STRING
MEDIUM⚡test/docker_tests/test_container_environment.py661 # └─────────────────────────────────────────────────────────────────────────────────────────┘STRING
MEDIUM⚡test/docker_tests/test_container_environment.py679 # ┌─────────────────────────────────────────────────────────────────────────────────────────┐STRING
MEDIUM⚡test/docker_tests/test_container_environment.py682 # └─────────────────────────────────────────────────────────────────────────────────────────┘STRING
MEDIUM⚡test/docker_tests/test_docker_compose_scenarios.py651 # ┌─────────────────────────────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM⚡test/docker_tests/test_docker_compose_scenarios.py655 # └─────────────────────────────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM⚡test/ui/test_ui_translations.py52# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/ui/test_ui_translations.py54# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py46# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py76# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py78# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py163# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/ui/test_ui_xss_devname.py165# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/ui/test_ui_xss_devname.py205# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/ui/test_ui_xss_devname.py207# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py73# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py75# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py162# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py164# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py285# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py287# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py318# ===========================================================================COMMENT
MEDIUM⚡test/plugins/test_fritzbox.py320# ===========================================================================COMMENT
MEDIUMtest/plugins/test_fritzbox.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/plugins/test_fritzbox.py20# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/plugins/test_fritzbox.py31# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/plugins/test_fritzbox.py33# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/plugins/test_fritzbox.py45# ---------------------------------------------------------------------------COMMENT
MEDIUMtest/plugins/test_fritzbox.py47# ---------------------------------------------------------------------------COMMENT
935 more matches not shown…
Hyper-Verbose Identifiers1214 hits · 1195 pts
SeverityFileLineSnippetContext
LOWtest/db_test_helpers.py486def insert_current_scan_row_from_dict(conn: sqlite3.Connection, row: dict) -> None:CODE
LOWtest/test_mcp_disablement.py16def test_disable_tool_management():CODE
LOWtest/test_mcp_disablement.py78def test_openapi_spec_injection():CODE
LOWtest/test_mcp_disablement.py111def test_execute_disabled_tool(mock_get, mock_setting):CODE
LOWtest/test_plugin_helper.py4def test_is_mac_accepts_wildcard():CODE
LOWtest/test_plugin_helper.py13def test_normalize_mac_preserves_wildcard():CODE
LOW⚡test/test_plugin_helper.py26def test_normalize_mac_preserves_internet_root():CODE
LOW⚡test/test_plugin_helper.py33def test_per_item_timeout_unchanged_for_zero_or_one_items():CODE
LOW⚡test/test_plugin_helper.py39def test_per_item_timeout_divides_budget_across_items():CODE
LOW⚡test/test_plugin_helper.py44def test_per_item_timeout_never_goes_below_floor():CODE
LOW⚡test/test_plugin_helper.py50def test_helpval_preserves_real_zero_and_false():CODE
LOW⚡test/test_plugin_helper.py61def test_watched_columns_unaffected_by_helpval_fix():CODE
LOW⚡test/test_plugin_helper.py70def test_sanitize_plugin_text_strips_tag_delimiters():CODE
LOW⚡test/test_plugin_helper.py74def test_sanitize_plugin_text_strips_control_chars_but_keeps_tab_and_newline():CODE
LOW⚡test/test_plugin_helper.py78def test_sanitize_plugin_text_passes_through_clean_text_unchanged():CODE
LOW⚡test/test_plugin_helper.py83def test_sanitize_plugin_text_passes_none_through():CODE
LOWtest/verify_runtime_validation.py51def test_search_invalid_schema():CODE
LOW⚡test/test_device_atomicity.py65 def test_create_new_device_atomicity(self):CODE
LOWtest/test_device_atomicity.py103 def test_update_device_with_source_tracking_atomicity(self):CODE
LOWtest/test_device_atomicity.py148 def test_source_tracking_failure_rolls_back_device(self):STRING
LOWtest/docker_tests/test_puid_pgid.py109def test_default_puid_pgid_ok() -> None:CODE
LOWtest/docker_tests/test_puid_pgid.py123def test_invalid_puid_pgid_rejected(env: dict[str, str], expected: str) -> None:CODE
LOWtest/docker_tests/test_puid_pgid.py139def test_legacy_user_mode_skips_puid_pgid() -> None:CODE
LOWtest/docker_tests/test_puid_pgid.py153def test_synology_like_fresh_volume_is_primed() -> None:CODE
LOWtest/docker_tests/test_puid_pgid.py238def test_aufs_explicit_root_no_warning() -> None:CODE
LOWtest/docker_tests/test_puid_pgid.py331def test_missing_cap_chown_fails_priming() -> None:CODE
LOWtest/docker_tests/conftest.py58def build_netalertx_test_image(request: pytest.FixtureRequest, cleanup_artifacts: None) -> None:CODE
LOW⚡test/docker_tests/test_container_environment.py1383def test_restrictive_permissions_handling(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py240def _build_volume_args_for_keys(CODE
LOWtest/docker_tests/test_container_environment.py442def test_nonroot_custom_uid_logs_note(CODE
LOWtest/docker_tests/test_container_environment.py858def test_missing_capabilities_triggers_warning(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py891def test_missing_host_network_warns(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py922def test_missing_app_conf_triggers_seed(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py965def test_first_run_dynamic_subnet(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1007def test_missing_app_db_triggers_seed(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1051def test_custom_port_without_writable_conf(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1086def test_excessive_capabilities_warning(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1111def test_appliance_integrity_read_write_mode(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1136def test_zero_permissions_app_db_dir(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1162def test_zero_permissions_app_config_dir(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1188def test_mandatory_folders_creation(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1227def test_writable_config_validation(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1269def test_mount_analysis_ram_disk_performance(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py1326def test_mount_analysis_dataloss_risk(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_docker_compose_unit.py4def test_run_docker_compose_returns_output(monkeypatch, tmp_path):CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py67def capture_project_mandatory_required_audit_stream(container_name: str) -> subprocess.Popen[str]:CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py168def assert_has_troubleshooting_url(output: str) -> None:CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py436def validate_scenario_table_output(output: str, test_scenario: TestScenario) -> None:CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py744def test_cap_chown_required_when_caps_dropped():STRING
LOWtest/docker_tests/test_ports_available.py196def test_ports_available_normal_case(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_ports_available.py216def test_ports_conflict_same_number(tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_ports_available.py241def test_ports_in_use_warning(dummy_container, tmp_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_entrypoint.py54def test_app_conf_override_from_graphql_port():CODE
LOWtest/docker_tests/test_entrypoint.py66def test_app_conf_override_file_written_from_graphql_port(tmp_path):CODE
LOWtest/docker_tests/test_entrypoint.py115def test_app_conf_override_not_overridden():CODE
LOWtest/docker_tests/test_entrypoint.py130def test_no_app_conf_override_when_no_graphql_port():CODE
LOWtest/docker_tests/test_entrypoint.py138def test_skip_startup_checks_env_var():CODE
LOWtest/docker_tests/test_entrypoint.py149def test_host_optimization_warning_matches_sysctl():CODE
LOWtest/docker_tests/test_docker_compose_scenarios.py45def capture_project_mandatory_required_audit_stream(container_names: list[str], compose_cwd: pathlib.Path, env: dict[strCODE
LOWtest/docker_tests/test_docker_compose_scenarios.py245def _extract_conflict_container_name(output: str) -> str | None:CODE
1154 more matches not shown…
Self-Referential Comments86 hits · 274 pts
SeverityFileLineSnippetContext
MEDIUM…uction-filesystem/entrypoint.d/30-mandatory-folders.sh107# Create the folders and files.COMMENT
MEDIUM…uction-filesystem/entrypoint.d/30-mandatory-folders.sh108# Create a log message for observability if any fail.COMMENT
MEDIUMinstall/proxmox/proxmox-install-netalertx.sh309# Create the execution_queue.log file if it doesn't existCOMMENT
MEDIUMinstall/ubuntu24/install.sh24OUI_FILE="/usr/share/arp-scan/ieee-oui.txt" # Define the path to ieee-oui.txt and ieee-iab.txtCODE
MEDIUMinstall/debian12/start.debian12.sh18OUI_FILE="/usr/share/arp-scan/ieee-oui.txt" # Define the path to ieee-oui.txt and ieee-iab.txtCODE
MEDIUMinstall/debian12/start.debian12.sh112# Create an empty log filesCOMMENT
MEDIUMinstall/debian12/start.debian12.sh114# Create the execution_queue.log file if it doesn't existCOMMENT
MEDIUM⚡back/update_vendors.sh27# Define the URL of the IEEE OUI fileCOMMENT
MEDIUMtest/test_mcp_disablement.py115 # Create a dummy app for contextCOMMENT
MEDIUM⚡test/test_device_atomicity.py75 # Create a new deviceCOMMENT
MEDIUMtest/docker_tests/test_container_environment.py834 # Create a dummy file for other directoriesCOMMENT
MEDIUMtest/docker_tests/test_ports_available.py35 # Create a simple docker-compose file for the dummy containerCOMMENT
MEDIUMtest/docker_tests/test_docker_compose_scenarios.py238 # Create a minimal SQLite databaseCOMMENT
MEDIUMtest/ui/test_ui_login.py158 # Create a deep link to devices.php#device-123COMMENT
MEDIUMtest/ui/test_ui_login.py193 # Create a deep link to network.php#settings-panelCOMMENT
MEDIUMtest/ui/test_ui_xss_devname.py183 # Create an event so events.php actually renders this device's name.COMMENT
MEDIUM⚡test/api_endpoints/test_devices_endpoints.py89 # Create a device firstCOMMENT
MEDIUMtest/api_endpoints/test_devices_endpoints.py103 # Create a device firstCOMMENT
MEDIUMserver/plugin.py467 # Create the file pathSTRING
MEDIUMserver/plugin.py541 # Create a tuple containing values to be inserted into the database.STRING
MEDIUMserver/plugin.py569 # Create a base tuple containing values to be inserted into the database.STRING
MEDIUMserver/plugin.py657 # Create a base tuple containing values to be inserted into the database.STRING
MEDIUMserver/initialise.py142 # Create the tuplesCOMMENT
MEDIUMserver/initialise.py882 # Create a backup file with the suffix "_old_setting_names" and timestampCOMMENT
MEDIUMserver/plugins/omada_sdn_imp/omada_sdn.py33# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/omada_sdn_imp/omada_sdn.py54# Define the current path and log file pathsCOMMENT
MEDIUMserver/plugins/omada_sdn_imp/omada_sdn.py262 # Create a DeviceInstance instanceCOMMENT
MEDIUMserver/plugins/wake_on_lan/wake_on_lan.py8# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/wake_on_lan/wake_on_lan.py27# Define the current path and log file pathsCOMMENT
MEDIUMserver/plugins/wake_on_lan/wake_on_lan.py46 # Create a DeviceInstance instanceCOMMENT
MEDIUM⚡server/plugins/_publisher_mqtt/mqtt.py63 # Create a database connectionCOMMENT
MEDIUMserver/plugins/_publisher_mqtt/mqtt.py44# Create an MD5 hash objectCOMMENT
MEDIUMserver/plugins/_publisher_mqtt/mqtt.py328# Create a generic device for overal statsCOMMENT
MEDIUMserver/plugins/_publisher_mqtt/mqtt.py346 # Create the HA sensor config if a new device is discoveredCOMMENT
MEDIUMserver/plugins/_publisher_mqtt/mqtt.py502 # Create a generic device for overal statsCOMMENT
MEDIUMserver/plugins/_publisher_mqtt/mqtt.py504 # Create a new device representing overall statsCOMMENT
MEDIUMserver/plugins/csv_backup/script.py70 # Create a CSV file in the specified locationCOMMENT
MEDIUMserver/plugins/__test/test.py27# Create an MD5 hash objectCOMMENT
MEDIUM⚡server/plugins/_publisher_email/email_smtp.py50 # Create a database connectionCOMMENT
MEDIUM⚡server/plugins/_publisher_email/email_smtp.py57 # Create a NotificationInstance instanceCOMMENT
MEDIUMserver/plugins/omada_sdn_openapi/script.py37# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/omada_sdn_openapi/script.py55# Define the current path and log file pathsCOMMENT
MEDIUMserver/plugins/omada_sdn_openapi/script.py606 # Initialize the Plugin object output fileCOMMENT
MEDIUM⚡server/plugins/_publisher_pushsafer/pushsafer.py42 # Create a database connectionCOMMENT
MEDIUM⚡server/plugins/_publisher_pushsafer/pushsafer.py49 # Create a NotificationInstance instanceCOMMENT
MEDIUMserver/plugins/adguard_import/adguard_import.py8# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/adguard_export/script.py21# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUM⚡server/plugins/_publisher_webhook/webhook.py46 # Create a database connectionCOMMENT
MEDIUM⚡server/plugins/_publisher_webhook/webhook.py53 # Create a NotificationInstance instanceCOMMENT
MEDIUMserver/plugins/icmp_scan/icmp.py69 # Create a DeviceInstance instanceCOMMENT
MEDIUMserver/plugins/fritzbox/fritzbox.py7# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/fritzbox/fritzbox.py34# Define the current path and log file pathsCOMMENT
MEDIUMserver/plugins/dig_scan/digscan.py6# Define the installation path and extend the system path for plugin importsCOMMENT
MEDIUMserver/plugins/dig_scan/digscan.py26# Define the current path and log file pathsCOMMENT
MEDIUMserver/plugins/dig_scan/digscan.py43 # Create a DeviceInstance instanceCOMMENT
MEDIUMserver/plugins/nslookup_scan/nslookup.py44 # Create a DeviceInstance instanceCOMMENT
MEDIUM⚡server/plugins/_publisher_pushover/pushover.py42 # Create a database connectionCOMMENT
MEDIUM⚡server/plugins/_publisher_pushover/pushover.py49 # Create a NotificationInstance instanceCOMMENT
MEDIUMserver/plugins/asuswrt_import/script.py66 # Create a new event loopCOMMENT
MEDIUM⚡server/plugins/_publisher_telegram/tg.py43 # Create a database connectionCOMMENT
26 more matches not shown…
Excessive Try-Catch Wrapping208 hits · 208 pts
SeverityFileLineSnippetContext
MEDIUMinstall/production-filesystem/entrypoint.d/15-mounts.py84 print("Error: /proc/mounts not found. Not a Linux system?", file=sys.stderr)CODE
LOW⚡test/docker_tests/test_container_environment.py519 except Exception:CODE
LOW⚡test/docker_tests/test_container_environment.py528 except Exception:CODE
LOW⚡test/docker_tests/test_container_environment.py535 except Exception:CODE
LOWtest/docker_tests/test_container_environment.py110 except Exception:CODE
LOWtest/docker_tests/test_container_environment.py567 except Exception:CODE
LOW⚡test/docker_tests/test_container_environment.py690 except Exception:STRING
LOWtest/docker_tests/test_mount_diagnostics_pytest.py702 except Exception:CODE
LOW⚡test/docker_tests/test_docker_compose_scenarios.py641 except Exception as exc: # noqa: BLE001CODE
LOWtest/docker_tests/test_docker_compose_scenarios.py694 except Exception:CODE
LOW⚡test/ui/test_ui_waits.py42 except Exception:CODE
LOW⚡test/ui/test_ui_waits.py49 except Exception:CODE
LOW⚡test/ui/test_ui_waits.py54 except Exception:CODE
LOWtest/ui/test_chromium_setup.py71except Exception as e:CODE
LOWtest/ui/test_ui_maintenance.py52 except Exception:CODE
LOWtest/ui/test_ui_maintenance.py70 except Exception:CODE
LOW⚡test/ui/test_ui_maintenance.py93 except Exception:CODE
LOW⚡test/ui/test_ui_maintenance.py95 except Exception as e:CODE
LOW⚡test/ui/test_ui_maintenance.py102 except Exception:CODE
LOWtest/ui/test_ui_settings.py144 except Exception as e:CODE
LOWtest/ui/test_ui_settings.py168 except Exception:CODE
LOWtest/ui/test_helpers.py104 except Exception as e:CODE
LOWtest/ui/test_helpers.py149 except Exception:CODE
MEDIUMtest/ui/test_helpers.py144def _get_val(d):CODE
LOWtest/ui/run_all_tests.py41 except Exception as e:CODE
LOWtest/ui/test_ui_devices.py89 except Exception:CODE
LOWtest/backend/sql_safe_builder.py173 except Exception:CODE
LOWtest/backend/sql_safe_builder.py592 except Exception:CODE
LOWtest/scan/test_device_field_lock.py50 except Exception as e:CODE
LOWtest/scan/test_device_field_lock.py58 except Exception as e:CODE
LOWserver/database.py97 except Exception:CODE
LOWserver/database.py270 except Exception as e:CODE
LOW⚡server/database.py295 except Exception as e:CODE
LOWserver/database.py404 except Exception:CODE
LOW⚡server/helper.py397 except Exception:CODE
LOW⚡server/helper.py403 except Exception:CODE
MEDIUMserver/plugin.py370def run_plugin(command, set_RUN_TIMEOUT, plugin):CODE
LOWserver/plugin.py993 except Exception as e:STRING
LOWserver/app_state.py195 except Exception as e:CODE
LOW⚡server/__main__.py209 except Exception:CODE
LOW⚡server/initialise.py46 except Exception as e:CODE
LOWserver/plugins/omada_sdn_imp/omada_sdn.py120 except Exception as e:CODE
LOWserver/plugins/omada_sdn_imp/omada_sdn.py144 except Exception:CODE
LOWserver/plugins/dhcp_servers/script.py101 except Exception as e:CODE
LOWserver/plugins/wake_on_lan/wake_on_lan.py104 except Exception as e:CODE
LOW⚡server/plugins/_publisher_mqtt/mqtt.py643 except Exception as e:CODE
LOWserver/plugins/_publisher_mqtt/mqtt.py388 except Exception as err:CODE
LOWserver/plugins/_publisher_mqtt/mqtt.py616 except Exception as e:CODE
LOWserver/plugins/omada_sdn_openapi/script.py107 except Exception as ex:CODE
LOWserver/plugins/omada_sdn_openapi/script.py124 except Exception as ex:CODE
LOWserver/plugins/omada_sdn_openapi/script.py227 except Exception as ex:CODE
LOW⚡server/plugins/internet_ip/script.py156 except Exception as e:CODE
LOW⚡server/plugins/adguard_import/adguard_import.py51 except Exception as e:CODE
LOW⚡server/plugins/adguard_export/script.py207 except Exception as exc:CODE
LOWserver/plugins/adguard_export/script.py443 except Exception as exc:CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py126 except Exception as e:CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py132 except Exception:CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py158 except Exception:CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py188 except Exception as e:CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py224 except Exception as e:CODE
148 more matches not shown…
Empty Error Handlers36 hits · 180 pts
SeverityFileLineSnippetContext
HIGHtest/verify_runtime_validation.py28except requests.RequestException:CODE
HIGHtest/test_wol_validation.py24except requests.RequestException:CODE
HIGHtest/docker_tests/test_container_environment.py98except PermissionError:CODE
HIGHtest/docker_tests/test_container_environment.py110except Exception:CODE
HIGHtest/docker_tests/test_container_environment.py198except PermissionError:CODE
HIGHtest/docker_tests/test_container_environment.py690except Exception:CODE
HIGHtest/docker_tests/test_container_environment.py519except Exception:CODE
HIGHtest/docker_tests/test_container_environment.py528except Exception:CODE
HIGHtest/docker_tests/test_container_environment.py535except Exception:CODE
HIGHtest/docker_tests/test_mount_diagnostics_pytest.py702except Exception:CODE
HIGHtest/docker_tests/test_docker_compose_scenarios.py694except Exception:CODE
HIGHtest/ui/test_ui_maintenance.py52except Exception:CODE
HIGHtest/ui/test_ui_maintenance.py93except Exception:CODE
HIGHtest/plugins/test_sync_protocol.py65except requests.RequestException:CODE
HIGHtest/plugins/test_sync_protocol.py63except json.JSONDecodeError:CODE
HIGHtest/backend/test_compound_conditions.py243except ValueError:CODE
HIGHtest/backend/test_safe_builder_unit.py147except ValueError:CODE
HIGHtest/backend/test_sql_security.py368except ValueError:CODE
HIGHtest/api_endpoints/test_events_endpoints.py240except (ValueError, TypeError):CODE
HIGHserver/api.py307except:CODE
HIGHserver/helper.py397except Exception:CODE
HIGHserver/plugins/pihole_monitor/pihole_monitor.py158except Exception:CODE
HIGHserver/plugins/pihole_api_scan/pihole_api_scan.py118except Exception:CODE
HIGHserver/plugins/_publisher_telegram/tg.py154except json.JSONDecodeError:CODE
HIGHserver/plugins/avahi_scan/avahi_scan.py76except Exception:CODE
HIGHserver/api_server/sse_broadcast.py27except ImportError:CODE
HIGHserver/api_server/sse_broadcast.py45except ImportError:CODE
HIGHserver/api_server/openapi/spec_generator.py75except (ImportError, AttributeError):CODE
HIGHserver/api_server/openapi/spec_generator.py112except Exception:CODE
HIGHserver/api_server/openapi/spec_generator.py95except Exception:CODE
HIGHserver/api_server/openapi/schemas.py565except ValueError:CODE
HIGHserver/api_server/openapi/introspection.py157except Exception:CODE
HIGHserver/db/authoritative_handler.py333except Exception:CODE
HIGHserver/db/authoritative_handler.py376except Exception:CODE
HIGHserver/db/authoritative_handler.py442except Exception:CODE
HIGHserver/db/db_upgrade.py1135except Exception:CODE
Redundant / Tautological Comments77 hits · 108 pts
SeverityFileLineSnippetContext
LOW…tion-filesystem/entrypoint.d/95-appliance-integrity.sh11# Check if the root filesystem is mounted as read-onlyCOMMENT
LOW…ction-filesystem/entrypoint.d/10-capabilities-audit.sh47 # Check if bit is set in cap_bnd_decCOMMENT
LOW…tion-filesystem/entrypoint.d/35-apply-conf-override.sh15# Check if APP_CONF_OVERRIDE is setCOMMENT
LOW…oduction-filesystem/entrypoint.d/99-ports-available.sh16# Check if ports are configured to be the sameCOMMENT
LOW…/production-filesystem/services/scripts/cron_script.sh6# Check if there are any entries with cron_restart_backendCOMMENT
LOWinstall/proxmox/proxmox-install-netalertx.sh44# Check if script is run as rootCOMMENT
LOWinstall/proxmox/proxmox-install-netalertx.sh266# Check if ieee-oui.txt or ieee-iab.txt existCOMMENT
LOWinstall/ubuntu24/install.sh35# Check if script is run as rootCOMMENT
LOWinstall/ubuntu24/install.sh246# Check if ieee-oui.txt or ieee-iab.txt existCOMMENT
LOWinstall/ubuntu24/install.sh313# Check if buildtimestamp.txt doesn't existCOMMENT
LOWinstall/debian12/install.debian12.sh13# Check if script is run as rootCOMMENT
LOWinstall/debian12/start.debian12.sh33# Check if script is run as rootCOMMENT
LOWinstall/debian12/start.debian12.sh98# Check if ieee-oui.txt or ieee-iab.txt existCOMMENT
LOWinstall/debian12/start.debian12.sh159# Check if buildtimestamp.txt doesn't existCOMMENT
LOWinstall/debian12/install_dependencies.debian12.sh18# Check if script is run as rootCOMMENT
LOWtest/docker_tests/test_mount_diagnostics_pytest.py257 # Check if image existsCOMMENT
LOWtest/ui/test_chromium_setup.py8# Check if chromium and chromedriver are installedCOMMENT
LOWtest/ui/run_ui_tests.sh16# Check if chromium is installed, install if missingCOMMENT
LOWtest/ui/test_ui_maintenance.py138 # Check if response looks like CSVCOMMENT
LOWtest/ui/test_helpers.py51 # Check if chromedriver existsCOMMENT
LOWtest/backend/sql_safe_builder.py197 # Check if this is a compound condition (multiple clauses)COMMENT
LOWtest/backend/sql_safe_builder.py342 # Check if we're at a word boundary (start of string or after whitespace)COMMENT
LOWserver/database.py64 # Check if DB is openCOMMENT
LOWserver/api.py145 # Check if the endpoint needs to be updatedCOMMENT
LOW⚡server/helper.py639 # Check if second character matches "2", "6", "A", "E" (case insensitive)COMMENT
LOWserver/helper.py668 # Check if it's an IPv6 addressCOMMENT
LOWserver/plugin.py88 # Check if schedule overdueCOMMENT
LOWserver/plugin.py737# Check if watched values changed for the given pluginSTRING
LOWserver/plugin.py1093 # Check if there's a default value specified for this column in the JSON.STRING
LOWserver/plugin.py1205 # Check if self.status is validSTRING
LOWserver/app_state.py82 # Check if the file exists and recover previous valuesCOMMENT
LOW⚡server/__main__.py221 # Check if new devices found (created by process_scan)COMMENT
LOWserver/__main__.py181 # Check if any plugins need to run on scheduleCOMMENT
LOWserver/initialise.py763 # Check if app was upgradedCOMMENT
LOWserver/initialise.py866 # Check if the file contains any of the old setting code namesCOMMENT
LOWserver/plugins/plugin_helper.py143# Check if a valid MAC addressCOMMENT
LOWserver/plugins/omada_sdn_imp/omada_sdn.py230 # Assign port to switchCOMMENT
LOW⚡server/plugins/_publisher_mqtt/mqtt.py59 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/_publisher_mqtt/mqtt.py226 # Check if the plugin object is newCOMMENT
LOW⚡server/plugins/_publisher_email/email_smtp.py45 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/omada_sdn_openapi/script.py287 # Check if a parameter is required and if it's value is non-emptyCOMMENT
LOWserver/plugins/omada_sdn_openapi/script.py291 # Check if a parameter has a correct datatypeCOMMENT
LOWserver/plugins/omada_sdn_openapi/script.py332 # Check if the response contains an error code and determine the function response typeCOMMENT
LOWserver/plugins/omada_sdn_openapi/script.py462 if first_available_site[0]: # Check if there's an available siteCODE
LOW⚡server/plugins/_publisher_pushsafer/pushsafer.py37 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/_publisher_pushsafer/pushsafer.py113 # Check if the request was successful (status code 200)COMMENT
LOW⚡server/plugins/_publisher_webhook/webhook.py41 # Check if basic config settings suppliedCOMMENT
LOW⚡server/plugins/_publisher_pushover/pushover.py37 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/_publisher_pushover/pushover.py101 # Check if the request was successful (status code 200)COMMENT
LOW⚡server/plugins/_publisher_telegram/tg.py37 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/arp_scan/script.py63 # Check if the decoded subnet information contains multiple subnets separated by commas.COMMENT
LOW⚡server/plugins/_publisher_ntfy/ntfy.py40 # Check if basic config settings suppliedCOMMENT
LOWserver/plugins/_publisher_ntfy/ntfy.py196 # Check if the request was successful (status code 200)COMMENT
LOWserver/plugins/maintenance/maintenance.py40 # Check if setCOMMENT
LOWserver/plugins/maintenance/maintenance.py78 # Check if setCOMMENT
LOWserver/plugins/sync/sync.py61 # Check if api_token setCOMMENT
LOWserver/plugins/dhcp_leases/script.py62 # Check if the path existsCOMMENT
LOW⚡server/plugins/_publisher_apprise/apprise.py37 # Check if basic config settings suppliedCOMMENT
LOW⚡server/utils/plugin_utils.py321 # Check if the file existsCOMMENT
LOW⚡server/utils/plugin_utils.py323 # Check if the file name contains "encoded"COMMENT
17 more matches not shown…
Deep Nesting123 hits · 106 pts
SeverityFileLineSnippetContext
LOWinstall/production-filesystem/entrypoint.d/15-mounts.py72CODE
LOWinstall/production-filesystem/entrypoint.d/15-mounts.py89CODE
LOWinstall/production-filesystem/entrypoint.d/15-mounts.py294CODE
LOWtest/docker_tests/test_puid_pgid.py22CODE
LOWtest/docker_tests/test_container_environment.py115CODE
LOWtest/docker_tests/test_container_environment.py190CODE
LOWtest/docker_tests/test_container_environment.py468CODE
LOWtest/docker_tests/test_container_environment.py730CODE
LOWtest/docker_tests/test_docker_compose_unit.py4CODE
LOWtest/docker_tests/test_docker_compose_unit.py18CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py108CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py288CODE
LOWtest/docker_tests/test_mount_diagnostics_pytest.py436CODE
LOWtest/docker_tests/test_docker_compose_scenarios.py263CODE
LOWtest/docker_tests/test_docker_compose_scenarios.py402CODE
LOWtest/ui/test_ui_login.py20CODE
LOWtest/ui/test_helpers.py20CODE
LOWtest/plugins/test_dockerdisc.py91CODE
LOWtest/plugins/test_dockerdisc.py491CODE
LOWtest/plugins/test_plugin_conventions.py254CODE
LOWtest/plugins/test_plugin_conventions.py281CODE
LOWtest/plugins/test_plugin_conventions.py307CODE
LOWtest/backend/sql_safe_builder.py307CODE
LOWtest/api_endpoints/test_mcp_openapi_spec.py179CODE
LOWtest/api_endpoints/test_events_endpoints.py214CODE
LOWtest/api_endpoints/test_mcp_disabled_tools.py16CODE
LOWtest/api_endpoints/test_mcp_disabled_tools.py42CODE
LOWserver/logger.py99CODE
LOWserver/api.py283CODE
LOWserver/api.py129CODE
LOWserver/helper.py200CODE
LOWserver/helper.py265CODE
LOWserver/helper.py434CODE
LOWserver/helper.py456CODE
LOWserver/plugin.py389CODE
LOWserver/plugin.py738CODE
LOWserver/plugin.py67CODE
LOWserver/plugin.py123CODE
LOWserver/plugin.py295CODE
LOWserver/plugin.py1151CODE
LOWserver/app_state.py36CODE
LOWserver/__main__.py67CODE
LOWserver/initialise.py56CODE
LOWserver/initialise.py227CODE
LOWserver/initialise.py865CODE
LOWserver/plugins/plugin_helper.py186CODE
LOWserver/plugins/omada_sdn_imp/omada_sdn.py416CODE
LOWserver/plugins/dhcp_servers/script.py34CODE
LOWserver/plugins/nmap_scan/script.py151CODE
LOWserver/plugins/wake_on_lan/wake_on_lan.py36CODE
LOWserver/plugins/_publisher_mqtt/mqtt.py652CODE
LOWserver/plugins/omada_sdn_openapi/script.py130CODE
LOWserver/plugins/omada_sdn_openapi/script.py432CODE
LOWserver/plugins/adguard_export/script.py249CODE
LOWserver/plugins/pihole_monitor/pihole_monitor.py446CODE
LOWserver/plugins/_publisher_webhook/webhook.py93CODE
LOWserver/plugins/icmp_scan/icmp.py94CODE
LOWserver/plugins/icmp_scan/icmp.py171CODE
LOWserver/plugins/icmp_scan/icmp.py205CODE
LOWserver/plugins/icmp_scan/icmp.py214CODE
63 more matches not shown…
Hallucination Indicators7 hits · 90 pts
SeverityFileLineSnippetContext
CRITICALfront/lib/datatables/datatables.js7977jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {CODE
CRITICALfront/lib/datatables/datatables.js13919 * $.fn.dataTable.ext.type.detect.push(COMMENT
CRITICALfront/lib/datatables/datatables.min.js14!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALfront/lib/jquery/jquery.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALfront/lib/datatables.net/js/jquery.dataTables.js14199 * $.fn.dataTable.ext.type.detect.push(COMMENT
CRITICAL⚡front/lib/jquery-ui/jquery-ui.min.js6(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=CODE
CRITICAL⚡front/lib/jquery-ui/jquery-ui.min.js9}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(eCODE
Over-Commented Block69 hits · 66 pts
SeverityFileLineSnippetContext
LOWinstall/index.html1<!-- ---------------------------------------------------------------------------COMMENT
LOWinstall/production-filesystem/root-entrypoint.sh1#!/bin/bashCOMMENT
LOWinstall/production-filesystem/root-entrypoint.sh21# - PUID/PGID env vars are ignored (cannot switch users).COMMENT
LOWinstall/production-filesystem/entrypoint.sh1#!/bin/bashCOMMENT
LOWinstall/production-filesystem/entrypoint.sh21# container will wait for all to exit naturally (development mode).COMMENT
LOWinstall/production-filesystem/entrypoint.sh241COMMENT
LOWinstall/production-filesystem/entrypoint.sh281COMMENT
LOW…roduction-filesystem/entrypoint.d/05-data-migration.sh1#!/bin/shCOMMENT
LOW…oduction-filesystem/services/scripts/update_vendors.sh1#!/usr/bin/env bashCOMMENT
LOWback/update_vendors.sh1#!/usr/bin/env bashCOMMENT
LOW…r_tests/configurations/docker-compose.missing-caps.yml41 # - Normal operation: container starts all services after passing checksCOMMENT
LOWtest/ui/test_ui_settings.py201 # # Extract backend API URL from BASE_URLCOMMENT
LOWtest/ui/test_ui_settings.py221 # except requests.exceptions.RequestException as e:COMMENT
LOWserver/conf.py41# -------------------------------------------COMMENT
LOWserver/__main__.py1#!/usr/bin/env pythonCOMMENT
LOWserver/__main__.py141COMMENT
LOWserver/__main__.py241COMMENT
LOWserver/plugins/omada_sdn_imp/omada_sdn.py61# Initialize the Plugin obj output fileCOMMENT
LOWserver/plugins/adguard_export/script.py1#!/usr/bin/env pythonCOMMENT
LOWserver/plugins/pihole_monitor/pihole_monitor.py461 # source of truth) instead of being a second, easily stale copy of it.COMMENT
LOWserver/plugins/pihole_monitor/pihole_monitor.py581 # reference point at all (every source bootstraps fresh) ratherCOMMENT
LOWserver/plugins/ddns_update/script.py81COMMENT
LOWserver/plugins/__template/rename_me.py121 # Skip instances the user unchecked rather than deleted.COMMENT
LOWserver/plugins/sync/sync.py181 mylog('verbose', [f'[{pluginName}] Devices files to process: "{files_to_process}"'])COMMENT
LOWserver/plugins/sync/sync.py281 #COMMENT
LOWserver/workflows/app_events.py41 # "objectPrimaryId": "NEW.plugin",COMMENT
LOWserver/api_server/mcp_endpoint.py201 test_mode = os.getenv("MCP_TEST_MODE", "").lower() in ("1", "true", "yes")COMMENT
LOWserver/api_server/api_server_start.py1241 return jsonify({"success": True, "message": "Scans resumed", "pause_until": ""}), 200COMMENT
LOWserver/messaging/reporting.py1# ---------------------------------------------------------------------------------#COMMENT
LOWdocs/AUTHELIA.md161 - openidCOMMENT
LOWdocs/DOCKER_COMPOSE.md61 target: /etc/localtimeCOMMENT
LOW.devcontainer/scripts/setup.sh1#!/bin/bashCOMMENT
LOWfront/settings.php641 if (saveSucceeded) {COMMENT
LOWfront/devices.php1<!--COMMENT
LOWfront/deviceDetails.php1<!--COMMENT
LOWfront/systeminfo.php1<?phpCOMMENT
LOWfront/presence.php1<!--COMMENT
LOWfront/css/app.css2821#tab_DBTools, #tab_BackupRestore, #tab_Logging, #tab_multiEdit { position: relative; min-height: 320px; }COMMENT
LOWfront/js/devices-table.js1// =============================================================================COMMENT
LOWfront/js/cache.js21// Central registry of all localStorage cache keys.COMMENT
LOWfront/js/cache.js141COMMENT
LOWfront/js/devices-init.js1// =============================================================================COMMENT
LOWfront/js/devices-custom-props.js1// =============================================================================COMMENT
LOWfront/js/settings_utils.js1241 // if override value is considered empty initialize from setting defaultsCOMMENT
LOWfront/js/db_methods.js1// -----------------------------------------------------------------------------COMMENT
LOWfront/js/ui_components.js1/* -----------------------------------------------------------------------------COMMENT
LOWfront/js/device-columns.js1// =============================================================================COMMENT
LOWfront/js/device-columns.js81];COMMENT
LOWfront/js/graph_resource_history.js1// Chart.js instances, kept so a range switch destroys the old chart beforeCOMMENT
LOWfront/js/devices-filters.js1// =============================================================================COMMENT
LOWfront/php/server/db.php1<?phpCOMMENT
LOWfront/php/templates/version.php1<?phpCOMMENT
LOWfront/php/templates/footer.php1<!--COMMENT
LOWfront/lib/chart.js/Chart.js7301 var padding = helpers$1.options.toPadding(layoutOptions.padding);COMMENT
LOWfront/lib/chart.js/Chart.js7321 // | |----|-------------------------------------|----|COMMENT
LOWfront/lib/chart.js/Chart.js7761 if (item && item.canvas) {COMMENT
LOWfront/lib/chart.js/Chart.js13481 end: pos + sizeCOMMENT
LOWfront/lib/chart.js/Chart.js13501 //COMMENT
LOWfront/lib/datatables/datatables.js4041 // In cases where either:COMMENT
LOWfront/lib/datatables/datatables.js5641 },COMMENT
9 more matches not shown…
Cross-Language Confusion13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHtest/docker_tests/test_puid_pgid.py167 "chown -R 0:0 /data && chmod -R 0755 /data && "CODE
HIGHtest/docker_tests/test_puid_pgid.py345 "chown -R 1000:1000 /data && chmod -R 0755 /data"CODE
HIGH⚡test/docker_tests/test_container_environment.py1401 "-c", "chown -R 0:0 /mnt && chmod 755 /mnt",CODE
HIGHtest/docker_tests/test_container_environment.py1455 "-c", "ls -ldn /data/db && touch /data/db/test_write_after_fix"CODE
HIGH⚡test/docker_tests/test_container_environment.py653 "if kill -0 $pid >/dev/null 2>&1; then kill -TERM $pid >/dev/null 2>&1 || true; fi; ",STRING
HIGHtest/docker_tests/test_ports_available.py44 f.write(" command: sh -c \"while true; do nc -l -p 20211 < /dev/null > /dev/null; done & while true; do nc -lCODE
HIGHtest/docker_tests/test_ports_available.py149 script = f"printf '%s\\n' '{script_cont.replace(chr(39), chr(39) + chr(92) + chr(39) + chr(39))}' > /tmp/ports-checkCODE
HIGHtest/ui/test_ui_translations.py37 "return (typeof getString === 'function') ? getString(arguments[0]) : null;",CODE
HIGHtest/ui/test_ui_xss_devname.py131 return bool(driver.execute_script("return window.__xss_canary || false;"))CODE
HIGHtest/ui/test_ui_xss_devname.py284 assert not driver.execute_script("return window.__xss_canary || false"), (CODE
HIGHtest/scan/test_ip_format_and_locking.py62 """Invalid IP values like (unknown), null, empty should be rejected."""STRING
HIGH⚡test/api_endpoints/test_health_endpoints.py129 """cpu_temp should be optional (int or null)."""STRING
HIGHserver/plugins/freebox/freebox.py203 # key present but explicitly null, and dict.get()'s default onlyCOMMENT
Fake / Example Data60 hits · 60 pts
SeverityFileLineSnippetContext
LOW⚡test/test_device_atomicity.py80 "devOwner": "John Doe",CODE
LOWserver/initialise.py464 '{"dataType":"array","elements":[{"elementType":"input","elementOptions":[{"placeholder":"Enter value"},{"suffixCODE
LOWserver/initialise.py304 """{"dataType": "array","elements": [{"elementType": "input","elementOptions": [{"placeholder": "192.168.1.0/24 STRING
LOWserver/plugins/omada_sdn_imp/config.json163 { "placeholder": "Enter value" },CODE
LOWserver/plugins/custom_props/config.json40 { "placeholder": "Enter value" },CODE
LOWserver/plugins/custom_props/config.json126 { "placeholder": "Enter value" },CODE
LOWserver/plugins/custom_props/config.json330 "placeholder": "<i class=\"far fa-trash-alt\"></i>"CODE
LOWserver/plugins/custom_props/config.json345 "placeholder": "<i class=\"far fa-clone\"></i>"CODE
LOWserver/plugins/wake_on_lan/config.json156 { "placeholder": "Enter value" },CODE
LOWserver/plugins/wake_on_lan/config.json232 { "placeholder": "Enter value" },CODE
LOWserver/plugins/omada_sdn_openapi/config.json226 { "placeholder": "Enter value" },CODE
LOWserver/plugins/unifi_import/config.json791 { "placeholder": "Enter value" },CODE
LOWserver/plugins/wificanary/config.json592 "placeholder": "wlan0"CODE
LOWserver/plugins/wificanary/config.json668 "placeholder": "HomeWiFi"CODE
LOWserver/plugins/wificanary/config.json706 "placeholder": "aa:bb:cc:dd:ee:ff"CODE
LOWserver/plugins/wificanary/config.json788 "placeholder": "optional note"CODE
LOWserver/plugins/snmp_discovery/config.json416 { "placeholder": "Enter value" },CODE
LOWserver/plugins/newdev_template/config.json42 "placeholder": "Enter value"CODE
LOWserver/plugins/newdev_template/config.json167 "placeholder": "Enter value"CODE
LOWserver/plugins/newdev_template/config.json292 "placeholder": "Enter value"CODE
LOWserver/plugins/rest_import/config.json252 "placeholder": "e.g. OPNsense DHCP"CODE
LOWserver/plugins/rest_import/config.json290 "placeholder": "https://host/api/endpoint"CODE
LOWserver/plugins/rest_import/config.json440 "placeholder": "Username or API Key"CODE
LOWserver/plugins/rest_import/config.json478 "placeholder": "Password or API Secret"CODE
LOWserver/plugins/rest_import/config.json516 "placeholder": "Bearer token"CODE
LOWserver/plugins/rest_import/config.json554 "placeholder": "Accept: application/json"CODE
LOWserver/plugins/rest_import/config.json592 "placeholder": "Optional JSON body for POST requests"CODE
LOWserver/plugins/rest_import/config.json630 "placeholder": "rows"CODE
LOWserver/plugins/rest_import/config.json668 "placeholder": "e.g. hwaddr"CODE
LOWserver/plugins/rest_import/config.json706 "placeholder": "e.g. address"CODE
LOWserver/plugins/rest_import/config.json744 "placeholder": "e.g. hostname"CODE
LOWserver/plugins/rest_import/config.json782 "placeholder": "e.g. mac_info"CODE
LOWserver/plugins/rest_import/config.json820 "placeholder": "e.g. wlan"CODE
LOWserver/plugins/rest_import/config.json858 "placeholder": "e.g. device_type"CODE
LOWserver/plugins/rest_import/config.json896 "placeholder": "e.g. parent_mac"CODE
LOWserver/plugins/rest_import/config.json934 "placeholder": "e.g. port"CODE
LOWserver/plugins/rest_import/config.json972 "placeholder": "e.g. site"CODE
LOWserver/plugins/rest_import/config.json1010 "placeholder": "e.g. vlan"CODE
LOWserver/plugins/_publisher_ntfy/config.json707 "placeholder": "Enter value"CODE
LOWserver/plugins/__template/config.json181 { "placeholder": "Enter value" },CODE
LOWserver/plugins/__template/config.json314 { "placeholder": "e.g. Site A" },CODE
LOWserver/plugins/__template/config.json337 { "placeholder": "https://host:port" },CODE
LOWserver/plugins/website_monitor/config.json624 { "placeholder": "Enter value" },CODE
LOWserver/plugins/sync/config.json214 "placeholder": "Enter full url"CODE
LOWserver/plugins/dockerdisc/config.json585 "placeholder": "http://docker-socket-proxy:2375"CODE
LOWserver/plugins/dockerdisc/config.json623 "placeholder": "aa:bb:cc:dd:ee:ff"CODE
LOWserver/plugins/dhcp_leases/config.json502 { "placeholder": "Enter value" },CODE
LOWserver/plugins/unifi_api_import/config.json252 "placeholder": "Enter value"CODE
LOWserver/plugins/unifi_api_import/config.json290 "placeholder": "https://host_ip/proxy/network/integration/"CODE
LOWserver/plugins/unifi_api_import/config.json328 "placeholder": "v1"CODE
LOWserver/plugins/unifi_api_import/config.json366 "placeholder": "Enter value"CODE
LOWserver/plugins/ui_settings/config.json65 { "placeholder": "Enter value" },CODE
LOWserver/plugins/ui_settings/config.json140 { "placeholder": "Enter value" },CODE
LOWfront/lib/datatables/datatables.js26224 .attr( 'placeholder', opts.placeholder )CODE
LOWfront/lib/datatables/datatables.min.js28!function(n){"use strict";var a;"function"==typeof define&&define.amd?define(["jquery"],function(t){return n(t,window,doCODE
LOWfront/lib/select2/select2.full.min.js2!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.eCODE
LOWfront/lib/datatables.net/js/jquery.dataTables.min.js41g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!thCODE
LOWfront/lib/datatables.net/js/jquery.dataTables.js4222 .attr( 'placeholder', language.sSearchPlaceholder )CODE
LOWfront/lib/datatables.net/js/jquery.dataTables.js12552 * // { "phone": 5552368, "phone_filter": "5552368 555-2368", "phone_display": "555-2368" }COMMENT
LOW⚡front/lib/jquery-ui/jquery-ui.min.js6(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=CODE
Structural Annotation Overuse27 hits · 53 pts
SeverityFileLineSnippetContext
LOWtest/docker_tests/test_container_environment.py916# NOTE: The following runtime-behavior tests depended on the entrypoint continuing even whenCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md115 # Step 1: Navigate to devices pageCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md119 # Step 2: Click first deviceCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md124 # Step 3: Edit device nameCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md130 # Step 4: Save changesCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md135 # Step 5: Verify save succeededCOMMENT
LOW⚡test/ui/TESTING_GUIDE.md138 # Step 6: Restore original nameCOMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py95 # Step 1: Create the source deviceCOMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py102 # Step 2: Generate a target MAC (lowercase to match DB trigger normalisation)COMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py107 # Step 3: Copy deviceCOMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py114 # Step 4: Verify new device existsCOMMENT
LOW⚡server/utils/plugin_utils.py367 # Step 1: Initialize the setting value as an empty stringCOMMENT
LOW⚡server/utils/plugin_utils.py370 # Step 2: Get the default setting object for the plugin's specified keyCOMMENT
LOWserver/utils/plugin_utils.py381 # Step 3: Check for user-defined setting value in the dictionaryCOMMENT
LOW⚡server/scan/device_handling.py1410 # Step 3: Execute batch updateCOMMENT
LOWserver/scan/device_handling.py1361 # Step 1: Load all devices from the DBCOMMENT
LOWserver/scan/device_handling.py1375 # Step 2: For each non-NIC device, determine new devPresentLastScanCOMMENT
LOW⚡server/api_server/nettools_endpoint.py81 # Step 1: Validate IP addressCOMMENT
LOW⚡server/api_server/nettools_endpoint.py90 # Step 2: Execute tracerouteCOMMENT
LOW⚡server/api_server/nettools_endpoint.py103 # Step 3: Handle command errorsCOMMENT
LOW⚡docs/PLUGINS_DEV.md73### Step 1: Understand the BasicsCOMMENT
LOW⚡docs/PLUGINS_DEV.md78### Step 2: Create Your PluginCOMMENT
LOW⚡docs/PLUGINS_DEV.md84### Step 3: Configure & DisplayCOMMENT
LOW⚡docs/PLUGINS_DEV.md89### Step 4: Deploy & TestCOMMENT
LOW⚡front/js/common.js283 // Step 1: Replace double quotes within single-quoted stringsCOMMENT
LOW⚡front/js/common.js289 // Step 2: Replace all single quotes with double quotesCOMMENT
LOW⚡front/js/common.js292 // Step 3: Restore escaped double quotesCOMMENT
Docstring Block Structure7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHtest/backend/sql_safe_builder.py147 Parse and build a safe SQL condition from a user-provided string. This method attempts to parse common STRING
HIGHserver/database.py341 Retrieve device statistics from the database. Args: db: A database connection or handler object that pSTRING
HIGHserver/helper.py435 Reverse applied transformers on a value or list of values. This function iterates through a list of transformeSTRING
HIGHserver/utils/datetime_utils.py28 Return the current time in UTC. This is the ONLY function that calls datetime.datetime.now() in the entire codSTRING
HIGHserver/utils/datetime_utils.py92 Check if a datetime is strictly in the future. Utility for validating that a datetime hasn't already passed. STRING
HIGHserver/utils/datetime_utils.py119 Ensure a schedule's next() call returns a datetime strictly in the future. Keeps calling .next() until a futurSTRING
HIGHserver/db/sql_safe_builder.py156 Parse and build a safe SQL condition from a user-provided string. This method attempts to parse common STRING
Verbosity Indicators16 hits · 29 pts
SeverityFileLineSnippetContext
LOW⚡test/api_endpoints/test_device_endpoints.py95 # Step 1: Create the source deviceCOMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py102 # Step 2: Generate a target MAC (lowercase to match DB trigger normalisation)COMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py107 # Step 3: Copy deviceCOMMENT
LOW⚡test/api_endpoints/test_device_endpoints.py114 # Step 4: Verify new device existsCOMMENT
LOW⚡server/utils/plugin_utils.py367 # Step 1: Initialize the setting value as an empty stringCOMMENT
LOW⚡server/utils/plugin_utils.py370 # Step 2: Get the default setting object for the plugin's specified keyCOMMENT
LOWserver/utils/plugin_utils.py381 # Step 3: Check for user-defined setting value in the dictionaryCOMMENT
LOW⚡server/scan/device_handling.py1410 # Step 3: Execute batch updateCOMMENT
LOWserver/scan/device_handling.py1361 # Step 1: Load all devices from the DBCOMMENT
LOWserver/scan/device_handling.py1375 # Step 2: For each non-NIC device, determine new devPresentLastScanCOMMENT
LOW⚡server/api_server/nettools_endpoint.py81 # Step 1: Validate IP addressCOMMENT
LOW⚡server/api_server/nettools_endpoint.py90 # Step 2: Execute tracerouteCOMMENT
LOW⚡server/api_server/nettools_endpoint.py103 # Step 3: Handle command errorsCOMMENT
LOW⚡front/js/common.js283 // Step 1: Replace double quotes within single-quoted stringsCOMMENT
LOW⚡front/js/common.js289 // Step 2: Replace all single quotes with double quotesCOMMENT
LOW⚡front/js/common.js292 // Step 3: Restore escaped double quotesCOMMENT
Unused Imports24 hits · 21 pts
SeverityFileLineSnippetContext
LOWtest/docker_tests/test_puid_pgid.py7CODE
LOWtest/plugins/test_adguard_export.py16CODE
LOWtest/plugins/test_adguard_export.py18CODE
LOWtest/plugins/test_rest_import.py11CODE
LOWtest/plugins/test_rest_import.py13CODE
LOWtest/backend/test_skip_repeated_notifications.py12CODE
LOWtest/backend/test_device_history.py20CODE
LOWtest/backend/test_device_history.py20CODE
LOWtest/backend/test_device_history.py20CODE
LOWtest/api_endpoints/test_mcp_disabled_tools.py4CODE
LOWtest/api_endpoints/test_mcp_disabled_tools.py5CODE
LOWserver/config_paths.py8CODE
LOWserver/plugins/unifi_import/script.py4CODE
LOWserver/plugins/snmp_discovery/script.py3CODE
LOWserver/plugins/dhcp_leases/script.py3CODE
LOWserver/models/parameters_instance.py11CODE
LOWserver/api_server/graphql_types.py1CODE
LOWserver/api_server/mcp_endpoint.py24CODE
LOWserver/api_server/openapi/registry.py1CODE
LOWserver/api_server/openapi/schema_converter.py1CODE
LOWserver/api_server/openapi/spec_generator.py31CODE
LOWserver/api_server/openapi/schemas.py14CODE
LOWserver/api_server/openapi/introspection.py1CODE
LOWserver/api_server/openapi/validation.py1CODE
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtest/scan/test_resource_history.py0create table if not exists resource_history ( "index" integer primary key autoincrement, resdatetime text not null, rescSTRING
HIGHtest/db/test_resource_history_rollup.py0create table if not exists resource_history ( "index" integer primary key autoincrement, resdatetime text not null, rescSTRING
HIGHtest/db/test_db_cleanup.py0create table if not exists resource_history ( "index" integer primary key autoincrement, resdatetime text not null, rescSTRING
HIGHserver/db/db_upgrade.py0create table if not exists resource_history ( "index" integer primary key autoincrement, resdatetime text not null, rescSTRING
AI Slop Vocabulary5 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUMserver/api_server/mcp_endpoint.py398 # 2. Prefer POST methods over GET for the same logic (usually more robust body validation).COMMENT
LOWserver/api_server/mcp_endpoint.py259 # if multiple prefixes are used, so we just return it.COMMENT
MEDIUMfront/lib/chart.js/Chart.js7309 // Essentially we now have any number of boxes on each of the 4 sides.COMMENT
MEDIUMfront/lib/datatables/datatables.js10670// understands anonymous AMD modules. A named AMD is safest and most robustCOMMENT
MEDIUMfront/lib/datatables/datatables.js33566// Note that DataTables 2.1 has more robust type detection, but we retainCOMMENT
AI Structural Patterns10 hits · 10 pts
SeverityFileLineSnippetContext
LOWtest/db_test_helpers.py663CODE
LOWtest/docker_tests/test_container_environment.py541CODE
LOWtest/backend/sql_safe_builder.py108CODE
LOWserver/app_state.py203CODE
LOWserver/app_state.py36CODE
LOWserver/plugins/plugin_helper.py321CODE
LOWserver/plugins/plugin_helper.py391CODE
LOWserver/api_server/openapi/registry.py86CODE
LOWserver/api_server/openapi/validation.py36CODE
LOWserver/db/sql_safe_builder.py117CODE
Slop Phrases4 hits · 7 pts
SeverityFileLineSnippetContext
LOWserver/plugin.py805 # compare hash of the changed watched columns for uniqueness - make sure you compare the values witSTRING
LOWserver/plugins/_publisher_mqtt/mqtt.py424 # If you intend to run multiple instances simultaneously, make sure to set unique client IDs for each instance.COMMENT
MEDIUMserver/plugins/asuswrt_import/script.py89 # Now you can use the router object to call methodsCOMMENT
MEDIUMserver/plugins/__template/rename_me.py140 # Sample data for testing purposes, you can adjust the processing in main() as neededCOMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM⚡test/plugins/test_pihole_monitor.py386# main() - orchestration, with PiholeSource's network methods stubbedCOMMENT
MEDIUMdocs/gen_plugin_pages.py54 continue # dev scaffolding (e.g. __template), not a real pluginCODE
Modern Structural Boilerplate5 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡test/docker_tests/test_container_environment.py1393 def _setup_restrictive_dir(host_path: pathlib.Path) -> None:CODE
LOWtest/docker_tests/test_container_environment.py828def _setup_zero_perm_dir(paths: dict[str, pathlib.Path], key: str) -> None:STRING
LOWserver/config_paths.py14__all__ = [CODE
LOWserver/plugins/adguard_export/script.py157 def update_client(self, old_name: str, client: dict) -> None:CODE
LOW⚡server/plugins/unifi_import/script.py262def set_lock_file_value(config_value: str, lock_file_value: bool) -> None:CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWfront/lib/datatables/datatables.js4141function getData( data ) {CODE