The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/products/free-netbox-cloud/
This report presents the forensic synthetic code analysis of netbox-community/netbox, a Python project with 21,090 GitHub stars. SynthScan v2.0 examined 270,118 lines of code across 1774 source files, recording 3023 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 14.2 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3023 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/denormalized.py | 31 | def update_denormalized_fields(sender, instance, created, raw, **kwargs): | CODE |
| LOW | netbox/netbox/utils.py | 60 | def register_request_processor(func): | CODE |
| LOW | netbox/netbox/middleware.py | 46 | def should_redirect_with_slash(self, request): | CODE |
| LOW | netbox/netbox/tables/tables.py | 298 | def _restrict_customlink_columns(self, user): | CODE |
| LOW | netbox/netbox/forms/mixins.py | 77 | def _append_customfield_fields(self): | CODE |
| LOW | netbox/netbox/plugins/registration.py | 20 | def register_template_extensions(class_list): | CODE |
| LOW | netbox/netbox/plugins/registration.py | 81 | def register_user_preferences(plugin_name, preferences): | CODE |
| LOW | netbox/netbox/plugins/registration.py | 88 | def register_serializer_resolver(app_label, resolver): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 35 | def test_empty_string_to_none_nullable_charfield(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 48 | def test_empty_string_to_none_nullable_integerfield(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 61 | def test_empty_string_to_none_nullable_smallintegerfield(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 74 | def test_empty_string_to_none_nullable_decimalfield(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 89 | def test_empty_string_to_none_nullable_foreignkey(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 108 | def test_empty_string_preserved_non_nullable_charfield(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 124 | def test_empty_string_not_converted_for_required_fields(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 138 | def test_non_string_none_value_preserved(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 153 | def test_non_string_numeric_values_preserved(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 168 | def test_manytomany_fields_skipped(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 181 | def test_fields_not_in_cleaned_data_skipped(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 195 | def test_valid_string_values_preserved(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 213 | def test_multiple_nullable_fields_with_empty_strings(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 237 | def test_mixed_nullable_and_non_nullable_empty_strings(self): | CODE |
| LOW | netbox/netbox/tests/test_forms.py | 258 | def test_wireless_fields_nullable(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 15 | def test_explicit_module_wins(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 23 | def test_checkout_uses_default_module(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 30 | def test_checkout_missing_module_raises_improperly_configured(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 40 | def test_wheel_prefers_conf_dir(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 103 | def test_import_from_path_removes_module_on_failure(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 112 | def test_import_from_path_rejects_unloadable_path(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 120 | def test_import_from_path_preserves_preexisting_sys_path_entry(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 204 | def test_wheel_mode_suggests_console_command(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 207 | def test_checkout_mode_suggests_generate_secret_key_script(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 215 | def test_loads_sibling_ldap_config(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 224 | def test_legacy_fallback_loads_historical_module_with_warning(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 232 | def test_legacy_fallback_prefers_sibling_file(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 242 | def test_legacy_fallback_disabled_raises(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 249 | def test_legacy_fallback_missing_module_raises(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 258 | def test_legacy_fallback_reraises_broken_dependency(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 267 | def test_none_config_dir_raises(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_settings_utils.py | 276 | def test_configuration_dir_setting_matches_active_configuration(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 57 | def test_wheel_falls_back_to_legacy_with_warning(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 72 | def test_wheel_missing_configuration_raises(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 79 | def test_explicit_module_reraises_other_import_error(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 91 | def test_import_from_path_loads_module_and_restores_sys_path(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 135 | def test_wheel_both_configs_present_warns_and_prefers_conf(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 157 | def test_returns_directory_of_module_file(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 162 | def test_returns_none_without_file(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 181 | def test_wheel_roots_default_netbox_root(self): | CODE |
| LOW | netbox/netbox/tests/test_settings_utils.py | 193 | def test_netbox_root_env_override_is_abspathed(self): | CODE |
| LOW | netbox/netbox/tests/test_model_test_coverage.py | 168 | def test_api_test_cases_exist_for_api_models(self): | CODE |
| LOW | netbox/netbox/tests/test_model_test_coverage.py | 183 | def test_view_test_cases_exist_for_ui_models(self): | CODE |
| LOW | netbox/netbox/tests/test_model_test_coverage.py | 198 | def test_filterset_test_cases_exist_for_registered_filtersets(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 225 | def test_import_optional_returns_module_when_present(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 230 | def test_import_optional_returns_none_for_missing_submodule(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 234 | def test_import_optional_returns_none_for_missing_parent(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 238 | def test_import_optional_propagates_unrelated_find_spec_error(self): | CODE |
| LOW | netbox/netbox/tests/test_model_test_coverage.py | 252 | def test_import_optional_propagates_import_module_errors(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 272 | def test_has_tests_detects_test_methods(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 284 | def test_get_queryset_model_prefers_queryset(self): | CODE |
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 290 | def test_get_queryset_model_falls_back_to_filterset(self): | CODE |
| 1602 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/settings.py | 1045 | CODE | |
| LOW | netbox/netbox/settings.py | 353 | CODE | |
| LOW | netbox/netbox/tables/__init__.py | 1 | CODE | |
| LOW | netbox/netbox/tables/__init__.py | 2 | CODE | |
| LOW | netbox/netbox/tables/tables.py | 17 | CODE | |
| LOW | netbox/netbox/tables/tables.py | 27 | CODE | |
| LOW | netbox/netbox/forms/model_forms.py | 7 | CODE | |
| LOW | netbox/netbox/forms/mixins.py | 5 | CODE | |
| LOW | netbox/netbox/forms/mixins.py | 6 | CODE | |
| LOW | netbox/netbox/forms/filtersets.py | 4 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 1 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 2 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 3 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 4 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 5 | CODE | |
| LOW | netbox/netbox/forms/__init__.py | 6 | CODE | |
| LOW | netbox/netbox/forms/bulk_import.py | 5 | CODE | |
| LOW | netbox/netbox/forms/bulk_edit.py | 5 | CODE | |
| LOW | netbox/netbox/plugins/__init__.py | 14 | CODE | |
| LOW | netbox/netbox/plugins/__init__.py | 15 | CODE | |
| LOW | netbox/netbox/plugins/__init__.py | 16 | CODE | |
| LOW | netbox/netbox/plugins/__init__.py | 17 | CODE | |
| LOW | netbox/netbox/tests/test_import.py | 2 | CODE | |
| LOW | netbox/netbox/tests/test_jobs.py | 14 | CODE | |
| LOW | netbox/netbox/tests/dummy_plugin/__init__.py | 27 | CODE | |
| LOW | netbox/netbox/tests/dummy_plugin/__init__.py | 27 | CODE | |
| LOW | netbox/netbox/tests/dummy_plugin/__init__.py | 27 | CODE | |
| LOW | netbox/netbox/tests/dummy_plugin/views.py | 14 | CODE | |
| LOW | netbox/netbox/navigation/menu.py | 7 | CODE | |
| LOW | netbox/netbox/models/mixins.py | 5 | CODE | |
| LOW | netbox/netbox/models/__init__.py | 10 | CODE | |
| LOW | netbox/netbox/models/features.py | 15 | CODE | |
| LOW | netbox/netbox/graphql/enums.py | 3 | CODE | |
| LOW | netbox/netbox/graphql/filter_mixins.py | 19 | CODE | |
| LOW | netbox/netbox/graphql/filter_mixins.py | 20 | CODE | |
| LOW | netbox/netbox/graphql/filter_mixins.py | 22 | CODE | |
| LOW | netbox/netbox/graphql/filters.py | 12 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 1 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 2 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 3 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 4 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 6 | CODE | |
| LOW | netbox/netbox/api/serializers/__init__.py | 7 | CODE | |
| LOW | netbox/netbox/views/__init__.py | 1 | CODE | |
| LOW | netbox/netbox/views/__init__.py | 2 | CODE | |
| LOW | netbox/netbox/views/generic/__init__.py | 1 | CODE | |
| LOW | netbox/netbox/views/generic/__init__.py | 2 | CODE | |
| LOW | netbox/netbox/views/generic/__init__.py | 3 | CODE | |
| LOW | netbox/core/signals.py | 15 | CODE | |
| LOW | netbox/core/filtersets.py | 12 | CODE | |
| LOW | netbox/core/filtersets.py | 13 | CODE | |
| LOW | netbox/core/apps.py | 9 | CODE | |
| LOW | netbox/core/apps.py | 31 | CODE | |
| LOW | netbox/core/apps.py | 32 | CODE | |
| LOW | netbox/core/apps.py | 32 | CODE | |
| LOW | netbox/core/apps.py | 32 | CODE | |
| LOW | netbox/core/apps.py | 33 | CODE | |
| LOW | netbox/core/apps.py | 36 | CODE | |
| LOW | netbox/core/apps.py | 36 | CODE | |
| LOW | netbox/core/apps.py | 36 | CODE | |
| 867 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | netbox/netbox/models/mixins.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/core/tests/test_signals.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/core/tests/test_management_commands.py | 295 | data_source_model.objects.filter.return_value.update.assert_called_once_with( | CODE |
| CRITICAL | netbox/core/models/files.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/core/models/change_logging.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/core/models/jobs.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/core/models/data.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/virtualization/forms/model_forms.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/virtualization/tests/test_models.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/virtualization/models/clusters.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/virtualization/models/virtualmachines.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/circuits/models/virtual_circuits.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/circuits/models/circuits.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/tenancy/models/contacts.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/forms/model_forms.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/forms/bulk_import.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/tests/test_models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/models/tunnels.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/models/crypto.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/vpn/models/l2vpn.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/fields.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/cable_profiles.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/svg/racks.py | 5 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | netbox/dcim/tests/test_models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/mixins.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/device_component_templates.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/sites.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/modules.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/racks.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/cables.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/cables.py | 659 | termination = self.termination._meta.model.objects.get(pk=self.termination_id) | CODE |
| CRITICAL | netbox/dcim/models/cables.py | 667 | termination = self.termination._meta.model.objects.get(pk=self.termination_id) | CODE |
| CRITICAL | netbox/dcim/models/devices.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/power.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/dcim/models/base.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/utilities/password_validation.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/utilities/validators.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/utilities/jsonschema.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/utilities/filters.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/utilities/templatetags/form_helpers.py | 54 | return field.field.widget.__class__.__name__.lower() | CODE |
| CRITICAL | netbox/utilities/forms/fields/csv.py | 3 | from django.core.exceptions import FieldError, MultipleObjectsReturned, ObjectDoesNotExist | CODE |
| CRITICAL | netbox/wireless/models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/users/views.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/users/forms/model_forms.py | 8 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | netbox/users/tests/test_models.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/users/models/users.py | 13 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/users/models/tokens.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/formfields.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/fields.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/filtersets.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/tests/test_models.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/models/asns.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/models/ip.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/ipam/models/vlans.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/extras/validators.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/extras/tests/test_signals.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL⚡ | netbox/extras/tests/test_lookups.py | 1 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | netbox/extras/tests/test_customfields.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | netbox/extras/tests/test_customvalidators.py | 2 | from django.core.exceptions import ValidationError | CODE |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | upgrade.sh | 50 | # Create a new virtual environment | COMMENT |
| MEDIUM | netbox/netbox/configuration_example.py | 71 | # Define a mapping of cryptographic peppers to use when hashing API tokens. A minimum of one pepper is required to | COMMENT |
| MEDIUM | netbox/netbox/tables/columns.py | 323 | # Create the actions dropdown menu | COMMENT |
| MEDIUM | netbox/netbox/tables/tables.py | 268 | # Create a copy to avoid modifying the original Column | COMMENT |
| MEDIUM | netbox/netbox/tests/test_authentication.py | 37 | # Create a v1 token | COMMENT |
| MEDIUM | netbox/netbox/tests/test_authentication.py | 59 | # Create a v2 token | COMMENT |
| MEDIUM | netbox/netbox/tests/test_authentication.py | 718 | # Create a permitted object | COMMENT |
| MEDIUM⚡ | netbox/netbox/tests/test_config.py | 65 | # Creating the first ConfigRevision fires the post_save handler, which activates it and | COMMENT |
| MEDIUM⚡ | netbox/netbox/tests/test_config.py | 107 | # Create a config but don't load it into the cache | COMMENT |
| MEDIUM⚡ | netbox/netbox/tests/test_config.py | 117 | # Create a config and load it into the cache | COMMENT |
| MEDIUM | netbox/netbox/tests/test_config.py | 129 | # Create a config and load it into the cache | COMMENT |
| MEDIUM | netbox/netbox/models/deletion.py | 54 | # Create a unique key for this relation | COMMENT |
| MEDIUM | netbox/netbox/api/viewsets/mixins.py | 66 | # Creating a single object | COMMENT |
| MEDIUM | netbox/netbox/views/generic/object_views.py | 588 | # Create the new components | COMMENT |
| MEDIUM | netbox/netbox/authentication/__init__.py | 106 | # Create a dictionary mapping permissions to their constraints | COMMENT |
| MEDIUM | netbox/netbox/authentication/__init__.py | 314 | # Create a new instance of django-auth-ldap's LDAPBackend with our own ObjectPermissions | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 46 | # Create a custom field on the Site model | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 56 | # Create a select custom field on the Site model | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 234 | # Create a Site | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 264 | # Create a Site | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 335 | # Create a cable between the interfaces | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 405 | # Create a custom field on the Site model | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 415 | # Create a select custom field on the Site model | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 654 | # Create a new Module | COMMENT |
| MEDIUM | netbox/core/tests/test_changelog.py | 666 | # Create an Interface on the Module | COMMENT |
| MEDIUM | netbox/virtualization/tests/test_views.py | 666 | # Create a child interface | COMMENT |
| MEDIUM⚡ | netbox/virtualization/tests/test_models.py | 62 | # Create the first VM | COMMENT |
| MEDIUM⚡ | netbox/virtualization/tests/test_models.py | 71 | # Create the second VM | COMMENT |
| MEDIUM | netbox/virtualization/tests/test_models.py | 108 | # Create the cluster type | COMMENT |
| MEDIUM | netbox/virtualization/tests/test_models.py | 647 | # Create a VM pinned to device_in_cluster | COMMENT |
| MEDIUM | netbox/virtualization/tests/test_models.py | 665 | # Create a VM pinned to a device | COMMENT |
| MEDIUM | netbox/virtualization/tests/test_api.py | 739 | # Create a child interface | COMMENT |
| MEDIUM | netbox/tenancy/tests/test_models.py | 10 | # Create a tree of contact groups: | COMMENT |
| MEDIUM | netbox/dcim/views.py | 118 | # Create a new Form class from ConfirmationForm | COMMENT |
| MEDIUM | netbox/dcim/svg/cables.py | 429 | # Create the connector | COMMENT |
| MEDIUM | netbox/dcim/tests/test_cablepaths2.py | 1245 | # Create a 2-connector trunk cable with both A-side connectors | COMMENT |
| MEDIUM | netbox/dcim/tests/test_cablepaths2.py | 1988 | # Create a PortMapping between frontport1 and rearport1 | COMMENT |
| MEDIUM | netbox/dcim/tests/test_signals.py | 312 | # Creating a PortMapping connecting the front and rear ports should retrace paths | COMMENT |
| MEDIUM⚡ | netbox/dcim/tests/test_views.py | 2739 | # Create a module *without* replicating components | STRING |
| MEDIUM⚡ | netbox/dcim/tests/test_views.py | 2748 | # Create a second module (in the next bay) with replicated components | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 977 | # Create the manufacturer and platform | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 1560 | # Create the manufacturer | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2776 | # Create a module *without* replicating components | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2797 | # Create a second module (in the next bay) with replicated components | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2835 | # Create an interface to be adopted | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2842 | # Create a module with adopted components | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2879 | # Create an interface to be adopted | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 2886 | # Create a module with adopted components | STRING |
| MEDIUM | netbox/dcim/tests/test_views.py | 3402 | # Create a child interface | STRING |
| MEDIUM⚡ | netbox/dcim/tests/test_models.py | 1751 | # Create a module type with a rear port template | COMMENT |
| MEDIUM⚡ | netbox/dcim/tests/test_models.py | 1757 | # Create a rear port template with 12 positions (splice) | COMMENT |
| MEDIUM⚡ | netbox/dcim/tests/test_models.py | 1836 | # Create a module type without any port template mappings | COMMENT |
| MEDIUM⚡ | netbox/dcim/tests/test_models.py | 1842 | # Create a rear port template | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 496 | # Create a CustomField with a default value & assign it to all component models | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 904 | # Create a disabled device bay with a device being installed | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 945 | # Create an enabled device bay with a device installed | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 974 | # Create a CustomField with a default value & assign it to all component models | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 1886 | # Create a disabled module bay | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 2324 | # Create a VirtualChassis with two member devices | COMMENT |
| MEDIUM | netbox/dcim/tests/test_models.py | 2369 | # Create a VirtualChassis | COMMENT |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/filtersets.py | 102 | CODE | |
| LOW | netbox/netbox/filtersets.py | 176 | CODE | |
| LOW | netbox/netbox/filtersets.py | 382 | CODE | |
| LOW | netbox/netbox/jobs.py | 99 | CODE | |
| LOW | netbox/netbox/tables/tables.py | 119 | CODE | |
| LOW | netbox/netbox/models/__init__.py | 83 | CODE | |
| LOW | netbox/netbox/models/features.py | 139 | CODE | |
| LOW | netbox/netbox/models/deletion.py | 16 | CODE | |
| LOW | netbox/netbox/search/backends.py | 118 | CODE | |
| LOW | netbox/netbox/search/backends.py | 199 | CODE | |
| LOW | netbox/netbox/graphql/pagination.py | 29 | CODE | |
| LOW | netbox/netbox/api/fields.py | 65 | CODE | |
| LOW | netbox/netbox/api/pagination.py | 115 | CODE | |
| LOW | netbox/netbox/views/generic/object_views.py | 270 | CODE | |
| LOW | netbox/netbox/views/generic/object_views.py | 553 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 396 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 489 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 554 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 702 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 792 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 887 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 1021 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 1055 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 1158 | CODE | |
| LOW | netbox/netbox/views/generic/bulk_views.py | 1281 | CODE | |
| LOW | netbox/core/signals.py | 88 | CODE | |
| LOW | netbox/core/signals.py | 165 | CODE | |
| LOW | netbox/core/models/data.py | 180 | CODE | |
| LOW | netbox/virtualization/forms/model_forms.py | 142 | CODE | |
| LOW | netbox/virtualization/forms/bulk_edit.py | 301 | CODE | |
| LOW | netbox/virtualization/models/virtualmachines.py | 288 | CODE | |
| LOW | netbox/circuits/models/circuits.py | 417 | CODE | |
| LOW | netbox/vpn/forms/model_forms.py | 462 | CODE | |
| LOW | netbox/dcim/views.py | 130 | CODE | |
| LOW | netbox/dcim/svg/cables.py | 152 | CODE | |
| LOW | netbox/dcim/svg/cables.py | 336 | CODE | |
| LOW | netbox/dcim/forms/model_forms.py | 1390 | CODE | |
| LOW | netbox/dcim/forms/model_forms.py | 1876 | CODE | |
| LOW | netbox/dcim/forms/connections.py | 12 | CODE | |
| LOW | netbox/dcim/forms/connections.py | 16 | CODE | |
| LOW | netbox/dcim/forms/object_create.py | 57 | CODE | |
| LOW | netbox/dcim/forms/common.py | 74 | CODE | |
| LOW | netbox/dcim/forms/bulk_edit.py | 1611 | CODE | |
| LOW | netbox/dcim/models/mixins.py | 105 | CODE | |
| LOW | netbox/dcim/models/modules.py | 332 | CODE | |
| LOW | netbox/dcim/models/racks.py | 487 | CODE | |
| LOW | netbox/dcim/models/racks.py | 550 | CODE | |
| LOW | netbox/dcim/models/cables.py | 276 | CODE | |
| LOW | netbox/dcim/models/cables.py | 373 | CODE | |
| LOW | netbox/dcim/models/cables.py | 845 | CODE | |
| LOW | netbox/dcim/api/serializers_/devices.py | 213 | CODE | |
| LOW | netbox/utilities/fields.py | 77 | CODE | |
| LOW | netbox/utilities/fields.py | 237 | CODE | |
| LOW | netbox/utilities/prefetch.py | 11 | CODE | |
| LOW | netbox/utilities/choices.py | 20 | CODE | |
| LOW | netbox/utilities/tracking.py | 62 | CODE | |
| LOW | netbox/utilities/templatetags/tabs.py | 20 | CODE | |
| LOW | netbox/utilities/templatetags/form_helpers.py | 121 | CODE | |
| LOW | netbox/utilities/templatetags/navigation.py | 14 | CODE | |
| LOW | netbox/utilities/templatetags/helpers.py | 451 | CODE | |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | netbox/netbox/api/pagination.py | 26 | offset-based pagination. In cursor mode, `count` is omitted (null) for performance. | STRING |
| HIGH | netbox/dcim/forms/bulk_edit.py | 1629 | # Query for VLANs assigned to the same site and VLANs with no site assigned (null). | COMMENT |
| HIGH⚡ | netbox/dcim/models/cables.py | 898 | # If not null, push cable positions onto the stack | COMMENT |
| HIGH | netbox/utilities/tests/test_filter_modifiers.py | 113 | # Simulate a query for objects with no tenant assigned (?tenant_id=null) | COMMENT |
| HIGH | netbox/extras/lookups.py | 80 | A key is considered empty if it is "", null, or does not exist. | STRING |
| HIGH⚡ | netbox/extras/tests/test_models.py | 1483 | clean() should accept a JSON object (or null) as action_data. | STRING |
| HIGH | netbox/extras/models/models.py | 147 | # action_data must be a JSON object (or null) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/jobs.py | 117 | except Exception as e: | CODE |
| LOW | netbox/netbox/settings_utils.py | 111 | except Exception: | CODE |
| LOW | netbox/netbox/tables/columns.py | 596 | except Exception as e: | STRING |
| LOW | netbox/netbox/tables/columns.py | 605 | except Exception: | STRING |
| MEDIUM | netbox/netbox/tables/columns.py | 592 | def render(self, record, table, **kwargs): | CODE |
| MEDIUM | netbox/netbox/tables/columns.py | 601 | def value(self, record, table, **kwargs): | CODE |
| LOW | netbox/netbox/views/misc.py | 52 | except Exception: | CODE |
| LOW | netbox/netbox/views/misc.py | 64 | except Exception: | CODE |
| LOW | netbox/netbox/views/generic/bulk_views.py | 137 | except Exception as e: | CODE |
| LOW | netbox/core/checks.py | 69 | except Exception: | CODE |
| LOW | netbox/core/checks.py | 93 | except Exception: | CODE |
| LOW | netbox/core/apps.py | 54 | except Exception: | CODE |
| LOW | netbox/core/jobs.py | 53 | except Exception as e: | CODE |
| LOW | netbox/core/tables/tasks.py | 110 | except Exception as e: | CODE |
| MEDIUM | netbox/core/tables/tasks.py | 107 | def render_callable(self, value, record): | CODE |
| LOW⚡ | netbox/core/tests/test_data_backends.py | 78 | except Exception: | CODE |
| LOW | netbox/core/management/commands/syncdatasource.py | 41 | except Exception as e: | CODE |
| LOW | netbox/utilities/request.py | 120 | except Exception as e: | CODE |
| LOW | netbox/utilities/api.py | 66 | except Exception: | CODE |
| LOW | netbox/utilities/rqworker.py | 45 | except Exception: | CODE |
| MEDIUM | netbox/utilities/rqworker.py | 32 | def heartbeat(self, *args, **kwargs): | CODE |
| LOW | netbox/utilities/templatetags/plugins.py | 45 | except Exception as e: | CODE |
| LOW | netbox/extras/jobs.py | 68 | except Exception as e: | CODE |
| LOW | netbox/extras/scripts.py | 617 | except Exception as e: | CODE |
| LOW | netbox/extras/webhooks.py | 78 | except Exception as e: | CODE |
| LOW | netbox/extras/views.py | 1315 | except Exception as e: | CODE |
| LOW | netbox/extras/templatetags/dashboard.py | 15 | except Exception as e: | CODE |
| LOW | netbox/extras/templatetags/custom_links.py | 69 | except Exception as e: | STRING |
| LOW | netbox/extras/templatetags/custom_links.py | 84 | except Exception as e: | STRING |
| LOW | netbox/extras/forms/scripts.py | 89 | except Exception as e: | CODE |
| LOW | netbox/extras/forms/scripts.py | 98 | except Exception as e: | CODE |
| LOW | netbox/extras/models/scripts.py | 140 | except Exception as e: | CODE |
| LOW | netbox/extras/api/mixins.py | 60 | except Exception as e: | CODE |
| MEDIUM | netbox/extras/api/mixins.py | 57 | def render_configtemplate(self, request, configtemplate, context): | CODE |
| LOW | netbox/extras/api/serializers_/scripts.py | 65 | except Exception as e: | CODE |
| LOW | netbox/extras/api/serializers_/scripts.py | 95 | except Exception: | CODE |
| LOW | netbox/extras/api/serializers_/scripts.py | 109 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/configuration_example.py | 41 | # Set this to True to skip TLS certificate verification | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 57 | # Set this to True to skip TLS certificate verification | COMMENT |
| LOW | netbox/netbox/plugins/urls.py | 25 | # Check if the plugin specifies any base URLs | COMMENT |
| LOW | netbox/netbox/plugins/urls.py | 32 | # Check if the plugin specifies any API URLs | COMMENT |
| LOW | netbox/netbox/plugins/views.py | 55 | # Check if the plugin specifies any API URLs | COMMENT |
| LOW | netbox/netbox/views/generic/bulk_views.py | 723 | # Iterate through data and bind each record to a new model form instance. Object-level | COMMENT |
| LOW | netbox/dcim/tests/test_models.py | 1728 | # Assign bay2 to module1 and verify parent is now set to bay1 (module1's bay) | COMMENT |
| LOW | netbox/dcim/models/modules.py | 383 | # Check if there's a component with the same name already | COMMENT |
| LOW | netbox/dcim/models/modules.py | 385 | # Assign it to the module | COMMENT |
| LOW | netbox/utilities/fields.py | 106 | # Check if the content type actually exists | COMMENT |
| LOW | netbox/utilities/templatetags/buttons.py | 42 | # Check if this user has already bookmarked the object | COMMENT |
| LOW | netbox/utilities/templatetags/buttons.py | 77 | # Check if this user has already subscribed to the object | COMMENT |
| LOW | netbox/utilities/templatetags/helpers.py | 494 | # Check if this is a modifier-enhanced field | COMMENT |
| LOW | netbox/utilities/forms/fields/csv.py | 27 | # Check if value is omitted using parent behavior | COMMENT |
| LOW | netbox/ipam/forms/model_forms.py | 554 | # Check if we need to create a new IPAddress for the group | COMMENT |
| LOW | netbox/ipam/tests/test_filtersets.py | 2101 | # Assign VLANs to device interfaces | COMMENT |
| LOW | netbox/ipam/tests/test_filtersets.py | 2109 | # Assign VLANs to VM interfaces | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/configuration_example.py | 91 | # ('John Doe', 'jdoe@example.com'), | COMMENT |
| LOW⚡ | netbox/netbox/tests/test_search.py | 23 | comments='Lorem ipsum etcetera' | CODE |
| LOW⚡ | netbox/netbox/tests/test_search.py | 32 | comments='Lorem ipsum etcetera' | CODE |
| LOW⚡ | netbox/netbox/tests/test_search.py | 41 | comments='Lorem ipsum etcetera' | CODE |
| LOW | netbox/netbox/tests/test_search.py | 104 | comments='Lorem ipsum etcetera' | CODE |
| LOW | netbox/core/forms/model_forms.py | 46 | 'placeholder': '.cache\n*.txt\nsubdir/*' | CODE |
| LOW | netbox/project-static/src/forms/filterModifiers.ts | 69 | valueInput.setAttribute('placeholder', placeholder); | CODE |
| LOW | netbox/project-static/src/forms/filterModifiers.ts | 72 | valueInput.removeAttribute('placeholder'); | CODE |
| LOW | netbox/utilities/templatetags/builtins/filters.py | 31 | 'placeholder', | CODE |
| LOW | netbox/utilities/forms/fields/fields.py | 144 | self.widget.attrs['placeholder'] = '' | CODE |
| LOW⚡ | netbox/utilities/forms/widgets/datetime.py | 17 | self.attrs['placeholder'] = 'YYYY-MM-DD' | CODE |
| LOW⚡ | netbox/utilities/forms/widgets/datetime.py | 27 | self.attrs['placeholder'] = 'YYYY-MM-DD hh:mm:ss' | CODE |
| LOW⚡ | netbox/utilities/forms/widgets/datetime.py | 37 | self.attrs['placeholder'] = 'hh:mm:ss' | CODE |
| LOW | netbox/ipam/forms/filtersets.py | 212 | 'placeholder': 'Prefix', | CODE |
| LOW | netbox/ipam/forms/filtersets.py | 365 | 'placeholder': 'Prefix', | CODE |
| LOW | netbox/extras/tests/test_management_commands.py | 253 | email='admin@example.com', | CODE |
| LOW | docs/plugins/development/index.md | 167 | {name = "John Doe", email = "test@netboxlabs.com"}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | netbox/dcim/models/cables.py | 894 | # Step 1: Record the near-end termination object(s) | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 902 | # Step 2: Determine the attached links (Cable or WirelessLink), if any | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 918 | # Step 3: Record asymmetric paths as split | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 924 | # Step 4: Record the links, keeping cables in order to allow for SVG rendering | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 931 | # Step 5: Update the path status if a link is not connected | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 936 | # Step 6: Determine the far-end terminations | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 1026 | # Step 7: Record the far-end termination object(s) | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 1031 | # Step 8: Determine the "next hop" terminations, if applicable | COMMENT |
| LOW | docs/customization/reports.md | 8 | ### Step 1: Update Class Definition | COMMENT |
| LOW | docs/customization/reports.md | 24 | ### Step 2: Update Logging Calls | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | netbox/dcim/models/cables.py | 894 | # Step 1: Record the near-end termination object(s) | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 902 | # Step 2: Determine the attached links (Cable or WirelessLink), if any | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 918 | # Step 3: Record asymmetric paths as split | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 924 | # Step 4: Record the links, keeping cables in order to allow for SVG rendering | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 931 | # Step 5: Update the path status if a link is not connected | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 936 | # Step 6: Determine the far-end terminations | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 1026 | # Step 7: Record the far-end termination object(s) | COMMENT |
| LOW⚡ | netbox/dcim/models/cables.py | 1031 | # Step 8: Determine the "next hop" terminations, if applicable | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | base_requirements.txt | 21 | # Django Debug Toolbar extension for GraphiQL | COMMENT |
| LOW | base_requirements.txt | 121 | # Library for manipulating IP prefixes and addresses | COMMENT |
| LOW | base_requirements.txt | 141 | COMMENT | |
| LOW | netbox/netbox/configuration_example.py | 1 | ######################### | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 41 | # Set this to True to skip TLS certificate verification | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 61 | # 'CA_CERT_PATH': '/etc/ssl/certs/ca.crt', | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 81 | COMMENT | |
| LOW | netbox/netbox/configuration_example.py | 141 | } | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 181 | # the default value of this setting is derived from the installed location. | COMMENT |
| LOW | netbox/netbox/configuration_example.py | 221 | COMMENT | |
| LOW | netbox/netbox/configuration_example.py | 241 | # following configuration is used: | COMMENT |
| LOW | netbox/netbox/authentication/misc.py | 1 | # Copyright (c) 2009, Peter Sagerson | COMMENT |
| LOW | netbox/core/signals.py | 201 | objectchange.user = request.user | COMMENT |
| LOW | netbox/core/signals.py | 221 | continue | COMMENT |
| LOW | netbox/templates/graphql/graphiql.html | 61 | COMMENT | |
| LOW | netbox/ipam/constants.py | 1 | from django.db.models import Q | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | netbox/netbox/search/backends.py | 190 | # Omit any results pertaining to an object the user does not have permission to view | COMMENT |
| MEDIUM | netbox/core/signals.py | 120 | # This will impact changes that utilize clear() however so we may want to give consideration for this branch | COMMENT |
| MEDIUM | netbox/core/models/data.py | 356 | # TODO: Something more robust | COMMENT |
| LOW | netbox/core/api/schema.py | 137 | # if not bulk - just return normal id | COMMENT |
| MEDIUM | netbox/dcim/models/cables.py | 227 | # Query self.terminations.all() to leverage cached results | COMMENT |
| LOW | netbox/utilities/paginator.py | 48 | # When dealing with five or fewer pages, simply return the whole list. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | netbox/netbox/graphql/filter_lookups.py | 22 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | netbox/netbox/graphql/filter_lookups.py | 24 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | netbox/project-static/styles/custom/_misc.scss | 100 | // ── Sticky action bars ────────────────────────────────────── | COMMENT |
| MEDIUM | netbox/project-static/styles/custom/_misc.scss | 182 | // ── /Sticky action bars ───────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/core/models/jobs.py | 270 | CODE | |
| LOW | netbox/dcim/svg/racks.py | 98 | CODE | |
| LOW | netbox/dcim/models/racks.py | 600 | CODE | |
| LOW | netbox/utilities/forms/fields/dynamic.py | 88 | CODE | |
| LOW | netbox/users/utils.py | 76 | CODE | |
| LOW | netbox/extras/models/mixins.py | 234 | CODE | |
| LOW | netbox/extras/dashboard/widgets.py | 123 | CODE | |
| LOW | netbox/extras/api/serializers_/tags.py | 68 | CODE | |
| LOW | netbox/extras/api/serializers_/scripts.py | 169 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | netbox/utilities/templatetags/helpers.py | 98 | Render the action URL node. Args: context: The template context Returns: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | upgrade.sh | 150 | echo "Upgrade complete! Don't forget to restart the NetBox services:" | CODE |
| MEDIUM | netbox/extras/constants.py | 122 | 'This is your personal dashboard. Feel free to customize it by rearranging, resizing, or removing ' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | netbox/netbox/cli.py | 66 | # `setup` owns its own parser (netbox.scaffold); dispatch before the wrapper parser. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | netbox/netbox/search/backends.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | netbox/extras/api/serializers_/scripts.py | 16 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | netbox/netbox/tests/test_model_test_coverage.py | 278 | def helper(self): | CODE |