JumpServer is an Open-source Privileged Access Management (PAM) platform with AI-powered capabilities, providing DevOps and IT teams a unified workspace to securely access SSH, RDP, Kubernetes, databases, websites, RemoteApp, VirtualApp, and more.
This report summarizes scanner evidence for jumpserver/jumpserver, a Python project with 31,745 GitHub stars. SynthScan examined 197,362 lines of code across 1768 source files, recording 3263 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 21.7 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1471 finding(s).
Are imports declared and package/API names verified? 836 finding(s).
Are wrappers, guards, and repeated structures necessary? 2183 finding(s).
Which changes need focused human review? 3263 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3263 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/test_run_migrations.py | 23 | def migrate_system_role_binding(apps, schema_editor): | CODE |
| LOW | apps/settings/models.py | 100 | def refresh_ldap_timeout_if_need(self, value): | CODE |
| LOW | apps/settings/models.py | 107 | def refresh_keycloak_to_openid_if_need(self): | CODE |
| LOW | apps/settings/tests.py | 23 | def test_custom_ca_is_added_to_default_context(self, create_context): | CODE |
| LOW | apps/settings/tests.py | 31 | def test_certificate_verification_can_be_disabled(self, create_context): | CODE |
| LOW⚡ | apps/settings/tests.py | 48 | def test_custom_ca_mode_requires_certificate(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 56 | def test_custom_ca_is_not_required_without_tls(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 65 | def test_private_key_is_rejected(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 73 | def test_invalid_ca_certificate_is_rejected(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 87 | def test_enabled_api_requires_base_url(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 97 | def test_enabled_api_accepts_http_url_without_embed_url(self): | CODE |
| LOW⚡ | apps/settings/tests.py | 107 | def test_enabled_iframe_requires_embed_url(self): | CODE |
| LOW | apps/settings/tests.py | 118 | def test_enabled_iframe_accepts_https_url_without_base_url(self): | CODE |
| LOW | apps/settings/tests.py | 128 | def test_iframe_rejects_non_http_urls(self): | CODE |
| LOW | apps/settings/tests.py | 148 | def test_partial_update_validates_configured_iframe_method(self): | CODE |
| LOW | apps/settings/tests.py | 156 | def test_sort_ignores_missing_field(self): | CODE |
| LOW | apps/settings/tests.py | 198 | async def test_view_only_users_cannot_connect(self): | CODE |
| LOW | apps/settings/tests.py | 210 | async def test_users_without_auth_permission_cannot_connect(self): | CODE |
| LOW | apps/settings/tests.py | 223 | async def test_auth_settings_editors_can_test_ldap(self): | CODE |
| LOW⚡ | apps/settings/signal_handlers.py | 35 | def refresh_settings_on_changed(sender, instance=None, **kwargs): | CODE |
| LOW⚡ | apps/settings/signal_handlers.py | 42 | def on_django_ready_add_db_config(sender, **kwargs): | CODE |
| LOW⚡ | apps/settings/signal_handlers.py | 47 | def auto_generate_terminal_host_key(sender, **kwargs): | CODE |
| LOW | apps/settings/signal_handlers.py | 59 | def subscribe_settings_change(sender, **kwargs): | CODE |
| LOW | apps/settings/signal_handlers.py | 80 | def after_migrate_some_config(sender, app_config, **kwargs): | CODE |
| LOW | apps/settings/signal_handlers.py | 121 | def register_sqlite_connection(sender, **kwargs): | CODE |
| LOW | apps/settings/tasks/ldap.py | 122 | def import_ldap_user_periodic(**kwargs): | CODE |
| LOW | apps/settings/tasks/ldap.py | 138 | def import_ldap_ha_user_periodic(**kwargs): | CODE |
| LOW | apps/settings/utils/ldap.py | 63 | def is_memberof_groups_mapping(mapping): | CODE |
| LOW | apps/settings/utils/ldap.py | 67 | def unescape_dn_attribute_value(value): | CODE |
| LOW | apps/settings/utils/ldap.py | 94 | def extract_ou_values_from_dn(dn): | CODE |
| LOW | apps/settings/utils/ldap.py | 248 | def iter_ldap_search_attributes(self): | CODE |
| LOW | apps/settings/utils/ldap.py | 541 | def _get_memberof_group_names(self, groups) -> list: | CODE |
| LOW | apps/settings/utils/ldap.py | 774 | def _test_search_ou_and_filter(self): | CODE |
| LOW | apps/settings/utils/ldap.py | 786 | def test_search_ou_and_filter(self): | CODE |
| LOW | apps/settings/utils/common.py | 9 | def get_interface_setting_or_default(): | CODE |
| LOW | apps/settings/serializers/feature.py | 38 | def validate_chat_ai_base_url(value): | CODE |
| LOW | apps/settings/serializers/feature.py | 45 | def validate_secret_destination(attrs, secret_field, destination_fields): | CODE |
| LOW | apps/settings/serializers/feature.py | 57 | def validate_ssh_ca_openbao_address(value): | CODE |
| LOW | apps/settings/serializers/feature.py | 87 | def validate_ssh_ca_source_addresses(value): | CODE |
| LOW | apps/settings/serializers/auth/mixin.py | 20 | def _sync_tls_certs_if_needed(self): | CODE |
| LOW | apps/settings/serializers/auth/mixin.py | 36 | def _invalidate_ldap_users_cache_if_needed(self): | CODE |
| LOW | apps/settings/api/security.py | 36 | def get_page_offset_and_limit(self): | CODE |
| LOW | apps/settings/api/settings.py | 211 | def prepare_openbao_mount_change(self, serializer): | CODE |
| LOW | apps/settings/api/i18n.py | 18 | def get_component_translations(self, name): | CODE |
| LOW | apps/rbac/tree.py | 408 | def _get_permission_name_icon(self, p: Permission, content_types_name_mapper: dict): | CODE |
| LOW | apps/rbac/backends.py | 15 | def username_allow_authenticate(self, username): | CODE |
| LOW | apps/rbac/builtin.py | 164 | def get_system_role_by_old_name(cls, name): | CODE |
| LOW | apps/rbac/signal_handlers.py | 10 | def after_migrate_update_builtin_role_permissions(sender, app_config, **kwargs): | CODE |
| LOW | apps/rbac/signal_handlers.py | 25 | def on_system_role_permission_changed(sender, instance, **kwargs): | CODE |
| LOW | apps/rbac/signal_handlers.py | 31 | def on_system_role_binding_update(sender, instance, **kwargs): | CODE |
| LOW | apps/rbac/signal_handlers.py | 43 | def on_org_role_permission_changed(sender, instance, action, **kwargs): | CODE |
| LOW | apps/rbac/signal_handlers.py | 49 | def on_org_role_binding_update(sender, instance, **kwargs): | CODE |
| LOW | apps/rbac/models/rolebinding.py | 137 | def get_user_has_the_perm_orgs(cls, perm, user): | CODE |
| LOW | apps/tickets/utils.py | 14 | def send_ticket_applied_mail_to_assignees(ticket, assignees): | CODE |
| LOW | apps/tickets/utils.py | 30 | def send_ticket_processed_mail_to_applicant(ticket, processor): | CODE |
| LOW | apps/tickets/utils.py | 41 | def send_ticket_updated_mail_to_cc_users(ticket): | CODE |
| LOW | apps/tickets/filters.py | 117 | def filter_applicant_username_name(queryset, name, value): | CODE |
| LOW | apps/tickets/tests/test_session_api.py | 69 | def test_unrelated_user_cannot_read_session_in_same_or_other_org(self): | CODE |
| LOW | apps/tickets/tests/test_session_api.py | 75 | def test_ticket_related_user_can_read_session_across_orgs(self): | CODE |
| LOW | apps/tickets/tests/test_session_api.py | 86 | def test_auditor_can_read_session_in_authorized_org(self): | CODE |
| 1118 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/get_no_parent_nodes.py | 17 | CODE | |
| LOW | utils/mongodb_ping.py | 3 | CODE | |
| LOW | utils/mongodb_ping.py | 3 | CODE | |
| LOW | utils/mongodb_ping.py | 3 | CODE | |
| LOW | utils/generate_fake_data/resources/system.py | 4 | CODE | |
| LOW | utils/generate_fake_data/resources/users.py | 7 | CODE | |
| LOW | utils/generate_fake_data/resources/terminal.py | 2 | CODE | |
| LOW | utils/generate_fake_data/resources/terminal.py | 3 | CODE | |
| LOW | utils/generate_fake_data/resources/terminal.py | 4 | CODE | |
| LOW | utils/generate_fake_data/resources/terminal.py | 5 | CODE | |
| LOW | utils/generate_fake_data/resources/perms.py | 6 | CODE | |
| LOW | utils/generate_fake_data/resources/perms.py | 7 | CODE | |
| LOW | utils/generate_fake_data/resources/perms.py | 8 | CODE | |
| LOW | utils/generate_fake_data/resources/assets.py | 7 | CODE | |
| LOW | requirements/download_face_models.py | 4 | CODE | |
| LOW | apps/manage.py | 19 | CODE | |
| LOW | apps/settings/models.py | 8 | CODE | |
| LOW | apps/settings/apps.py | 10 | CODE | |
| LOW | apps/settings/apps.py | 11 | CODE | |
| LOW | apps/settings/admin.py | 1 | CODE | |
| LOW | apps/settings/signal_handlers.py | 15 | CODE | |
| LOW | apps/settings/tasks/__init__.py | 4 | CODE | |
| LOW | apps/settings/tools/__init__.py | 3 | CODE | |
| LOW | apps/settings/tools/__init__.py | 4 | CODE | |
| LOW | apps/settings/tools/__init__.py | 5 | CODE | |
| LOW | apps/settings/tools/__init__.py | 6 | CODE | |
| LOW | apps/settings/tools/__init__.py | 7 | CODE | |
| LOW | apps/settings/tools/ping.py | 10 | CODE | |
| LOW | apps/settings/utils/__init__.py | 4 | CODE | |
| LOW | apps/settings/utils/__init__.py | 5 | CODE | |
| LOW | apps/settings/utils/__init__.py | 6 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 4 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 5 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 6 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 7 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 8 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 9 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 10 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 11 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 12 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 13 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 14 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 15 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 16 | CODE | |
| LOW | apps/settings/serializers/__init__.py | 17 | CODE | |
| LOW | apps/settings/serializers/auth/mixin.py | 4 | CODE | |
| LOW | apps/settings/serializers/auth/ukey.py | 4 | CODE | |
| LOW | apps/settings/serializers/auth/ukey.py | 5 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 1 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 2 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 3 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 4 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 5 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 6 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 7 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 8 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 9 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 10 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 11 | CODE | |
| LOW | apps/settings/serializers/auth/__init__.py | 12 | CODE | |
| 721 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/change_user_password.py | 74 | except Exception as exc: | CODE |
| LOW | utils/mongodb_ping.py | 107 | except Exception as e: | STRING |
| LOW | utils/mongodb_ping.py | 118 | except Exception: # noqa | STRING |
| LOW | requirements/download_face_models.py | 112 | except Exception: | CODE |
| LOW | requirements/download_face_models.py | 177 | except Exception: | CODE |
| LOW | apps/settings/ws.py | 115 | except Exception as error: | CODE |
| LOW | apps/settings/ws.py | 173 | except Exception as error: | CODE |
| LOW | apps/settings/ws.py | 278 | except Exception as e: | CODE |
| MEDIUM | apps/settings/ws.py | 164 | def receive(self, text_data=None, bytes_data=None, **kwargs): | CODE |
| LOW | apps/settings/tools/telnet.py | 45 | except Exception as e: | CODE |
| LOW | apps/settings/tools/nmap.py | 96 | except Exception: | CODE |
| LOW | apps/settings/tools/nmap.py | 138 | except Exception as err: | CODE |
| LOW | apps/settings/tools/traceroute.py | 81 | except Exception as e: | CODE |
| MEDIUM | apps/settings/utils/ldap.py | 727 | def test_server_uri(self): | CODE |
| MEDIUM | apps/settings/utils/ldap.py | 757 | def test_bind_dn(self): | CODE |
| MEDIUM | apps/settings/utils/ldap.py | 786 | def test_search_ou_and_filter(self): | CODE |
| MEDIUM | apps/settings/utils/ldap.py | 817 | def test_attr_map(self): | CODE |
| LOW | apps/settings/utils/ldap.py | 244 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 495 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 534 | except Exception: | CODE |
| LOW | apps/settings/utils/ldap.py | 596 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 739 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 766 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 796 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 824 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 868 | except Exception as e: | CODE |
| LOW | apps/settings/utils/ldap.py | 909 | except Exception as e: | CODE |
| LOW | apps/settings/api/ldap.py | 84 | except Exception as e: | CODE |
| LOW | apps/settings/api/ssh_ca.py | 60 | except Exception as e: | CODE |
| MEDIUM | apps/settings/api/ssh_ca.py | 57 | def get(self, request): | CODE |
| LOW | apps/settings/api/chat.py | 182 | except Exception as error: | CODE |
| LOW | apps/settings/api/chat.py | 245 | except Exception as error: | CODE |
| LOW | apps/settings/api/vault.py | 48 | except Exception as e: | CODE |
| LOW | apps/settings/api/email.py | 70 | except Exception as e: | CODE |
| LOW | apps/settings/api/settings.py | 256 | except Exception as e: | CODE |
| LOW | apps/settings/api/sms.py | 168 | except Exception as e: | CODE |
| LOW | apps/rbac/permissions.py | 105 | except Exception as e: | CODE |
| LOW | apps/tickets/views/approve.py | 126 | except Exception as e: | CODE |
| LOW | apps/tickets/handlers/apply_asset.py | 73 | except Exception as e: | CODE |
| LOW | apps/audits/tasks.py | 161 | except Exception as e: | CODE |
| LOW⚡ | apps/audits/handler.py | 103 | except Exception as err: | CODE |
| LOW | apps/audits/handler.py | 224 | except Exception as e: | CODE |
| LOW | apps/audits/models.py | 49 | except Exception: | CODE |
| MEDIUM | apps/audits/models.py | 46 | def _get_city_display(ip, city='') -> str: | CODE |
| LOW | apps/audits/utils.py | 95 | except Exception as e: | CODE |
| LOW | apps/audits/signal_handlers/activity_log.py | 101 | except Exception as e: | CODE |
| LOW | apps/acls/models/command_acl.py | 85 | except Exception as e: | CODE |
| LOW | apps/acls/models/login_asset_acl.py | 39 | except Exception: | CODE |
| LOW | apps/acls/models/login_asset_acl.py | 47 | except Exception: | CODE |
| MEDIUM | apps/acls/models/login_asset_acl.py | 44 | def _cache_review(key, ticket_id, timeout): | CODE |
| LOW | apps/perms/tasks.py | 121 | except Exception: | CODE |
| LOW | apps/terminal/startup.py | 62 | except Exception: | CODE |
| LOW⚡ | apps/terminal/tasks.py | 242 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/__init__.py | 17 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/common.py | 41 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/common.py | 66 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/common.py | 192 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/common.py | 209 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/common.py | 227 | except Exception as e: | CODE |
| LOW | apps/terminal/applets/dbx/main.py | 25 | except Exception as e: | CODE |
| 390 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | utils/clean_duplicate_user_groups.py | 26 | except FieldError: | CODE |
| HIGH | utils/mongodb_ping.py | 118 | except Exception: # noqa | CODE |
| HIGH | apps/manage.py | 8 | except: | CODE |
| HIGH | apps/settings/models.py | 82 | except (ProgrammingError, OperationalError): | CODE |
| HIGH | apps/settings/signal_handlers.py | 54 | except: | CODE |
| HIGH | apps/settings/signal_handlers.py | 97 | except (ProgrammingError, OperationalError): | CODE |
| HIGH | apps/audits/tasks.py | 236 | except: | CODE |
| HIGH | apps/audits/models.py | 331 | except (AttributeError, KeyError, IndexError, TypeError, ValueError): | CODE |
| HIGH | apps/audits/utils.py | 121 | except: | CODE |
| HIGH | apps/audits/utils.py | 112 | except: | CODE |
| HIGH | apps/terminal/tasks.py | 100 | except: | CODE |
| HIGH | apps/terminal/tasks.py | 120 | except: | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 90 | except OSError: | CODE |
| HIGH | apps/terminal/models/session/session.py | 114 | except: | CODE |
| HIGH | apps/terminal/signal_handlers/virtualapp.py | 41 | except FileNotFoundError: | CODE |
| HIGH | apps/orgs/signal_handlers/common.py | 47 | except (ProgrammingError, OperationalError): | CODE |
| HIGH | apps/libs/ansible/modules/mongodb_user.py | 423 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules/mongodb_user.py | 398 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules/mongodb_user.py | 450 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules/rdp_ping.py | 142 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules/oracle_info.py | 169 | except KeyError: | CODE |
| HIGH | apps/libs/ansible/modules/oracle_info.py | 283 | except KeyError: | CODE |
| HIGH | apps/libs/ansible/modules/mongodb_ping.py | 151 | except Exception: # noqa | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 80 | except socket.gaierror: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 172 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 147 | except OSError: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 151 | except OSError: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 158 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 166 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 179 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 184 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/ssh_tunnel.py | 188 | except Exception: | CODE |
| HIGH | apps/libs/ansible/modules_utils/oracle_common.py | 108 | except: | CODE |
| HIGH | apps/jumpserver/conf.py | 126 | except Exception as e: | CODE |
| HIGH | apps/jumpserver/conf.py | 1033 | except Exception: | CODE |
| HIGH | apps/jumpserver/middleware.py | 40 | except pytz.UnknownTimeZoneError: | CODE |
| HIGH | apps/jumpserver/settings/base.py | 22 | except Exception: | CODE |
| HIGH | apps/jumpserver/settings/base.py | 206 | except ImportError: | CODE |
| HIGH | apps/common/cache.py | 237 | except: | CODE |
| HIGH | …s/common/management/commands/services/services/base.py | 142 | except: | CODE |
| HIGH | …s/common/management/commands/services/services/base.py | 104 | except: | CODE |
| HIGH | …s/common/management/commands/services/services/base.py | 167 | except: | CODE |
| HIGH | apps/common/utils/encode.py | 84 | except paramiko.SSHException: | CODE |
| HIGH | apps/common/utils/yml.py | 158 | except OSError: | CODE |
| HIGH | apps/common/utils/common.py | 234 | except ValueError: | CODE |
| HIGH | apps/common/utils/common.py | 123 | except ValueError: | CODE |
| HIGH | apps/common/utils/lock.py | 154 | except AttributeError: | CODE |
| HIGH | apps/common/utils/lock.py | 162 | except NotAcquired: | CODE |
| HIGH | apps/common/storage/jms_storage/multi.py | 25 | except Exception: | CODE |
| HIGH | apps/common/storage/jms_storage/multi.py | 52 | except: | CODE |
| HIGH | apps/common/storage/jms_storage/multi.py | 66 | except: | CODE |
| HIGH | apps/common/storage/jms_storage/multi.py | 75 | except: | CODE |
| HIGH | apps/common/storage/jms_storage/ceph.py | 24 | except ValueError: | CODE |
| HIGH | apps/common/storage/jms_storage/s3.py | 28 | except ValueError: | CODE |
| HIGH | apps/common/storage/jms_storage/ftp.py | 95 | except: | CODE |
| HIGH | apps/common/serializers/fields.py | 265 | except Exception: | CODE |
| HIGH | apps/common/drf/metadata.py | 68 | except (exceptions.APIException, PermissionDenied, Http404): | CODE |
| HIGH | apps/common/sessions/cache.py | 52 | except Exception: | CODE |
| HIGH | apps/common/sdk/gm/base/cipher.py | 48 | except Exception: | CODE |
| HIGH | apps/common/db/models.py | 87 | except: | CODE |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | utils/clean_duplicate_user_groups.py | 20 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | apps/settings/serializers/feature.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/rbac/models/rolebinding.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/tickets/serializers/ticket/apply_asset.py | 1 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | apps/labels/api.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/perms/utils/expire_soon_notice.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/perms/serializers/permission.py | 3 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | apps/terminal/models/session/session.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/terminal/api/component/status.py | 47 | tasks = self.request.user.terminal.task_set.filter(is_finished=False, date_created__gte=critical_time) | CODE |
| CRITICAL | apps/jumpserver/rewriting/pagination.py | 2 | from django.core.exceptions import FieldError | CODE |
| CRITICAL | apps/common/drf/filters.py | 819 | from django.core.exceptions import ValidationError as DjangoValidationError | STRING |
| CRITICAL | apps/common/db/fields.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/common/db/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/accounts/backends/azure/service.py | 26 | from azure.core.exceptions import ResourceNotFoundError, ClientAuthenticationError | CODE |
| CRITICAL | apps/accounts/backends/azure/service.py | 37 | from azure.core.exceptions import ResourceNotFoundError, ClientAuthenticationError | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 49 | self.client.secrets.kv.v2.configure( | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 56 | response = self.client.secrets.kv.v2.read_secret_version( | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 75 | self.client.secrets.kv.v2.patch( | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 82 | self.client.secrets.kv.v2.delete_metadata_and_all_versions( | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 88 | self.client.secrets.kv.v2.create_or_update_secret( | CODE |
| CRITICAL⚡ | apps/accounts/backends/hcp/service.py | 96 | self.client.secrets.kv.v2.update_metadata( | CODE |
| CRITICAL | apps/accounts/models/account.py | 1 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | apps/accounts/serializers/account/account.py | 4 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | apps/accounts/automations/verify_account/manager.py | 50 | rdp = self.credential.asset.platform.protocols.filter( | CODE |
| CRITICAL | apps/static/js/crypto.bundle.js | 172 | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* | CODE |
| CRITICAL | apps/static/js/jquery-3.6.1.min.js | 2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f | CODE |
| CRITICAL | apps/static/js/jquery-ui.custom.min.js | 16 | (function(e){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],e):e(jQuery)})(functi | CODE |
| CRITICAL | apps/static/js/plugins/xterm/addons/search/search.js | 63 | var line = this._terminal._core.buffer.lines.get(y); | CODE |
| CRITICAL | apps/static/js/plugins/jsencrypt/jsencrypt.3.3.2.min.js | 172 | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* | CODE |
| CRITICAL | apps/users/tests/test_face_codec.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/users/models/user/_face.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/assets/validators.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL⚡ | apps/assets/tests/test_web_login_script.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/assets/models/utils.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | apps/authentication/models/connection_token.py | 7 | from django.core.exceptions import ValidationError | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/settings/ldap_tls.py | 9 | __all__ = ['LDAPTLSUtil'] | CODE |
| LOW | apps/settings/tasks/ldap.py | 18 | __all__ = [ | CODE |
| LOW | apps/settings/utils/db.py | 4 | __all__ = ['DBTableDataAnalyzer'] | CODE |
| LOW | apps/settings/utils/ldap.py | 42 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/task.py | 5 | __all__ = ['TaskNoticeSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/public.py | 6 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/security.py | 8 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/other.py | 4 | __all__ = ['OtherSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/feature.py | 19 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/settings.py | 24 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/msg.py | 12 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/tool.py | 4 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/cleaning.py | 5 | __all__ = ['CleaningSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/oidc.py | 7 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/ldap.py | 9 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/dingtalk.py | 7 | __all__ = ['DingTalkSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/ldap_ha.py | 9 | __all__ = ['LDAPHATestConfigSerializer', 'LDAPHASettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/sso.py | 4 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/oauth2.py | 10 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/ukey.py | 7 | __all__ = ['UKeySettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/lark.py | 7 | __all__ = ['LarkSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/passkey.py | 4 | __all__ = ['PasskeySettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/feishu.py | 6 | __all__ = ['FeiShuSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/radius.py | 10 | __all__ = ['RadiusSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/cas.py | 6 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/sms.py | 9 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/saml2.py | 9 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/base.py | 4 | __all__ = [ | CODE |
| LOW | apps/settings/serializers/auth/slack.py | 7 | __all__ = ['SlackSettingSerializer'] | CODE |
| LOW | apps/settings/serializers/auth/wecom.py | 7 | __all__ = ['WeComSettingSerializer'] | CODE |
| LOW | apps/settings/api/public.py | 15 | __all__ = ['PublicSettingApi', 'OpenPublicSettingApi', 'ServerInfoApi'] | CODE |
| LOW | apps/settings/api/ssh_ca.py | 14 | __all__ = ['SSHCAOpenBaoTestingAPI', 'SSHCAOpenBaoPublicKeyAPI'] | CODE |
| LOW | apps/settings/api/email.py | 17 | __all__ = ['MailTestingAPI'] | CODE |
| LOW | apps/rbac/models/permission.py | 12 | __all__ = ['Permission', 'ContentType'] | CODE |
| LOW | apps/rbac/models/role.py | 10 | __all__ = ['Role', 'SystemRole', 'OrgRole'] | CODE |
| LOW | apps/rbac/models/rolebinding.py | 16 | __all__ = ['RoleBinding', 'SystemRoleBinding', 'OrgRoleBinding'] | CODE |
| LOW | apps/rbac/serializers/content_type.py | 5 | __all__ = ['ContentTypeSerializer'] | CODE |
| LOW | apps/rbac/serializers/permission.py | 6 | __all__ = ['PermissionSerializer'] | CODE |
| LOW | apps/rbac/serializers/role.py | 8 | __all__ = ['RoleSerializer', 'RoleUserSerializer'] | CODE |
| LOW | apps/rbac/serializers/rolebinding.py | 9 | __all__ = [ | CODE |
| LOW | apps/rbac/api/permission.py | 10 | __all__ = ['PermissionViewSet'] | CODE |
| LOW | apps/rbac/api/role.py | 13 | __all__ = [ | CODE |
| LOW | apps/rbac/api/rolebinding.py | 14 | __all__ = [ | CODE |
| LOW | apps/tickets/models/comment.py | 8 | __all__ = ['Comment'] | CODE |
| LOW | apps/tickets/models/flow.py | 14 | __all__ = ['TicketFlow', 'ApprovalRule'] | CODE |
| LOW | apps/tickets/models/ticket/apply_asset.py | 8 | __all__ = ['ApplyAssetTicket'] | CODE |
| LOW | apps/tickets/models/ticket/login_asset_confirm.py | 6 | __all__ = ['ApplyLoginAssetTicket'] | CODE |
| LOW | apps/tickets/models/ticket/apply_application.py | 6 | __all__ = ['ApplyApplicationTicket'] | CODE |
| LOW | apps/tickets/models/ticket/general.py | 32 | __all__ = [ | CODE |
| LOW | apps/tickets/models/ticket/login_confirm.py | 6 | __all__ = ['ApplyLoginTicket'] | CODE |
| LOW | apps/tickets/serializers/comment.py | 6 | __all__ = ['CommentSerializer'] | CODE |
| LOW | apps/tickets/serializers/flow.py | 12 | __all__ = ['TicketFlowSerializer', 'TicketFlowOptionSerializer'] | CODE |
| LOW | apps/tickets/serializers/super_ticket.py | 9 | __all__ = ['SuperTicketSerializer'] | CODE |
| LOW | apps/tickets/serializers/ticket/apply_asset.py | 14 | __all__ = ['ApplyAssetSerializer', 'ApproveAssetSerializer'] | CODE |
| LOW | apps/tickets/serializers/ticket/command_review.py | 4 | __all__ = [ | CODE |
| LOW | apps/tickets/serializers/ticket/ticket.py | 14 | __all__ = [ | CODE |
| LOW | apps/tickets/serializers/ticket/login_asset_review.py | 4 | __all__ = [ | CODE |
| LOW | apps/tickets/serializers/ticket/common.py | 9 | __all__ = ['DefaultPermissionName', 'get_default_permission_name', 'BaseApplyAssetSerializer'] | CODE |
| LOW | apps/tickets/serializers/ticket/login_review.py | 4 | __all__ = [ | CODE |
| LOW | apps/tickets/api/ticket.py | 27 | __all__ = [ | CODE |
| 298 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | utils/mongodb_ping.py | 88 | # ========================================= | STRING |
| MEDIUM | apps/terminal/const.py | 46 | # ------------------------ | COMMENT |
| MEDIUM | apps/terminal/serializers/storage.py | 19 | # -------------------------- | COMMENT |
| MEDIUM | apps/terminal/serializers/storage.py | 170 | # --------------------------- | COMMENT |
| MEDIUM | apps/libs/ansible/modules/mongodb_user.py | 328 | # ========================================= | STRING |
| MEDIUM | apps/libs/ansible/modules/custom_command.py | 112 | # ========================================= | STRING |
| MEDIUM | apps/libs/ansible/modules/oracle_info.py | 302 | # =========================================== | STRING |
| MEDIUM | apps/libs/ansible/modules/telnet_ping.py | 36 | # ========================================= | STRING |
| MEDIUM | apps/libs/ansible/modules/mongodb_ping.py | 111 | # ========================================= | STRING |
| MEDIUM | apps/libs/ansible/modules/oracle_ping.py | 72 | # ========================================= | STRING |
| MEDIUM | apps/jumpserver/settings/auth.py | 83 | # ============================================================================== | COMMENT |
| MEDIUM | apps/jumpserver/settings/auth.py | 86 | # ============================================================================== | COMMENT |
| MEDIUM | apps/jumpserver/settings/auth.py | 122 | # ============================================================================== | COMMENT |
| MEDIUM | apps/common/utils/zip.py | 9 | # ------------------------- | COMMENT |
| MEDIUM | apps/common/utils/zip.py | 11 | # ------------------------- | COMMENT |
| MEDIUM | apps/common/utils/zip.py | 22 | # ------------------------- | COMMENT |
| MEDIUM | apps/common/utils/zip.py | 24 | # ------------------------- | COMMENT |
| MEDIUM⚡ | apps/common/utils/gmssl_python.py | 10 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | apps/common/utils/gmssl_python.py | 26 | # ============================================================================= | COMMENT |
| MEDIUM | apps/common/serializers/fields.py | 29 | # ------------------- | COMMENT |
| MEDIUM | apps/assets/signal_handlers/node_assets_mapping.py | 20 | # ------------------------------------ | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/sdk.py | 69 | # ── CA / 证书链(只读系统设置,不允许在 YAML 中配置)──────────────────────── | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/sdk.py | 91 | # ── 工具 ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/sdk.py | 98 | # ── 认证流程 ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/sdk.py | 106 | # ── 证书签发 ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/sdk.py | 126 | # ── 厂商 SDK 映射(原始数据,供 API 层序列化给前端)─────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/backends.py | 43 | # ── 主入口 ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/backends.py | 63 | # ── Part 1: 用户与 UKey SN 预校验 ──────────────────────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/backends.py | 78 | # ── Part 2: SM2 证书校验流程 ────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/backends.py | 167 | # ── Part 3: RSA / 其他证书校验流程 ─────────────────────────────────────── | COMMENT |
| MEDIUM | apps/authentication/backends/ukey/backends.py | 264 | # ── 公共工具方法 ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/views.py | 39 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/views.py | 41 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/views.py | 75 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | apps/authentication/backends/ukey/views.py | 77 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 1 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 4 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 6 | # ── 元信息 ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 33 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 45 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 76 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 87 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 215 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 248 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 451 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …entication/backends/ukey/vendors/ji_da/sdk_config.yaml | 466 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 1 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 4 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 6 | # ── 元信息 ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 43 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 57 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 113 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 139 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 276 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 309 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 579 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …ication/backends/ukey/vendors/long_mai/sdk_config.yaml | 594 | #═══════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | apps/notifications/notifications.py | 208 | # -------------------------------------------------------------- | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/clean_duplicate_user_groups.py | 23 | CODE | |
| LOW | utils/generate_fake_data/resources/system.py | 46 | CODE | |
| LOW | requirements/download_face_models.py | 84 | CODE | |
| LOW | requirements/download_face_models.py | 125 | CODE | |
| LOW | apps/settings/tests.py | 223 | CODE | |
| LOW | apps/settings/tools/traceroute.py | 36 | CODE | |
| LOW | apps/settings/utils/ldap.py | 393 | CODE | |
| LOW | apps/settings/serializers/settings.py | 47 | CODE | |
| LOW | apps/settings/api/email.py | 27 | CODE | |
| LOW | apps/rbac/models/permission.py | 94 | CODE | |
| LOW | apps/tickets/models/ticket/general.py | 486 | CODE | |
| LOW | apps/audits/tasks.py | 146 | CODE | |
| LOW | apps/audits/handler.py | 142 | CODE | |
| LOW | apps/audits/utils.py | 35 | CODE | |
| LOW | apps/audits/tests.py | 48 | CODE | |
| LOW | apps/audits/reporting.py | 14 | CODE | |
| LOW | apps/audits/reporting.py | 139 | CODE | |
| LOW | apps/audits/reporting.py | 261 | CODE | |
| LOW | apps/audits/reporting.py | 342 | CODE | |
| LOW | apps/audits/reporting.py | 517 | CODE | |
| LOW | apps/audits/signal_handlers/other.py | 43 | CODE | |
| LOW | apps/acls/tests.py | 177 | CODE | |
| LOW | apps/acls/models/connect_method.py | 23 | CODE | |
| LOW | apps/perms/utils/user_asset_tree.py | 28 | CODE | |
| LOW | apps/perms/utils/user_asset_tree.py | 44 | CODE | |
| LOW | apps/perms/utils/user_asset_tree.py | 69 | CODE | |
| LOW | apps/perms/utils/user_asset_tree.py | 130 | CODE | |
| LOW | apps/perms/utils/asset_perm.py | 377 | CODE | |
| LOW | apps/perms/utils/tree_metrics.py | 26 | CODE | |
| LOW | apps/perms/api/user_permission/tree/node_with_asset.py | 305 | CODE | |
| LOW | apps/terminal/test_tinker_version.py | 212 | CODE | |
| LOW | apps/terminal/test_tinker_version.py | 244 | CODE | |
| LOW | apps/terminal/test_tinker_version.py | 548 | CODE | |
| LOW | apps/terminal/connect_methods.py | 284 | CODE | |
| LOW | apps/terminal/reporting.py | 13 | CODE | |
| LOW | apps/terminal/applets/dbx/app.py | 228 | CODE | |
| LOW | apps/terminal/applets/dbx/app.py | 562 | CODE | |
| LOW | apps/terminal/utils/virtualapp.py | 104 | CODE | |
| LOW | apps/terminal/utils/virtualapp.py | 186 | CODE | |
| LOW | apps/terminal/utils/virtualapp.py | 255 | CODE | |
| LOW | apps/terminal/utils/virtualapp.py | 310 | CODE | |
| LOW | apps/terminal/serializers/virtualapp.py | 69 | CODE | |
| LOW | apps/terminal/api/session/command.py | 206 | CODE | |
| LOW | apps/terminal/api/session/session.py | 274 | CODE | |
| LOW | …s/terminal/automations/deploy_app_provider/__init__.py | 53 | CODE | |
| LOW | apps/libs/ansible/modules/mongodb_user.py | 212 | CODE | |
| LOW | apps/libs/ansible/modules/mongodb_user.py | 332 | CODE | |
| LOW | apps/libs/ansible/modules/oracle_user.py | 156 | CODE | |
| LOW | apps/libs/ansible/modules/mssql_script.py | 280 | CODE | |
| LOW | apps/libs/ansible/modules/oracle_info.py | 109 | CODE | |
| LOW | apps/libs/ansible/modules_utils/remote_client.py | 172 | CODE | |
| LOW | apps/libs/ansible/modules_utils/remote_client.py | 1013 | CODE | |
| LOW | apps/jumpserver/views/swagger.py | 45 | CODE | |
| LOW | apps/jumpserver/views/schema.py | 103 | CODE | |
| LOW | apps/common/tree.py | 49 | CODE | |
| LOW | apps/common/cache.py | 95 | CODE | |
| LOW | apps/common/plugins/es.py | 361 | CODE | |
| LOW | apps/common/plugins/es.py | 525 | CODE | |
| LOW | apps/common/plugins/es.py | 589 | CODE | |
| LOW | apps/common/management/commands/check_api.py | 215 | CODE | |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | config_example.yml | 1 | # SECURITY WARNING: keep the secret key used in production secret! | COMMENT |
| LOW | config_example.yml | 21 | # SESSION_COOKIE_AGE: 3600 | COMMENT |
| LOW | config_example.yml | 61 | # 带协议时按指定协议匹配。不支持通配符;显式配置会替换默认列表。 | COMMENT |
| LOW | config_example.yml | 81 | COMMENT | |
| LOW | config_example.yml | 101 | # ANSIBLE_RUNNER_JOB_TIMEOUT: 1800 # 单批硬超时:30 分钟 | COMMENT |
| LOW | config_example.yml | 121 | # 限制通过网关建隧道时 DNS 解析、TCP 连接、SSH 握手和认证的总等待时间 | COMMENT |
| LOW | config_example.yml | 141 | # TERMINAL_REPLAY_STORAGE: {} | COMMENT |
| LOW | config_example.yml | 161 | # VIDEO_WORKER_CLEAN_PERIOD: 7 | COMMENT |
| LOW | config_example.yml | 181 | # VIDEO_WORKER_FRAME_FILTER_CONFIRMATIONS: 2 | COMMENT |
| LOW | config_example.yml | 201 | # VIDEO_WORKER_SECRET_KEY: '' # 通过 Secret 注入,不要写入仓库 | COMMENT |
| LOW | config_example.yml | 221 | # 内置 OpenBao 作为默认 Vault backend;开启后请先确认 OpenBao Server 已完成初始化和授权 | COMMENT |
| LOW | config_example.yml | 241 | # SSH_CA_OPENBAO_TOKEN: | COMMENT |
| LOW | config_example.yml | 261 | # AUTH_LDAP_SYNC_CRONTAB: * 6 * * * | COMMENT |
| LOW | config_example.yml | 281 | COMMENT | |
| LOW | config_example.yml | 301 | #INSIGHTFACE_MODEL_NAME: buffalo_l | COMMENT |
| LOW | apps/__init__.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | apps/rbac/tests.py | 1 | from django.test import TestCase | COMMENT |
| LOW | apps/rbac/tests.py | 21 | # 8. 权限位名称翻译 (整理一个dict,key为codename,value为翻译) | COMMENT |
| LOW | apps/tickets/urls/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | apps/orgs/mixins/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | apps/orgs/urls/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | apps/libs/ansible/modules/mongodb_user.py | 301 | COMMENT | |
| LOW | apps/common/signal_handlers.py | 61 | if current_request: | COMMENT |
| LOW | apps/common/auth/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | apps/common/utils/gmssl_python.py | 1 | # Copyright 2023 The GmSSL Project. All Rights Reserved. | COMMENT |
| LOW | apps/common/drf/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | apps/static/css/colorbox.css | 21 | ordered & tabbed in a way that represents the nesting of the generated HTML. | COMMENT |
| LOW | apps/static/js/jumpserver.js | 481 | } | COMMENT |
| LOW | apps/static/js/jumpserver.js | 581 | jumpserver.initServerSideDataTable = function (options) { | COMMENT |
| LOW | apps/static/js/term.js | 621 | // var text = term.grabText( | COMMENT |
| LOW | apps/static/js/term.js | 1181 | } | COMMENT |
| LOW | apps/static/js/term.js | 1381 | COMMENT | |
| LOW | apps/static/js/term.js | 2421 | // if (this.prefix === '>') { | COMMENT |
| LOW | apps/static/js/term.js | 2441 | case 'b': | COMMENT |
| LOW | apps/static/js/term.js | 2461 | // } else { | COMMENT |
| LOW | apps/static/js/term.js | 2481 | // Request DEC private mode (DECRQM). | COMMENT |
| LOW | apps/static/js/term.js | 2501 | // } | COMMENT |
| LOW | apps/static/js/term.js | 2521 | // CSI Ps ; Ps r | COMMENT |
| LOW | apps/static/js/term.js | 2541 | // } else { | COMMENT |
| LOW | apps/static/js/term.js | 2561 | // } | COMMENT |
| LOW | apps/static/js/term.js | 2581 | // CSI Pt ; Pl ; Pb ; Pr ' w | COMMENT |
| LOW | apps/static/js/term.js | 2601 | // CSI Pt; Pl; Pb; Pr$ z | COMMENT |
| LOW | apps/static/js/term.js | 2621 | // case '|': | COMMENT |
| LOW | apps/static/js/term.js | 3561 | // Ps = 2 2 -> Normal (neither bold nor faint). | COMMENT |
| LOW | apps/static/js/term.js | 3581 | // Ps = 4 6 -> Set background color to Cyan. | COMMENT |
| LOW | apps/static/js/term.js | 3601 | // Ps = 1 0 4 -> Set background color to Blue. | COMMENT |
| LOW | apps/static/js/term.js | 3741 | // Ps = 6 -> Report Cursor Position (CPR) [row;column] as CSI | COMMENT |
| LOW | apps/static/js/term.js | 3961 | // CSI Ps c Send Device Attributes (Primary DA). | COMMENT |
| LOW | apps/static/js/term.js | 3981 | // Ps = 0 or omitted -> request the applications's identification | COMMENT |
| LOW | apps/static/js/term.js | 4061 | this.x = this.cols - 1; | COMMENT |
| LOW | apps/static/js/term.js | 4081 | // Ps = 9 -> Send Mouse X & Y on button press. See the sec- | COMMENT |
| LOW | apps/static/js/term.js | 4101 | // Ps = 6 6 -> Application keypad (DECNKM). | COMMENT |
| LOW | apps/static/js/term.js | 4121 | // enables the altSendsEscape resource). | COMMENT |
| LOW | apps/static/js/term.js | 4281 | // Ps = 4 -> Jump (Fast) Scroll (DECSCLM). | COMMENT |
| LOW | apps/static/js/term.js | 4301 | // compile-time option). | COMMENT |
| LOW | apps/static/js/term.js | 4321 | // Ps = 1 0 3 7 -> Send VT220 Remove from the editing-keypad | COMMENT |
| LOW | apps/static/js/term.js | 4561 | this.tabs = {}; | COMMENT |
| LOW | apps/static/js/term.js | 4581 | // Set or reset resource-values used by xterm to decide whether | COMMENT |
| LOW | apps/static/js/term.js | 4601 | // Ps = 1 -> modifyCursorKeys. | COMMENT |
| LOW | apps/static/js/term.js | 4641 | }; | COMMENT |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | apps/terminal/tasks.py | 232 | type__in=[ReplayStorageType.server, ReplayStorageType.null] | CODE |
| HIGH⚡ | apps/terminal/tasks.py | 235 | type__in=[CommandStorageType.server, CommandStorageType.null] | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 383 | const visible = el => !!el && !!(el.getClientRects().length || el.offsetWidth || el.offsetHeight); | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 394 | if (save && save.checked) save.click(); | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 402 | const visible = el => !!el && !!(el.getClientRects().length || el.offsetWidth || el.offsetHeight); | CODE |
| HIGH⚡ | apps/terminal/applets/dbx/app.py | 427 | if (v === p || v.startsWith(p + '-')) return l; | CODE |
| HIGH⚡ | apps/terminal/applets/dbx/app.py | 429 | return null; | CODE |
| HIGH⚡ | apps/terminal/applets/dbx/app.py | 432 | let stored = null; | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 521 | const covered = hit && hit.closest && hit.closest('#' + id) | CODE |
| HIGH | apps/terminal/applets/dbx/app.py | 523 | : 'under-' + (hit ? (hit.getAttribute('data-slot') || hit.id || hit.tagName) : 'none'); | CODE |
| HIGH | apps/assets/utils/node.py | 297 | stack.push(info) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/settings/serializers/auth/sms.py | 46 | CODE | |
| LOW | apps/audits/handler.py | 184 | CODE | |
| LOW | apps/audits/backends/es.py | 61 | CODE | |
| LOW | apps/audits/signal_handlers/login_log.py | 53 | CODE | |
| LOW | apps/acls/api/login_asset_check.py | 85 | CODE | |
| LOW | apps/terminal/backends/command/db.py | 66 | CODE | |
| LOW | apps/terminal/backends/command/db.py | 103 | CODE | |
| LOW | apps/terminal/backends/command/base.py | 17 | CODE | |
| LOW | apps/terminal/serializers/session.py | 85 | CODE | |
| LOW | apps/terminal/api/session/session.py | 303 | CODE | |
| LOW | apps/orgs/middleware.py | 37 | CODE | |
| LOW | apps/jumpserver/middleware.py | 43 | CODE | |
| LOW | apps/jumpserver/middleware.py | 80 | CODE | |
| LOW | apps/jumpserver/middleware.py | 103 | CODE | |
| LOW | apps/common/cache.py | 142 | CODE | |
| LOW | apps/common/cache.py | 199 | CODE | |
| LOW | apps/common/utils/django.py | 15 | CODE | |
| LOW | apps/common/utils/common.py | 423 | CODE | |
| LOW | apps/common/utils/common.py | 505 | CODE | |
| LOW | apps/common/storage/jms_storage/ceph.py | 70 | CODE | |
| LOW | apps/common/storage/jms_storage/s3.py | 74 | CODE | |
| LOW | apps/common/drf/renders/csv.py | 42 | CODE | |
| LOW | apps/common/drf/renders/base.py | 122 | CODE | |
| LOW | apps/common/sdk/im/utils.py | 71 | CODE | |
| LOW | apps/common/sdk/im/dingtalk/__init__.py | 117 | CODE | |
| LOW | apps/common/sdk/im/dingtalk/__init__.py | 181 | CODE | |
| LOW | apps/common/sdk/im/dingtalk/__init__.py | 198 | CODE | |
| LOW | apps/common/sdk/im/dingtalk/__init__.py | 214 | CODE | |
| LOW | apps/common/sdk/im/dingtalk/__init__.py | 223 | CODE | |
| LOW | apps/common/api/patch.py | 78 | CODE | |
| LOW | apps/common/api/patch.py | 86 | CODE | |
| LOW | apps/accounts/personal_credentials.py | 104 | CODE | |
| LOW | apps/accounts/backends/hcp/service.py | 64 | CODE | |
| LOW | apps/accounts/backends/hcp/main.py | 32 | CODE | |
| LOW | apps/accounts/models/automations/check_account.py | 152 | CODE | |
| LOW | apps/accounts/automations/gather_account/manager.py | 314 | CODE | |
| LOW | apps/users/views/profile/otp.py | 168 | CODE | |
| LOW | apps/ops/ansible/inventory.py | 463 | CODE | |
| LOW | apps/assets/automations/base/manager.py | 350 | CODE | |
| LOW | apps/authentication/backends/oidc/middleware.py | 30 | CODE | |
| LOW | apps/authentication/backends/saml2/views.py | 49 | CODE | |
| LOW | apps/authentication/views/dingtalk.py | 52 | CODE | |
| LOW | apps/authentication/views/feishu.py | 78 | CODE | |
| LOW | apps/authentication/views/login.py | 383 | CODE | |
| LOW | apps/authentication/views/base.py | 162 | CODE | |
| LOW | apps/authentication/views/slack.py | 58 | CODE | |
| LOW | apps/authentication/views/wecom.py | 52 | CODE | |
| LOW | apps/reports/views.py | 178 | CODE | |
| LOW | apps/reports/api/assets/base.py | 22 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | apps/common/utils/gmssl_python.py | 11 | # This file is derived from GmSSL-Python project (v2.2.2) | COMMENT |
| MEDIUM⚡ | apps/common/utils/gmssl_python.py | 20 | # This file is included by direct copy due to dependency conflict issues | COMMENT |
| MEDIUM⚡ | apps/common/utils/gmssl_python.py | 25 | # This file is used in accordance with the Apache License 2.0 terms. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements/static_files.sh | 27 | # Check if the file already exists | COMMENT |
| LOW | apps/accounts/tasks/push_account.py | 76 | # Check if the account is in QUEUED status | COMMENT |
| LOW | apps/authentication/decorators.py | 116 | # Check if user has been authenticated | COMMENT |
| LOW | apps/authentication/decorators.py | 118 | # Check if session contains a saved next URL | COMMENT |
| LOW⚡ | apps/authentication/decorators.py | 167 | # Check if response is a redirect to guard view | COMMENT |
| LOW⚡ | apps/authentication/decorators.py | 171 | # Check if the redirect location is to guard view | COMMENT |
| LOW⚡ | apps/authentication/decorators.py | 178 | # Check if path matches guard view URL pattern | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | apps/assets/tests/tree.py | 23 | CODE | |
| MEDIUM | apps/assets/tests/tree.py | 25 | CODE | |
| MEDIUM | apps/assets/tests/tree.py | 26 | CODE | |
| MEDIUM | apps/assets/tests/tree.py | 32 | CODE | |
| MEDIUM | apps/assets/tests/tree.py | 33 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/libs/ansible/modules/mssql_script.py | 81 | (Query V('SELECT %(name\)s"') with V(example: '{"name": "John Doe"}).)'. | CODE |
| LOW | apps/static/js/plugins/select2/select2.full.min.js | 2 | !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.e | CODE |
| LOW | apps/static/js/plugins/sweetalert/sweetalert.min.js | 1 | !function(e,t,n){"use strict";!function o(e,t,n){function a(s,l){if(!t[s]){if(!e[s]){var i="function"==typeof require&&r | CODE |
| LOW | apps/users/forms/profile.py | 146 | widget=forms.Textarea(attrs={'placeholder': _('ssh-rsa AAAA...')}), | CODE |
| LOW | apps/authentication/forms.py | 23 | 'placeholder': _("Username"), | CODE |
| LOW | apps/authentication/forms.py | 68 | 'placeholder': _("Dynamic code"), | CODE |
| LOW | apps/authentication/confirm/mfa.py | 21 | 'placeholder': backend.placeholder, | CODE |
| LOW | apps/authentication/confirm/password.py | 27 | 'placeholder': _('Password'), | CODE |
| LOW | …ntication/templates/authentication/_captcha_field.html | 25 | $('#id_captcha_1').addClass('form-control').attr('placeholder', placeholder) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/common/drf/renders/base.py | 94 | def process_data(self, data): | CODE |
| LOW | apps/accounts/models/automations/base.py | 21 | def execute_task(self): | CODE |
| LOW | apps/assets/models/automations/base.py | 67 | def execute_task(self): | CODE |
| LOW | apps/assets/automations/ping_gateway/manager.py | 153 | def execute_task(self, gateway, account): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/accounts/demos/python/demo.py | 1 | # Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | apps/authentication/backends/oidc/views.py | 37 | """ Allows to start the authorization flow in order to authenticate the end-user. | STRING |