Cartography is a Python tool that pulls infrastructure assets and their relationships into a Neo4j graph database.
This report presents the forensic synthetic code analysis of cartography-cncf/cartography, a Python project with 3,967 GitHub stars. SynthScan v2.0 examined 481,730 lines of code across 3321 source files, recording 6404 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 23.4 places this repository in the Moderate 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 6404 distinct pattern matches across 22 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 | AGENTS.md | 157 | def cleanup_custom_relationships( | CODE |
| LOW | demo/seeds/keycloak.py | 219 | def _seed_authentication_flows( | CODE |
| LOW | demo/seeds/keycloak.py | 232 | def _seed_authentication_executions( | CODE |
| LOW | demo/seeds/tailscale.py | 90 | def _seed_posture_integrations(self, mock_api: Mock) -> None: | CODE |
| LOW | demo/seeds/duo.py | 71 | def _seed_web_authn_credentials(self, mock_client: Mock) -> None: | CODE |
| LOW | tests/unit/driftdetect/test_detector.py | 48 | def test_state_picks_up_drift(): | CODE |
| LOW | tests/unit/driftdetect/test_detector.py | 93 | def test_state_order_does_not_matter(): | CODE |
| LOW | tests/unit/driftdetect/test_detector.py | 136 | def test_state_multiple_expectations(): | CODE |
| LOW | tests/unit/driftdetect/test_detector.py | 176 | def test_drift_from_multiple_properties(): | CODE |
| LOW | tests/unit/driftdetect/test_detect_drift.py | 8 | def test_basic_drift_detection(): | CODE |
| LOW | tests/unit/driftdetect/test_detect_drift.py | 21 | def test_drift_detection_errors(): | CODE |
| LOW | tests/unit/driftdetect/test_shortcuts.py | 38 | def test_use_shortcuts_for_shortcuts(): | CODE |
| LOW | tests/unit/driftdetect/test_shortcuts.py | 82 | def test_shortcut_fails_when_shortcut_exists(): | CODE |
| LOW | tests/unit/driftdetect/test_shortcuts.py | 108 | def test_nonexistent_shortcuts(): | CODE |
| LOW | tests/unit/rules/test_identity_fields.py | 37 | def test_identity_fields_non_empty(rule_id, fact_id, rule, fact): | CODE |
| LOW | tests/unit/rules/test_identity_fields.py | 46 | def test_identity_fields_exist_on_output_model(rule_id, fact_id, rule, fact): | CODE |
| LOW | tests/unit/rules/test_identity_fields.py | 58 | def test_identity_fields_returned_by_query(rule_id, fact_id, rule, fact): | CODE |
| LOW | tests/unit/rules/test_identity_fields.py | 68 | def test_identity_fields_surfaced_in_serialized_output(): | CODE |
| LOW | tests/unit/rules/test_model.py | 7 | def test_framework_normalizes_to_lowercase(): | CODE |
| LOW | tests/unit/rules/test_model.py | 25 | def test_framework_control_title_preserves_display_casing_and_is_not_filter_key(): | CODE |
| LOW | tests/unit/rules/test_model.py | 42 | def test_framework_optional_fields(): | CODE |
| LOW | tests/unit/rules/test_model.py | 76 | def test_framework_matches_case_insensitive(): | CODE |
| LOW | tests/unit/rules/test_model.py | 93 | def test_framework_matches_partial_filter(): | CODE |
| LOW | tests/unit/rules/test_model.py | 114 | def test_framework_matches_with_optional_fields(): | CODE |
| LOW | tests/unit/rules/test_model.py | 139 | def test_all_module_keys_in_mapping_except_cross_cloud(): | CODE |
| LOW | tests/unit/rules/test_model.py | 165 | def test_cross_cloud_not_in_mapping(): | CODE |
| LOW | tests/unit/rules/test_model.py | 174 | def test_mapping_values_exists(): | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 68 | def test_contributor_role_does_not_grant_role_assignment_write() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 74 | def test_contributor_role_does_not_grant_role_definitions_write() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 79 | def test_contributor_role_grants_managed_identity_assign() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 86 | def test_managed_identity_operator_role_grants_managed_identity_assign() -> None: | CODE |
| LOW | tests/unit/rules/test_azure_rbac_wildcards.py | 102 | def test_managed_identity_operator_does_not_grant_role_assignment_write() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 115 | def test_owner_role_grants_role_assignment_write() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 121 | def test_user_access_administrator_grants_role_assignment_write() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 127 | def test_case_insensitive_match() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_azure_rbac_wildcards.py | 134 | def test_facts_use_regex_wildcard_expansion() -> None: | CODE |
| LOW | tests/unit/rules/test_cis_google_workspace.py | 20 | def test_rules_registered_and_metadata(): | CODE |
| LOW | tests/unit/rules/test_cis_google_workspace.py | 39 | def test_rule_names_are_security_names(): | CODE |
| LOW | tests/unit/rules/test_cis_google_workspace.py | 54 | def test_facts_have_expected_structure(): | CODE |
| LOW | tests/unit/rules/test_cis_google_workspace.py | 82 | def test_output_models_are_distinct(): | CODE |
| LOW | tests/unit/rules/test_cis_google_workspace.py | 105 | def test_super_admin_rules_use_is_admin_as_super_admin_signal(): | CODE |
| LOW | tests/unit/rules/test_runners.py | 21 | def test_run_single_rule_aggregates_facts_correctly(mock_run_fact): | CODE |
| LOW | tests/unit/rules/test_runners.py | 112 | def test_run_single_rule_with_zero_findings(mock_run_fact): | CODE |
| LOW | tests/unit/rules/test_runners.py | 162 | def test_run_single_rule_with_fact_filter(mock_run_fact): | CODE |
| LOW | tests/unit/rules/test_runners.py | 216 | def test_run_single_rule_propagates_frameworks(mock_run_fact): | CODE |
| LOW | tests/unit/rules/test_subimage_coverage.py | 24 | def test_subimage_coverage_rules_registered_without_frameworks(): | CODE |
| LOW | tests/unit/rules/test_subimage_coverage.py | 37 | def test_subimage_coverage_not_advertised_as_compliance_framework(): | CODE |
| LOW | tests/unit/rules/test_unmanaged_accounts.py | 4 | def test_unmanaged_account_rule_uses_normalized_activity_fields() -> None: | CODE |
| LOW | tests/unit/rules/test_unmanaged_accounts.py | 12 | def test_unmanaged_account_count_query_excludes_normalized_inactive_accounts() -> None: | CODE |
| LOW⚡ | …ts/unit/rules/test_kubernetes_control_plane_exposed.py | 12 | def test_kubernetes_control_plane_exposed_rule_registered() -> None: | CODE |
| LOW⚡ | …ts/unit/rules/test_kubernetes_control_plane_exposed.py | 18 | def test_kubernetes_control_plane_exposed_rule_shape() -> None: | CODE |
| LOW⚡ | …ts/unit/rules/test_kubernetes_control_plane_exposed.py | 26 | def test_kubernetes_control_plane_exposed_fact_modules() -> None: | CODE |
| LOW⚡ | …ts/unit/rules/test_kubernetes_control_plane_exposed.py | 31 | def test_kubernetes_control_plane_exposed_facts_are_experimental() -> None: | CODE |
| LOW⚡ | …ts/unit/rules/test_kubernetes_control_plane_exposed.py | 38 | def test_kubernetes_control_plane_exposed_fact_ids_are_unique() -> None: | CODE |
| LOW⚡ | tests/unit/rules/test_rule_identity.py | 28 | def test_rule_ids_do_not_use_compliance_prefixes(): | CODE |
| LOW⚡ | tests/unit/rules/test_rule_identity.py | 33 | def test_rule_names_do_not_use_compliance_control_prefixes(): | CODE |
| LOW⚡ | tests/unit/rules/test_rule_identity.py | 38 | def test_rule_framework_mappings_have_control_titles(): | CODE |
| LOW⚡ | tests/unit/rules/test_rule_identity.py | 44 | def test_rule_definitions_use_framework_helper_default_control_titles(): | CODE |
| LOW⚡ | tests/unit/rules/test_rule_identity.py | 54 | def test_multiple_rules_can_map_to_same_framework_control(): | CODE |
| LOW | tests/unit/rules/test_rule_identity.py | 81 | def test_framework_mappings_remain_on_renamed_rules(): | CODE |
| 3547 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | demo/seeds/scaleway.py | 38 | data = cartography.intel.scaleway.iam.users.transform_users( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 41 | cartography.intel.scaleway.iam.users.load_users( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 46 | data = cartography.intel.scaleway.iam.applications.transform_applications( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 49 | cartography.intel.scaleway.iam.applications.load_applications( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 54 | data = cartography.intel.scaleway.iam.groups.transform_groups( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 57 | cartography.intel.scaleway.iam.groups.load_groups( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 62 | data = cartography.intel.scaleway.iam.apikeys.transform_apikeys( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 65 | cartography.intel.scaleway.iam.apikeys.load_apikeys( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 70 | data = cartography.intel.scaleway.storage.volumes.transform_volumes( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 73 | cartography.intel.scaleway.storage.volumes.load_volumes( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 78 | data = cartography.intel.scaleway.storage.snapshots.transform_snapshots( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 81 | cartography.intel.scaleway.storage.snapshots.load_snapshots( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 86 | data = cartography.intel.scaleway.instances.instances.transform_instances( | CODE |
| CRITICAL⚡ | demo/seeds/scaleway.py | 89 | cartography.intel.scaleway.instances.instances.load_instances( | CODE |
| CRITICAL | demo/seeds/snipeit.py | 11 | for tenant_name, tenant in tests.data.snipeit.tenants.TENANTS.items(): | CODE |
| CRITICAL | demo/seeds/kandji.py | 12 | for tenant, tenant_data in tests.data.kandji.tenant.TENANT.items(): | CODE |
| CRITICAL | tests/unit/cartography/intel/azure/test_data_factory.py | 5 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 50 | mock_boto3_session.return_value.client.return_value.get_paginator.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 53 | mock_boto3_session.return_value.client.return_value.get_paginator.return_value.paginate.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 88 | mock_boto3_session.return_value.client.return_value.get_paginator.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 91 | mock_boto3_session.return_value.client.return_value.get_paginator.return_value.paginate.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 145 | mock_boto3_session.return_value.client.return_value.get_paginator.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 148 | mock_boto3_session.return_value.client.return_value.get_paginator.return_value.paginate.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 279 | mock_boto3_session.return_value.client.return_value.get_object.assert_called_once_with( | CODE |
| CRITICAL | tests/unit/cartography/intel/trivy/test_scanner.py | 325 | mock_boto3_session.return_value.client.return_value.get_object.assert_called_once_with( | CODE |
| CRITICAL⚡ | …rtography/intel/azure/test_permission_relationships.py | 362 | await cartography.intel.microsoft.entra.users.sync_entra_users( | CODE |
| CRITICAL⚡ | …rtography/intel/azure/test_permission_relationships.py | 371 | await cartography.intel.microsoft.entra.groups.sync_entra_groups( | CODE |
| CRITICAL⚡ | …rtography/intel/azure/test_permission_relationships.py | 380 | await cartography.intel.microsoft.entra.service_principals.sync_service_principals( | CODE |
| CRITICAL | tests/integration/cartography/intel/azure/test_rbac.py | 16 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/azure/test_rbac.py | 189 | await cartography.intel.microsoft.entra.users.sync_entra_users( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/azure/test_rbac.py | 199 | await cartography.intel.microsoft.entra.groups.sync_entra_groups( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/azure/test_rbac.py | 209 | await cartography.intel.microsoft.entra.service_principals.sync_service_principals( | CODE |
| CRITICAL | …tion/cartography/intel/azure/test_workload_identity.py | 88 | await cartography.intel.microsoft.entra.service_principals.sync_service_principals( | CODE |
| CRITICAL | …tegration/cartography/intel/azure/test_subscription.py | 5 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL⚡ | …/integration/cartography/intel/gcp/test_crm_folders.py | 37 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …/integration/cartography/intel/gcp/test_crm_folders.py | 42 | folders = cartography.intel.gcp.crm.folders.sync_gcp_folders( | CODE |
| CRITICAL⚡ | …/integration/cartography/intel/gcp/test_crm_folders.py | 50 | cartography.intel.gcp.crm.projects.sync_gcp_projects( | CODE |
| CRITICAL⚡ | …/integration/cartography/intel/gcp/test_crm_folders.py | 114 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …/integration/cartography/intel/gcp/test_crm_folders.py | 119 | cartography.intel.gcp.crm.folders.sync_gcp_folders( | CODE |
| CRITICAL | …sts/integration/cartography/intel/gcp/test_crm_orgs.py | 19 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 37 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 42 | folders = cartography.intel.gcp.crm.folders.sync_gcp_folders( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 50 | cartography.intel.gcp.crm.projects.sync_gcp_projects( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 101 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 106 | cartography.intel.gcp.crm.projects.sync_gcp_projects( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 149 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| CRITICAL⚡ | …integration/cartography/intel/gcp/test_crm_projects.py | 154 | cartography.intel.gcp.crm.projects.sync_gcp_projects( | CODE |
| CRITICAL⚡ | …ion/cartography/intel/gcp/test_crm_deferred_cleanup.py | 551 | cartography.intel.gcp.crm.orgs.load_gcp_organizations( | CODE |
| CRITICAL⚡ | …ion/cartography/intel/gcp/test_crm_deferred_cleanup.py | 554 | cartography.intel.gcp.crm.folders.load_gcp_folders( | CODE |
| CRITICAL⚡ | …ion/cartography/intel/gcp/test_crm_deferred_cleanup.py | 559 | cartography.intel.gcp.crm.orgs.load_gcp_organizations( | CODE |
| CRITICAL⚡ | …ion/cartography/intel/gcp/test_crm_deferred_cleanup.py | 562 | cartography.intel.gcp.crm.folders.load_gcp_folders( | CODE |
| CRITICAL | …tegration/cartography/intel/gcp/test_secretsmanager.py | 28 | side_effect=lambda sm, secret_name: tests.data.gcp.secretsmanager.SECRET_VERSIONS_BY_SECRET.get( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 151 | cartography.intel.gcp.vertex.datasets.sync_vertex_ai_datasets( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 159 | cartography.intel.gcp.vertex.models.sync_vertex_ai_models( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 167 | endpoints_raw = cartography.intel.gcp.vertex.endpoints.sync_vertex_ai_endpoints( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 175 | cartography.intel.gcp.vertex.deployed_models.sync_vertex_ai_deployed_models( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 183 | cartography.intel.gcp.vertex.instances.sync_workbench_instances( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 191 | cartography.intel.gcp.vertex.training_pipelines.sync_training_pipelines( | CODE |
| CRITICAL⚡ | tests/integration/cartography/intel/gcp/test_vertex.py | 199 | cartography.intel.gcp.vertex.feature_groups.sync_feature_groups( | CODE |
| CRITICAL⚡ | …egration/cartography/intel/gcp/test_policy_bindings.py | 100 | cartography.intel.gcp.crm.orgs.sync_gcp_organizations( | CODE |
| 227 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 15 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 17 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 71 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 73 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 236 | # ============================================================================= | STRING |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 238 | # ============================================================================= | STRING |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 275 | # ============================================================================= | STRING |
| MEDIUM⚡ | tests/unit/cartography/intel/test_dockerfile_parser.py | 277 | # ============================================================================= | STRING |
| MEDIUM | tests/unit/cartography/intel/test_dockerfile_parser.py | 205 | # ============================================================================= | STRING |
| MEDIUM | tests/unit/cartography/intel/test_dockerfile_parser.py | 207 | # ============================================================================= | STRING |
| MEDIUM | tests/unit/cartography/intel/test_dockerfile_parser.py | 307 | # ============================================================================= | STRING |
| MEDIUM | tests/unit/cartography/intel/test_dockerfile_parser.py | 309 | # ============================================================================= | STRING |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 187 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …t/cartography/intel/tenable/test_findings_transform.py | 189 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 198 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 200 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 306 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 308 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 349 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nit/cartography/intel/tenable/test_assets_transform.py | 249 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …nit/cartography/intel/tenable/test_assets_transform.py | 251 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 618 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 620 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 669 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 671 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 693 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 695 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 704 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 706 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 738 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 740 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 786 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 788 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 797 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/intel/gcp/test_util.py | 799 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/unit/cartography/intel/gcp/test_util.py | 650 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/unit/cartography/intel/gcp/test_util.py | 652 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 405 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 407 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 788 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 790 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 491 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 493 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 1237 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …raphy/intel/gcp/test_artifact_registry_supply_chain.py | 1239 | # --------------------------------------------------------------------------- | COMMENT |
| 1015 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | demo/seeds/azure.py | 0 | merge (as:azuresubscription{id: $subscription_id}) on create set as.firstseen = timestamp() set as.lastupdated = $update | STRING |
| HIGH | …s/integration/cartography/intel/azure/test_cosmosdb.py | 0 | merge (as:azuresubscription{id: $subscription_id}) on create set as.firstseen = timestamp() set as.lastupdated = $update | STRING |
| HIGH | tests/integration/cartography/intel/azure/test_sql.py | 0 | merge (as:azuresubscription{id: $subscription_id}) on create set as.firstseen = timestamp() set as.lastupdated = $update | STRING |
| HIGH | …ts/integration/cartography/intel/azure/test_storage.py | 0 | merge (as:azuresubscription{id: $subscription_id}) on create set as.firstseen = timestamp() set as.lastupdated = $update | STRING |
| HIGH | …ts/integration/cartography/intel/azure/test_compute.py | 0 | merge (as:azuresubscription{id: $subscription_id}) on create set as.firstseen = timestamp() set as.lastupdated = $update | STRING |
| HIGH | …egration/cartography/intel/gitlab/test_dependencies.py | 0 | merge (p:gitlabproject{id: $project_id}) on create set p.firstseen = timestamp() set p.lastupdated = $update_tag, p.name | STRING |
| HIGH | …/integration/cartography/intel/gitlab/test_branches.py | 0 | merge (p:gitlabproject{id: $project_id}) on create set p.firstseen = timestamp() set p.lastupdated = $update_tag, p.name | STRING |
| HIGH | …sts/integration/cartography/intel/gitlab/test_users.py | 0 | merge (p:gitlabproject{id: $project_id}) on create set p.firstseen = timestamp() set p.lastupdated = $update_tag, p.name | STRING |
| HIGH | …tion/cartography/intel/gitlab/test_dependency_files.py | 0 | merge (p:gitlabproject{id: $project_id}) on create set p.firstseen = timestamp() set p.lastupdated = $update_tag, p.name | STRING |
| HIGH | …egration/cartography/intel/gitlab/test_dependencies.py | 0 | test that resource relationships to project are created. | STRING |
| HIGH | …/integration/cartography/intel/gitlab/test_branches.py | 0 | test that resource relationships to project are created. | STRING |
| HIGH | …tion/cartography/intel/gitlab/test_dependency_files.py | 0 | test that resource relationships to project are created. | STRING |
| HIGH | …/integration/cartography/intel/gitlab/test_projects.py | 0 | merge (org:gitlaborganization{id: $org_id}) on create set org.firstseen = timestamp() set org.lastupdated = $update_tag, | STRING |
| HIGH | …sts/integration/cartography/intel/gitlab/test_users.py | 0 | merge (org:gitlaborganization{id: $org_id}) on create set org.firstseen = timestamp() set org.lastupdated = $update_tag, | STRING |
| HIGH | …ts/integration/cartography/intel/gitlab/test_groups.py | 0 | merge (org:gitlaborganization{id: $org_id}) on create set org.firstseen = timestamp() set org.lastupdated = $update_tag, | STRING |
| HIGH | …ration/cartography/intel/azure/test_security_center.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …ts/integration/cartography/intel/azure/test_monitor.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …integration/cartography/intel/azure/test_key_vaults.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …ntegration/cartography/intel/azure/test_app_service.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …/integration/cartography/intel/azure/test_data_lake.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …egration/cartography/intel/azure/test_load_balancer.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …integration/cartography/intel/azure/test_logic_apps.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …ation/cartography/intel/azure/test_group_containers.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …/integration/cartography/intel/azure/test_functions.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …/integration/cartography/intel/azure/test_event_hub.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | tests/integration/cartography/intel/azure/test_aks.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …on/cartography/intel/azure/test_application_gateway.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …ration/cartography/intel/azure/test_resource_groups.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …integration/cartography/intel/azure/test_event_grid.py | 0 | merge (s:azuresubscription{id: $sub_id}) set s.lastupdated = $update_tag | STRING |
| HIGH | …/integration/cartography/intel/azure/test_functions.py | 0 | merge (i:image:ecrimage {id: $digest}) set i.digest = $digest, i.lastupdated = $tag | STRING |
| HIGH | …ion/cartography/intel/ontology/test_resolved_images.py | 0 | merge (i:image:ecrimage {id: $digest}) set i.digest = $digest, i.lastupdated = $tag | STRING |
| HIGH | tests/integration/cartography/intel/aws/test_lambda.py | 0 | merge (i:image:ecrimage {id: $digest}) set i.digest = $digest, i.lastupdated = $tag | STRING |
| HIGH | …tegration/cartography/intel/gcp/test_selective_sync.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | …cartography/intel/gcp/test_permission_relationships.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_apikeys.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_storage.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | …tegration/cartography/intel/gcp/test_secretsmanager.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_vertex.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | …egration/cartography/intel/gcp/test_policy_bindings.py | 0 | merge (project:gcpproject{id: $project_id}) on create set project.firstseen = timestamp() set project.lastupdated = $upd | STRING |
| HIGH | …gration/cartography/intel/gcp/test_compute_exposure.py | 0 | merge (p:gcpproject{id:$projectid}) on create set p.firstseen = timestamp() set p.lastupdated = $gcp_update_tag | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_dns.py | 0 | merge (p:gcpproject{id:$projectid}) on create set p.firstseen = timestamp() set p.lastupdated = $gcp_update_tag | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_iam.py | 0 | merge (p:gcpproject{id:$projectid}) on create set p.firstseen = timestamp() set p.lastupdated = $gcp_update_tag | STRING |
| HIGH | …ration/cartography/intel/gcp/test_workload_identity.py | 0 | merge (p:gcpproject{id:$projectid}) on create set p.firstseen = timestamp() set p.lastupdated = $gcp_update_tag | STRING |
| HIGH | tests/integration/cartography/intel/gcp/test_compute.py | 0 | merge (p:gcpproject{id:$projectid}) on create set p.firstseen = timestamp() set p.lastupdated = $gcp_update_tag | STRING |
| HIGH | …sts/integration/cartography/intel/okta/test_origins.py | 0 | test that okta user admin roles are synced correctly to the graph. this follows the recommended pattern: mock get() func | STRING |
| HIGH | …sts/integration/cartography/intel/okta/test_factors.py | 0 | test that okta user admin roles are synced correctly to the graph. this follows the recommended pattern: mock get() func | STRING |
| HIGH | …ntegration/cartography/intel/okta/test_applications.py | 0 | test that okta user admin roles are synced correctly to the graph. this follows the recommended pattern: mock get() func | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_users.py | 0 | test that okta user admin roles are synced correctly to the graph. this follows the recommended pattern: mock get() func | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_roles.py | 0 | test that okta user admin roles are synced correctly to the graph. this follows the recommended pattern: mock get() func | STRING |
| HIGH | …sts/integration/cartography/intel/okta/test_origins.py | 0 | merge (o:oktaorganization{id: $org_id}) on create set o.firstseen = timestamp() set o.lastupdated = $update_tag, o :tena | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_group.py | 0 | merge (o:oktaorganization{id: $org_id}) on create set o.firstseen = timestamp() set o.lastupdated = $update_tag, o :tena | STRING |
| HIGH | …ntegration/cartography/intel/okta/test_applications.py | 0 | merge (o:oktaorganization{id: $org_id}) on create set o.firstseen = timestamp() set o.lastupdated = $update_tag, o :tena | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_users.py | 0 | merge (o:oktaorganization{id: $org_id}) on create set o.firstseen = timestamp() set o.lastupdated = $update_tag, o :tena | STRING |
| HIGH | …sts/integration/cartography/intel/okta/test_origins.py | 0 | merge (o:oktaorganization{id: $org_id}) set o.lastupdated = $update_tag, o :tenant | STRING |
| HIGH | …sts/integration/cartography/intel/okta/test_factors.py | 0 | merge (o:oktaorganization{id: $org_id}) set o.lastupdated = $update_tag, o :tenant | STRING |
| HIGH | …ntegration/cartography/intel/okta/test_applications.py | 0 | merge (o:oktaorganization{id: $org_id}) set o.lastupdated = $update_tag, o :tenant | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_users.py | 0 | merge (o:oktaorganization{id: $org_id}) set o.lastupdated = $update_tag, o :tenant | STRING |
| HIGH | tests/integration/cartography/intel/okta/test_roles.py | 0 | merge (o:oktaorganization{id: $org_id}) set o.lastupdated = $update_tag, o :tenant | STRING |
| HIGH | tests/integration/cartography/intel/aws/test_rds.py | 0 | merge (k:kmskey{id: $key_id}) set k.arn = $key_arn, k.lastupdated = $update_tag | STRING |
| HIGH | tests/integration/cartography/intel/aws/test_efs.py | 0 | merge (k:kmskey{id: $key_id}) set k.arn = $key_arn, k.lastupdated = $update_tag | STRING |
| 111 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/__main__.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/utils.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/unit/cartography/graph/test_model.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/integration/conftest.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tion/cartography/intel/spacelift/test_ec2_ownership.py | 24 | def _setup_test_infrastructure(neo4j_session: neo4j.Session) -> None: | CODE |
| LOW | …ation/cartography/intel/snipeit/test_snipeit_assets.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ration/cartography/intel/snipeit/test_snipeit_users.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ts/integration/cartography/intel/kandji/test_kandji.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/integration/cartography/graph/test_matchlink.py | 31 | def _setup_test_data(neo4j_session: neo4j.Session, update_tag: int) -> None: | CODE |
| LOW | cartography/sync.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/config.py | 3 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/version.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/util.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/cli.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/stats.py | 216 | def set_stats_client(self, stats_client: StatsClient) -> None: | CODE |
| LOW | cartography/stats.py | 233 | def set_stats_client(stats_client: StatsClient) -> None: | CODE |
| LOW | cartography/helpers.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/analysis.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/dns.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/supply_chain.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/create_indexes.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/bigfix/__init__.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/bigfix/computers.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/tenant.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/users.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/__init__.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/groups.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/oauth_apps.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/googleworkspace/devices.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/alerts.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/fixes.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/__init__.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/organizations.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/repositories.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/socketdev/dependencies.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/aibom/__init__.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/aibom/transform.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/sentinelone/finding.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/sentinelone/__init__.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/sentinelone/application.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/sentinelone/agent.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/sentinelone/account.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/crowdstrike/spotlight.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/crowdstrike/__init__.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/crowdstrike/endpoints.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/edgeconfigtokens.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/logdrains.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/securecomputenetworks.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/accessgroups.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/firewallconfigs.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/users.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/util.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/domains.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/teams.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/__init__.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/aliases.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/dnsrecords.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/edgeconfigs.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/firewallbypassrules.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | cartography/intel/vercel/sharedenvironmentvariables.py | 15 | logger = logging.getLogger(__name__) | CODE |
| 517 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cartography/sync.py | 239 | Execute all configured stages in the sync task sequentially. This method is the main execution entry p | STRING |
| HIGH | cartography/sync.py | 384 | Execute a sync task with comprehensive configuration and error handling. This function serves as a high-level | STRING |
| HIGH | cartography/sync.py | 537 | Parse and validate user-selected modules from comma-separated string. This function takes a comma-separated st | STRING |
| HIGH | cartography/sync.py | 583 | Build a custom sync with user-specified modules. This function creates a Sync instance configured only with th | STRING |
| HIGH | cartography/util.py | 84 | Execute an analysis job to enrich existing graph data. This function is designed for use with the cartography. | STRING |
| HIGH | cartography/util.py | 152 | Conditionally run an analysis job based on resource dependency requirements. This function checks if all requi | STRING |
| HIGH | cartography/util.py | 245 | Execute a scoped analysis job on a specific sub-resource. This function runs analysis queries that are scoped | STRING |
| HIGH | cartography/util.py | 303 | Execute a cleanup job to remove stale data from the graph. .. deprecated:: This function is deprecated | STRING |
| HIGH | cartography/util.py | 432 | Load a binary resource from a Python package. This function provides a convenient way to load binary files (li | STRING |
| HIGH | cartography/util.py | 467 | Decorator to measure and report function execution time via StatsD. This decorator automatically measures the | STRING |
| HIGH | cartography/util.py | 526 | Helper function for handling AWS boto3 API pagination with progress logging. This function provides a convenie | STRING |
| HIGH | cartography/util.py | 653 | Decorator to handle AWS regional access errors and opt-in region limitations. This decorator wraps AWS API fun | STRING |
| HIGH | cartography/util.py | 769 | Add exponential backoff retry logic to any function. This decorator function wraps any callable with retry log | STRING |
| HIGH | cartography/util.py | 856 | Convert a dictionary date value to Unix epoch timestamp. .. deprecated:: This method is deprecated. Ne | STRING |
| HIGH | cartography/util.py | 940 | Determine if an exception is caused by API rate limiting or throttling. This function checks whether a given e | STRING |
| HIGH | cartography/util.py | 1002 | Execute a synchronous function asynchronously in a threadpool with throttling protection. This function wraps | STRING |
| HIGH | cartography/util.py | 1061 | Synchronously execute multiple awaitables and return their results. This function blocks the current thread un | STRING |
| HIGH | cartography/stats.py | 138 | Create a StatsD timer context manager for measuring execution time. This method returns a timer object | STRING |
| HIGH | cartography/stats.py | 176 | Report a StatsD gauge metric value. This method reports a gauge value using the underlying StatsD clie | STRING |
| HIGH | cartography/helpers.py | 68 | Split an iterable into batches of specified size. This utility function takes any iterable and yields lists of | STRING |
| HIGH | cartography/intel/gcp/bigquery_connection.py | 67 | Gets BigQuery connections for a project across all locations. The BigQuery Connection API does not support a w | STRING |
| HIGH | cartography/graph/job.py | 26 | Extract variable names from a Template object. This function extracts all variable identifiers (parameters) fr | STRING |
| HIGH | cartography/graph/job.py | 109 | Handle serialization of custom objects. This method is called by the JSON encoder for objects that are | STRING |
| HIGH | cartography/graph/job.py | 134 | A job that executes a sequence of Neo4j statements against the cartography graph. A GraphJob represents a comp | STRING |
| HIGH | cartography/graph/job.py | 218 | Execute the job by running all statements sequentially. This method executes each statement in the job | STRING |
| HIGH | cartography/graph/job.py | 285 | Create a GraphJob instance from a JSON string. This class method deserializes a JSON string into a Gra | STRING |
| HIGH | cartography/graph/job.py | 336 | Create a cleanup job from a CartographyNodeSchema. This class method generates a cleanup job that remo | STRING |
| HIGH | cartography/graph/job.py | 462 | Create a GraphJob instance from a JSON file. This class method reads a JSON file and deserializes it i | STRING |
| HIGH | cartography/graph/job.py | 554 | Deserialize GraphStatement objects from a JSON dictionary. This function creates a list of GraphStatement obje | STRING |
| HIGH | cartography/graph/statement.py | 43 | Extract the short name from a file path by removing the extension. This utility function takes a file path and | STRING |
| HIGH | cartography/graph/statement.py | 218 | Convert statement to a dictionary representation. This method serializes the GraphStatement instance i | STRING |
| HIGH | cartography/graph/statement.py | 337 | Create a GraphStatement instance from a JSON object. This class method constructs a GraphStatement fro | STRING |
| HIGH | cartography/graph/statement.py | 373 | Create a GraphStatement instance from a JSON file. This class method reads a JSON file and creates a G | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 19 | Generate Neo4j queries to clean up stale nodes and relationships. This function creates appropriate cleanup qu | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 127 | Generate a cleanup query for relationships when no sub resource is defined. This helper function creates a que | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 182 | Build a MATCH statement for cleanup queries. This helper function generates the appropriate MATCH clause based | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 249 | Generate cleanup queries for both nodes and relationships. This function performs the main string template log | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 389 | Generate an unscoped cleanup query for nodes. This function creates a cleanup query for node schemas that allo | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 458 | Generate an unscoped relationship cleanup query. This function creates a cleanup query for relationships when | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 517 | Build a relationship clause with correct directional syntax. This function generates the appropriate Neo4j rel | STRING |
| HIGH | cartography/graph/cleanupbuilder.py | 604 | Generate a cleanup query for matchlink relationships. This function creates a Neo4j query to clean up stale ma | STRING |
| HIGH | cartography/graph/querybuilder.py | 423 | Generate a Neo4j clause that sets node properties using the given mapping of attribute names to PropertyRefs. | STRING |
| HIGH | cartography/graph/querybuilder.py | 491 | Generate a Neo4j clause that sets relationship properties using the given mapping of attribute names to PropertyRef | STRING |
| HIGH | cartography/graph/querybuilder.py | 542 | Generate a Neo4j match statement on one or more keys and values for a given node. This function creates a prop | STRING |
| HIGH | cartography/graph/querybuilder.py | 582 | Generate a Neo4j WHERE clause for relationship matching with advanced matching options. This function creates | STRING |
| HIGH | cartography/graph/querybuilder.py | 660 | Convert CartographyRelSchema properties to dict with validation and helpful error messages. This function conv | STRING |
| HIGH | cartography/graph/querybuilder.py | 728 | Generate a Neo4j statement to attach a sub resource to a node. A 'sub resource' is a cartography term for bill | STRING |
| HIGH | cartography/graph/querybuilder.py | 817 | Generate a Neo4j statement to attach multiple additional relationships to nodes. This function creates Neo4j c | STRING |
| HIGH | cartography/graph/querybuilder.py | 928 | Generate Neo4j subqueries to attach sub resource and/or other relationships. This function uses Neo4j subqueri | STRING |
| HIGH | cartography/graph/querybuilder.py | 1009 | Check if a relationship schema is present on a node schema. This function determines whether a given relations | STRING |
| HIGH | cartography/graph/querybuilder.py | 1050 | Filter and validate selected relationships against a node schema. This function ensures that selected relation | STRING |
| HIGH | cartography/graph/querybuilder.py | 1132 | Generate a Neo4j query from a CartographyNodeSchema to ingest nodes and relationships. This function creates a | STRING |
| HIGH | cartography/graph/querybuilder.py | 1227 | Generate Neo4j queries to apply conditional labels to nodes. Conditional labels are labels that are only appli | STRING |
| HIGH | cartography/graph/querybuilder.py | 1380 | Generate queries to create indexes for the given CartographyNodeSchema and all node types attached to it via its | STRING |
| HIGH | cartography/graph/querybuilder.py | 1531 | Generate queries to create indexes for the given CartographyRelSchema and all node types attached to it. This | STRING |
| HIGH | cartography/graph/querybuilder.py | 1730 | Generate a query that links every matched source node to every matched target. This is the querybuilder compan | STRING |
| HIGH | cartography/graph/querybuilder.py | 1830 | Generate a Neo4j query to link two existing nodes when given a CartographyRelSchema object. This function crea | STRING |
| HIGH | cartography/models/core/common.py | 47 | Initialize a PropertyRef instance. Args: name (str): The name of the property. | STRING |
| HIGH | cartography/models/core/relationships.py | 133 | Create a TargetNodeMatcher with dynamically generated attributes. This function creates a specialized TargetNo | STRING |
| HIGH | cartography/rules/formatters.py | 19 | Generate a clickable Neo4j Browser URL with pre-populated query. This function converts a Neo4j connection URI | STRING |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ts/unit/cartography/intel/aws/test_ecr_image_layers.py | 933 | "sha256:2222222222222222222222222222222222222222222222222222222222222222": "/bin/sh -c apt-get update && apt-get | CODE |
| HIGH | tests/integration/rules/test_cis_aws_iam.py | 171 | // Inline policies are loaded with arn = null; policy.id is the only stable id. | STRING |
| HIGH | tests/integration/rules/test_cis_aws_iam.py | 174 | arn: null, | STRING |
| HIGH | …egration/cartography/intel/spacelift/test_spacelift.py | 319 | # Only stack-1 has an assumed role ARN; stack-2's is null, so it gets no edge. | COMMENT |
| HIGH | tests/data/spacelift/spacelift_data.py | 63 | # No AWS integration: assumedRoleArn is null, so no ASSUMES edge. | COMMENT |
| HIGH⚡ | tests/data/okta/application.py | 11 | "passwordChanged": null, | CODE |
| HIGH⚡ | tests/data/okta/application.py | 18 | "secondEmail": null, | CODE |
| HIGH⚡ | tests/data/okta/application.py | 44 | "passwordChanged": null, | CODE |
| HIGH⚡ | tests/data/okta/application.py | 51 | "secondEmail": null, | CODE |
| HIGH⚡ | tests/data/okta/application.py | 53 | "mobilePhone": null, | CODE |
| HIGH | tests/data/okta/application.py | 99 | "errorRedirectUrl": null, | CODE |
| HIGH | tests/data/okta/application.py | 130 | "client_uri": null, | CODE |
| HIGH | tests/data/okta/application.py | 131 | "logo_uri": null, | CODE |
| HIGH | tests/data/aws/cloudtrail_management_events.py | 495 | "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "IAMUser", "principalId": "AIDACKCEVSQ6C2E | CODE |
| HIGH | tests/data/aws/cloudtrail_management_events.py | 504 | "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "IAMUser", "principalId": "AIDACKCEVSQ6C2A | CODE |
| HIGH | tests/data/aws/cloudtrail_management_events.py | 520 | "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "SAMLUser", "principalId": "SAML:unauthori | CODE |
| HIGH | tests/data/aws/cloudtrail_management_events.py | 536 | "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "WebIdentityUser", "principalId": "repo:un | CODE |
| HIGH | tests/data/aws/ecs.py | 564 | "curl -f http://localhost:8080/healthz || exit 1", | CODE |
| HIGH | tests/data/trivy/trivy_sample.py | 67 | "created_by": 'RUN /bin/sh -c set -eux; \t\tsavedAptMark="$(apt-mark showmanual)"; \tapt-get update; | CODE |
| HIGH | tests/data/trivy/trivy_sample.py | 138 | "created_by": 'HEALTHCHECK \u0026{["CMD-SHELL" "curl -f http://localhost:8000/health || exit 1"] "30 | CODE |
| HIGH | tests/data/trivy/trivy_sample.py | 184 | "curl -f http://localhost:8000/health || exit 1", | CODE |
| HIGH | cartography/intel/socketdev/alerts.py | 60 | The Socket.dev API sometimes returns objects like {"name": "main", "type": null} | STRING |
| HIGH | cartography/intel/socketdev/alerts.py | 85 | # Resolve GHSA IDs — cveId is often null, ghsaIds has the identifier | COMMENT |
| HIGH | cartography/intel/semgrep/findings.py | 165 | if dep_url: # Lock file can be null, need to set | CODE |
| HIGH⚡ | cartography/intel/aws/organizations.py | 565 | SET account.arn = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 566 | account.email = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 567 | account.state = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 568 | account.status = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 569 | account.joined_method = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 570 | account.joined_timestamp = null, | STRING |
| HIGH⚡ | cartography/intel/aws/organizations.py | 571 | account.org_id = null, | STRING |
| HIGH⚡ | cartography/graph/querybuilder.py | 30 | # coalesce will return the first non-null value, so if toBooleanOrNull returns null, | COMMENT |
| HIGH | cartography/graph/querybuilder.py | 47 | # coalesce will return the first non-null value, so if toBooleanOrNull returns null, | COMMENT |
| HIGH | cartography/models/gitlab/organizations.py | 4 | In GitLab, organizations are top-level groups (where parent_id is null). | STRING |
| HIGH | cartography/models/gitlab/organizations.py | 44 | Organizations are top-level groups (parent_id is null) that serve as the root | STRING |
| HIGH | …phy/rules/data/rules/delegation_boundary_modifiable.py | 43 | UNWIND coalesce(stmt.resource, [null]) AS resource | CODE |
| HIGH⚡ | …y/rules/data/rules/policy_administration_privileges.py | 50 | UNWIND coalesce(allow_resources, [null]) AS resource | CODE |
| HIGH⚡ | cartography/rules/data/rules/databricks_security.py | 74 | # (system-default cap) and an unset value both to null, and the account default | STRING |
| HIGH | …rules/data/rules/identity_administration_privileges.py | 48 | UNWIND coalesce(stmt.resource, [null]) AS resource | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | demo/seeds/slack.py | 46 | # Create a mock Slack client | COMMENT |
| MEDIUM⚡ | tests/unit/cartography/client/core/test_tx.py | 649 | # Create a ClientError without setting the code (simulates locally-created error) | COMMENT |
| MEDIUM | …ntegration/cartography/intel/sentinelone/test_agent.py | 188 | # Create an old agent that should be cleaned up | COMMENT |
| MEDIUM | …egration/cartography/intel/sentinelone/test_finding.py | 230 | # Create an old AppFinding that should be cleaned up | COMMENT |
| MEDIUM | …ration/cartography/intel/gitlab/test_cascade_delete.py | 148 | # Create a stale branch (should be deleted) | COMMENT |
| MEDIUM | …ration/cartography/intel/gitlab/test_cascade_delete.py | 161 | # Create a fresh branch (should be preserved - maybe re-parented) | COMMENT |
| MEDIUM | …ration/cartography/intel/azure/test_security_center.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …ts/integration/cartography/intel/azure/test_monitor.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …integration/cartography/intel/azure/test_key_vaults.py | 32 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …ntegration/cartography/intel/azure/test_app_service.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …/integration/cartography/intel/azure/test_data_lake.py | 27 | # Create the prerequisite AzureSubscription and AzureStorageAccount nodes | COMMENT |
| MEDIUM | …egration/cartography/intel/azure/test_load_balancer.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …integration/cartography/intel/azure/test_logic_apps.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …s/integration/cartography/intel/azure/test_firewall.py | 39 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …s/integration/cartography/intel/azure/test_firewall.py | 394 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …tegration/cartography/intel/azure/test_data_factory.py | 39 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …tegration/cartography/intel/azure/test_data_factory.py | 201 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …tegration/cartography/intel/azure/test_data_factory.py | 234 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …tegration/cartography/intel/azure/test_data_factory.py | 268 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …ts/integration/cartography/intel/azure/test_synapse.py | 50 | # Create the prerequisite AzureSubscription node with the short GUID | COMMENT |
| MEDIUM | …ts/integration/cartography/intel/azure/test_network.py | 41 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …ation/cartography/intel/azure/test_group_containers.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …/integration/cartography/intel/azure/test_functions.py | 35 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …/integration/cartography/intel/azure/test_event_hub.py | 39 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | tests/integration/cartography/intel/azure/test_aks.py | 24 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …on/cartography/intel/azure/test_application_gateway.py | 23 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …ration/cartography/intel/azure/test_resource_groups.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | …integration/cartography/intel/azure/test_event_grid.py | 21 | # Create the prerequisite AzureSubscription node | COMMENT |
| MEDIUM | tests/integration/cartography/intel/gcp/test_cai.py | 39 | # Create a mock CAI client | COMMENT |
| MEDIUM | tests/integration/cartography/intel/gcp/test_kms.py | 71 | # Create the prerequisite GCPProject node | COMMENT |
| MEDIUM | …tegration/cartography/intel/gcp/test_cascade_delete.py | 154 | # Create a stale child (should be deleted) | COMMENT |
| MEDIUM | …tegration/cartography/intel/gcp/test_cascade_delete.py | 167 | # Create a fresh child (should be preserved - maybe re-parented) | COMMENT |
| MEDIUM | …tegration/cartography/intel/gcp/test_cascade_delete.py | 358 | # Create a child resource under the project | COMMENT |
| MEDIUM | …ion/cartography/intel/gcp/test_empty_parent_cleanup.py | 252 | # Create a cluster for testing | STRING |
| MEDIUM | …ion/cartography/intel/gcp/test_crm_deferred_cleanup.py | 102 | # Create a minimal config | COMMENT |
| MEDIUM | tests/integration/cartography/intel/okta/test_group.py | 42 | # Create the OktaOrganization node first (normally done by organization.create_okta_organization) | COMMENT |
| MEDIUM | tests/integration/cartography/intel/okta/test_group.py | 142 | # Create a fresh group via sync | COMMENT |
| MEDIUM | …ntegration/cartography/intel/okta/test_applications.py | 50 | # Create the OktaOrganization node first | COMMENT |
| MEDIUM | tests/integration/cartography/intel/okta/test_users.py | 48 | # Create the OktaOrganization node first | COMMENT |
| MEDIUM | …tegration/cartography/intel/aws/test_cloudformation.py | 32 | # Create a mock AWSRole for the relationship test | COMMENT |
| MEDIUM | …tegration/cartography/intel/aws/test_identitycenter.py | 375 | # Create a sample AWSRole node that we'll link to the group | COMMENT |
| MEDIUM | …ration/cartography/intel/aws/iam/test_role_policies.py | 50 | # Define the relationships we expect in terms of role ARN and principal ARN. | COMMENT |
| MEDIUM | …ration/cartography/intel/aws/iam/test_user_policies.py | 48 | # Define the relationships we expect in terms of role ARN and principal ARN. | COMMENT |
| MEDIUM | tests/integration/cartography/intel/aws/iam/test_iam.py | 95 | # Create a mock boto3 session for the test | COMMENT |
| MEDIUM | tests/integration/cartography/intel/aws/iam/test_iam.py | 129 | # Create a test principal that the sync function will find | COMMENT |
| MEDIUM | …on/cartography/intel/aws/ec2/test_load_balancer_v2s.py | 322 | # Create a NACL attached to subnet-11111111 | COMMENT |
| MEDIUM | …/integration/cartography/intel/kubernetes/test_rbac.py | 66 | # Create a mock K8s client | COMMENT |
| MEDIUM | …tegration/cartography/intel/kubernetes/test_ingress.py | 318 | # Create a mock K8s client | COMMENT |
| MEDIUM | tests/data/gcp/kms.py | 42 | # Define a helper mapping for the test to easily return the correct keys per ring | COMMENT |
| MEDIUM | docs/conf.py | 4 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | cartography/intel/gitlab/dependencies.py | 402 | # Create a mapping of file paths to dependency file IDs | COMMENT |
| MEDIUM⚡ | cartography/intel/azure/subscription.py | 32 | # Create the client | COMMENT |
| MEDIUM | cartography/intel/azure/subscription.py | 63 | # Create the client | COMMENT |
| MEDIUM | cartography/intel/azure/data_factory_pipeline.py | 63 | # Create a new dict for each relationship | COMMENT |
| MEDIUM | cartography/intel/gcp/vertex/deployed_models.py | 29 | # Create a composite ID from endpoint and deployed model ID | COMMENT |
| MEDIUM | cartography/intel/snipeit/user.py | 45 | # Create the SnipeIT Tenant | COMMENT |
| MEDIUM | cartography/intel/snipeit/asset.py | 43 | # Create the SnipeIT Tenant | COMMENT |
| MEDIUM | cartography/intel/github/repos.py | 1163 | # Create a unique ID for a GitHubBranch node representing the default branch of this repo object. | STRING |
| MEDIUM | cartography/intel/github/repos.py | 1170 | # Create a git:// URL from the given SSH URL, if it exists. | STRING |
| MEDIUM | cartography/intel/aws/apigateway.py | 238 | # Create a mapping of api_id to policy data for easier lookup | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 44 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 143 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 181 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 208 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 220 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 243 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 279 | CODE | |
| LOW | …it/cartography/intel/ontology/test_ontology_mapping.py | 315 | CODE | |
| LOW | tests/unit/cartography/graph/test_model.py | 22 | CODE | |
| LOW | tests/unit/cartography/graph/test_analysis.py | 49 | CODE | |
| LOW | …nit/cartography/graph/test_ontology_rel_constraints.py | 13 | CODE | |
| LOW | …tegration/cartography/intel/github/test_dockerfiles.py | 122 | CODE | |
| LOW | …tegration/cartography/intel/github/test_dockerfiles.py | 128 | CODE | |
| LOW | tests/integration/cartography/intel/aws/test_init.py | 1195 | CODE | |
| LOW | cartography/intel/supply_chain.py | 334 | CODE | |
| LOW | cartography/intel/supply_chain.py | 472 | CODE | |
| LOW | cartography/intel/googleworkspace/users.py | 42 | CODE | |
| LOW | cartography/intel/googleworkspace/__init__.py | 64 | CODE | |
| LOW | cartography/intel/googleworkspace/groups.py | 235 | CODE | |
| LOW | cartography/intel/googleworkspace/oauth_apps.py | 23 | CODE | |
| LOW | cartography/intel/gitlab/dependency_files.py | 20 | CODE | |
| LOW | cartography/intel/gitlab/users.py | 90 | CODE | |
| LOW | cartography/intel/gitlab/util.py | 169 | CODE | |
| LOW | …rtography/intel/gitlab/container_image_attestations.py | 67 | CODE | |
| LOW | cartography/intel/gitlab/supply_chain.py | 265 | CODE | |
| LOW | cartography/intel/gitlab/supply_chain.py | 364 | CODE | |
| LOW | cartography/intel/gitlab/container_images.py | 109 | CODE | |
| LOW | cartography/intel/gitlab/container_images.py | 339 | CODE | |
| LOW | cartography/intel/azure/functions.py | 115 | CODE | |
| LOW | cartography/intel/azure/firewall.py | 499 | CODE | |
| LOW | cartography/intel/azure/data_factory_pipeline.py | 38 | CODE | |
| LOW | cartography/intel/azure/network.py | 237 | CODE | |
| LOW | cartography/intel/azure/compute.py | 50 | CODE | |
| LOW | cartography/intel/azure/util/common.py | 7 | CODE | |
| LOW | cartography/intel/pagerduty/escalation_policies.py | 43 | CODE | |
| LOW | cartography/intel/pagerduty/schedules.py | 40 | CODE | |
| LOW | …tography/intel/microsoft/intune/compliance_policies.py | 56 | CODE | |
| LOW | cartography/intel/microsoft/intune/reports.py | 186 | CODE | |
| LOW | cartography/intel/microsoft/entra/groups.py | 42 | CODE | |
| LOW | cartography/intel/microsoft/entra/utils.py | 71 | CODE | |
| LOW | cartography/intel/microsoft/entra/ou.py | 22 | CODE | |
| LOW | …tography/intel/microsoft/entra/app_role_assignments.py | 29 | CODE | |
| LOW | …raphy/intel/databricks/network_connectivity_configs.py | 40 | CODE | |
| LOW | cartography/intel/gsuite/__init__.py | 69 | CODE | |
| LOW | cartography/intel/gsuite/groups.py | 109 | CODE | |
| LOW | cartography/intel/oci/iam.py | 385 | CODE | |
| LOW | cartography/intel/gcp/secretsmanager.py | 28 | CODE | |
| LOW | cartography/intel/gcp/secretsmanager.py | 85 | CODE | |
| LOW | cartography/intel/gcp/dns.py | 56 | CODE | |
| LOW | cartography/intel/gcp/util.py | 138 | CODE | |
| LOW | cartography/intel/gcp/util.py | 245 | CODE | |
| LOW | cartography/intel/gcp/policy_bindings.py | 517 | CODE | |
| LOW | cartography/intel/gcp/policy_bindings.py | 694 | CODE | |
| LOW | cartography/intel/gcp/bigquery_connection.py | 17 | CODE | |
| LOW | cartography/intel/gcp/cai.py | 25 | CODE | |
| LOW | cartography/intel/gcp/cai.py | 59 | CODE | |
| LOW | cartography/intel/gcp/__init__.py | 154 | CODE | |
| LOW | cartography/intel/gcp/__init__.py | 810 | CODE | |
| LOW | cartography/intel/gcp/apikeys.py | 24 | CODE | |
| LOW | cartography/intel/gcp/instancegroup.py | 94 | CODE | |
| 105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …nit/cartography/intel/tenable/test_assets_transform.py | 211 | assert tag["added_by"] == "admin@example.com" | CODE |
| LOW | tests/unit/cartography/intel/github/test_repos.py | 662 | dependencies, "fake-token", "https://api.github.com/graphql" | CODE |
| LOW | tests/unit/cartography/intel/github/test_repos.py | 726 | dependencies, "fake-token", "https://api.github.com/graphql" | CODE |
| LOW | tests/unit/cartography/intel/github/test_repos.py | 777 | dependencies, "fake-token", "https://api.github.com/graphql" | CODE |
| LOW | tests/unit/cartography/intel/github/test_repos.py | 830 | dependencies, "fake-token", "https://api.github.com/graphql" | CODE |
| LOW | tests/unit/cartography/intel/github/test_app_auth.py | 60 | private_key="fake-key", | CODE |
| LOW | tests/unit/cartography/intel/github/test_app_auth.py | 91 | private_key="fake-key", | CODE |
| LOW | tests/unit/cartography/intel/github/test_app_auth.py | 117 | private_key="fake-key", | CODE |
| LOW | tests/unit/cartography/intel/github/test_app_auth.py | 136 | private_key="fake-key", | CODE |
| LOW⚡ | tests/unit/cartography/intel/github/test_app_auth.py | 170 | "private_key": "fake-key", | CODE |
| LOW⚡ | tests/unit/cartography/intel/github/test_app_auth.py | 182 | "private_key": "fake-key", | CODE |
| LOW | tests/unit/cartography/intel/okta/test_admin_roles.py | 53 | sync_roles(mock.MagicMock(), "example_org", 1, "fake-key", sync_state) | CODE |
| LOW | tests/unit/cartography/intel/okta/test_admin_roles.py | 77 | sync_roles(mock.MagicMock(), "example_org", 1, "fake-key", sync_state) | CODE |
| LOW | tests/unit/cartography/intel/okta/test_admin_roles.py | 96 | sync_roles(mock.MagicMock(), "example_org", 1, "fake-key", sync_state) | CODE |
| LOW | tests/unit/cartography/intel/salesforce/test_util.py | 54 | username="user@example.com", | CODE |
| LOW | tests/unit/cartography/intel/aws/test_ses.py | 32 | "IdentityName": "user@example.com", | CODE |
| LOW | tests/unit/cartography/intel/aws/test_ses.py | 68 | "IdentityName": "user@example.com", | CODE |
| LOW | …ography/intel/aws/test_cloudtrail_management_events.py | 52 | "userName": "admin@example.com", | CODE |
| LOW | …ography/intel/aws/test_cloudtrail_management_events.py | 54 | "CloudTrailEvent": '{"userIdentity": {"type": "SAMLUser", "principalId": "SAML:admin@example.com", "userName": "admi | CODE |
| LOW | …ography/intel/aws/test_cloudtrail_management_events.py | 108 | assert assumption["source_principal_arn"] == "admin@example.com" | CODE |
| LOW | …ation/cartography/intel/socketdev/test_dependencies.py | 44 | "fake-token", | CODE |
| LOW | …ation/cartography/intel/socketdev/test_repositories.py | 38 | "fake-token", | CODE |
| LOW | …integration/cartography/intel/socketdev/test_alerts.py | 44 | "fake-token", | CODE |
| LOW | …/integration/cartography/intel/socketdev/test_fixes.py | 56 | "fake-token", | CODE |
| LOW⚡ | …ration/cartography/intel/crowdstrike/test_spotlight.py | 24 | return_value=[["dummy-id"]], | CODE |
| LOW⚡ | …ration/cartography/intel/crowdstrike/test_spotlight.py | 31 | cartography.intel.crowdstrike.endpoints, "get_host_ids", return_value=[["dummy-id"]] | CODE |
| LOW⚡ | …ration/cartography/intel/crowdstrike/test_spotlight.py | 148 | return_value=[["dummy-id"]], | CODE |
| LOW⚡ | …ration/cartography/intel/crowdstrike/test_spotlight.py | 155 | cartography.intel.crowdstrike.endpoints, "get_host_ids", return_value=[["dummy-id"]] | CODE |
| LOW | …egration/cartography/intel/gitlab/test_ci_variables.py | 71 | "fake-token", | CODE |
| LOW | …egration/cartography/intel/gitlab/test_ci_variables.py | 136 | "fake-token", | CODE |
| LOW | …egration/cartography/intel/gitlab/test_ci_variables.py | 166 | "fake-token", | CODE |
| LOW | …integration/cartography/intel/gitlab/test_ci_config.py | 136 | "fake-token", | CODE |
| LOW | …integration/cartography/intel/gitlab/test_ci_config.py | 176 | "fake-token", | CODE |
| LOW | …integration/cartography/intel/gitlab/test_ci_config.py | 251 | "fake-token", | CODE |
| LOW | …integration/cartography/intel/gitlab/test_ci_config.py | 276 | "fake-token", | CODE |
| LOW⚡ | …on/cartography/intel/gitlab/test_container_registry.py | 156 | "fake-token", | CODE |
| LOW⚡ | …on/cartography/intel/gitlab/test_container_registry.py | 166 | "fake-token", | CODE |
| LOW⚡ | …on/cartography/intel/gitlab/test_container_registry.py | 176 | "fake-token", | CODE |
| LOW⚡ | …on/cartography/intel/gitlab/test_container_registry.py | 186 | "fake-token", | CODE |
| LOW | …egration/cartography/intel/gitlab/test_environments.py | 68 | "fake-token", | CODE |
| LOW | …s/integration/cartography/intel/gitlab/test_runners.py | 89 | "fake-token", | CODE |
| LOW | …s/integration/cartography/intel/gitlab/test_runners.py | 162 | "fake-token", | CODE |
| LOW | …sts/integration/cartography/intel/gitlab/test_users.py | 121 | "fake-token", | CODE |
| LOW | …s/integration/cartography/intel/github/test_commits.py | 66 | "fake-token", | CODE |
| LOW | …artography/intel/scaleway/test_code_to_cloud_gitlab.py | 46 | "fake-token", | CODE |
| LOW | …graphy/intel/scaleway/test_code_to_cloud_full_chain.py | 154 | "fake-token", | CODE |
| LOW | …artography/intel/scaleway/test_code_to_cloud_github.py | 45 | "fake-token", | CODE |
| LOW | tests/integration/cartography/intel/slack/test_team.py | 6 | SLACK_TOKEN = "fake-token" | CODE |
| LOW | …s/integration/cartography/intel/slack/test_channels.py | 9 | SLACK_TOKEN = "fake-token" | CODE |
| LOW | tests/integration/cartography/intel/slack/test_users.py | 8 | SLACK_TOKEN = "fake-token" | CODE |
| LOW | …sts/integration/cartography/intel/slack/test_groups.py | 10 | SLACK_TOKEN = "fake-token" | CODE |
| LOW | tests/integration/cartography/intel/aws/test_ses.py | 63 | "user@example.com", | CODE |
| LOW | …ography/intel/aws/test_cloudtrail_management_events.py | 420 | ("admin@example.com", "arn:aws:iam::123456789012:role/ApplicationRole"), | CODE |
| LOW | …ography/intel/aws/test_cloudtrail_management_events.py | 428 | WHERE p.user_name IN ['admin@example.com', 'alice@example.com'] | STRING |
| LOW | …tion/cartography/intel/trivy/test_trivy_gitlab_disk.py | 105 | "fake-token", | CODE |
| LOW | …tion/cartography/intel/trivy/test_trivy_gitlab_disk.py | 116 | "fake-token", | CODE |
| LOW | …tion/cartography/intel/trivy/test_trivy_gitlab_disk.py | 192 | "fake-token", | CODE |
| LOW | …tion/cartography/intel/trivy/test_trivy_gitlab_disk.py | 208 | "fake-token", | CODE |
| LOW | tests/data/socketdev/organizations.py | 5 | "name": "Acme Corp", | CODE |
| LOW | tests/data/vercel/teams.py | 4 | "name": "Acme Corp", | CODE |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …cartography/intel/aws/test_permission_relationships.py | 79 | # Step 1: Create AWS account | COMMENT |
| LOW⚡ | …cartography/intel/aws/test_permission_relationships.py | 82 | # Step 2: Create S3 bucket resource (out of band to be quick and dirty) | COMMENT |
| LOW | …cartography/intel/aws/test_permission_relationships.py | 93 | # Step 3: Create IAM roles and policies using sync_roles | COMMENT |
| LOW | .agents/skills/audit-frameworks/SKILL.md | 37 | ### Step 1: inventory | COMMENT |
| LOW | .agents/skills/audit-frameworks/SKILL.md | 56 | ### Step 2: TODO triage | COMMENT |
| LOW | .agents/skills/audit-frameworks/SKILL.md | 71 | ### Step 3: cross-provider to ontology candidates | COMMENT |
| LOW | .agents/skills/audit-frameworks/SKILL.md | 91 | ### Step 4: duplicate detection | COMMENT |
| LOW | .agents/skills/audit-frameworks/SKILL.md | 111 | ### Step 5: consolidation plan | COMMENT |
| LOW | .agents/skills/analysis-jobs/SKILL.md | 37 | ### Step 1 - Pick global vs scoped | COMMENT |
| LOW | .agents/skills/analysis-jobs/SKILL.md | 49 | ### Step 2 - Author the typed job | COMMENT |
| LOW | .agents/skills/analysis-jobs/SKILL.md | 76 | ### Step 3 - Write the queries | COMMENT |
| LOW⚡ | .agents/skills/analysis-jobs/SKILL.md | 97 | ### Step 4 - Available parameters | COMMENT |
| LOW⚡ | .agents/skills/analysis-jobs/SKILL.md | 105 | ### Step 5 - Wire the call into your module | COMMENT |
| LOW | .agents/skills/analysis-jobs/SKILL.md | 161 | ### Step 6 - Test it | COMMENT |
| LOW⚡ | .agents/skills/promote-ontology-relationship/SKILL.md | 47 | ### Step 1: Identify the canonical pair and label | COMMENT |
| LOW⚡ | .agents/skills/promote-ontology-relationship/SKILL.md | 51 | ### Step 2: Find which provider nodes carry each ontology label | COMMENT |
| LOW⚡ | .agents/skills/promote-ontology-relationship/SKILL.md | 61 | ### Step 3: Find the direct edges to migrate | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 74 | ### Step 4: Add the parallel canonical edge | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 114 | ### Step 5: Add the constraint | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 125 | ### Step 6: Run the guard, then whitelist remaining collisions | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 137 | ### Step 7: Update documentation | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 151 | ### Step 8: Decouple internal queries | COMMENT |
| LOW | .agents/skills/promote-ontology-relationship/SKILL.md | 159 | ### Step 9: Tests and verification | COMMENT |
| LOW | docs/root/modules/github/config.md | 5 | ### Step 1: Create a Personal Access Token | COMMENT |
| LOW | docs/root/modules/github/config.md | 103 | ### Step 2: Configure Cartography | COMMENT |
| LOW | cartography/intel/microsoft/entra/applications.py | 169 | # Step 1: Sync applications | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 137 | # Step 1: Get all CVE IDs from the graph — this is the authoritative list | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 167 | # Step 2: Enrich and load one CVE year at a time to keep memory bounded. | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 213 | # Step 4: Cleanup stale CVEMetadata nodes from previous syncs | COMMENT |
| LOW⚡ | …y/rules/data/rules/policy_administration_privileges.py | 29 | // Step 1 - Collect (action, resource) pairs for allowed statements | COMMENT |
| LOW⚡ | …y/rules/data/rules/policy_administration_privileges.py | 36 | // Step 2 - Gather all Deny statements for the same principal | COMMENT |
| LOW⚡ | …y/rules/data/rules/policy_administration_privileges.py | 40 | // Step 3 - Filter out denied actions (handles *, iam:*, exact, and prefix wildcards) | COMMENT |
| LOW⚡ | …y/rules/data/rules/policy_administration_privileges.py | 47 | // Step 4 - Aggregate one row per (account, principal, policy). Substitute a | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 23 | // Step 1: Collect allowed actions that match IAM modification patterns | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 31 | // Step 2: Collect deny statements for the same role | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 36 | // Step 3: Compute effective = allows minus denies | COMMENT |
| LOW | …les/data/rules/workload_identity_admin_capabilities.py | 51 | // Step 4: Optional internet exposure context | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 115 | // Step 1: Gather allowed actions that match IAM modification patterns | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 123 | // Step 2: Gather all deny actions from the same role | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 127 | // Step 3: Subtract Deny actions from Allow actions | COMMENT |
| LOW | …les/data/rules/workload_identity_admin_capabilities.py | 142 | // Step 4: Return only Lambdas with effective IAM modification capabilities | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …egration/cartography/intel/kubernetes/test_clusters.py | 81 | "EKSCluster", | COMMENT |
| LOW | …egration/cartography/intel/kubernetes/test_clusters.py | 101 | # "UPDATE_TAG": TEST_UPDATE_TAG + 1, | COMMENT |
| LOW | tests/data/tailscale/acls.py | 21 | // Comment this section out if you want to define specific restrictions. | COMMENT |
| LOW | tests/data/tailscale/acls.py | 61 | // Test access rules every time they're saved. | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 61 | # 'ListenerArn': 'string', | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 81 | # 'ClientId': 'string', | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 101 | # }, | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 161 | ], | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 181 | # 'Reason': 'string' | COMMENT |
| LOW | tests/data/aws/ec2/load_balancers.py | 201 | # { | COMMENT |
| LOW | docs/conf.py | 1 | # | COMMENT |
| LOW | docs/conf.py | 61 | COMMENT | |
| LOW | docs/conf.py | 81 | # | COMMENT |
| LOW | docs/conf.py | 101 | # If true, '()' will be appended to :func: etc. cross-reference text. | COMMENT |
| LOW | docs/conf.py | 161 | html_logo = "images/logo-vertical.svg" | COMMENT |
| LOW | docs/conf.py | 181 | # If not None, a 'Last updated on:' timestamp is inserted at every page | COMMENT |
| LOW | docs/conf.py | 201 | html_use_index = False | COMMENT |
| LOW | docs/conf.py | 221 | # html_file_suffix = None | COMMENT |
| LOW | .devcontainer/docker-compose.yml | 1 | version: '3.8' | COMMENT |
| LOW | .devcontainer/devcontainer.json | 21 | // Features to add to the dev container. More info: https://containers.dev/features. | COMMENT |
| LOW | .github/workflows/publish-to-ghcr-and-pypi.yml | 121 | # the workflow_dispatch. | COMMENT |
| LOW | cartography/intel/microsoft/entra/users.py | 21 | # NOTE: | COMMENT |
| LOW | cartography/intel/oci/__init__.py | 221 | # neo4j_session, | COMMENT |
| LOW | cartography/intel/gcp/__init__.py | 221 | # Track whether IAM sync succeeded for this project. | COMMENT |
| LOW | cartography/intel/gcp/__init__.py | 861 | "Some relationships may not be created if the dependency data doesn't exist in Neo4j.", | COMMENT |
| LOW | cartography/intel/aws/s3.py | 761 | COMMENT | |
| LOW | cartography/intel/aws/s3.py | 781 | # }, | COMMENT |
| LOW | cartography/intel/aws/s3.py | 861 | ) -> Optional[List[Dict]]: | COMMENT |
| LOW | cartography/intel/aws/s3.py | 1041 | def parse_bucket_logging(bucket: str, bucket_logging: Optional[Dict]) -> Optional[Dict]: | COMMENT |
| LOW | cartography/intel/aws/ec2/vpc.py | 101 | # { | COMMENT |
| LOW | cartography/models/databricks/account.py | 21 | # `Tenant` is the ontology label for the top-level resource container; the | COMMENT |
| LOW | cartography/models/ontology/constraints.py | 301 | # as an AWS role/user), not a role grant. Distinct from HAS_ROLE. | COMMENT |
| LOW | cartography/models/ontology/constraints.py | 321 | # ALLOWED_BY (PermissionRole->UserGroup) is "this role is assumable by | COMMENT |
| LOW | cartography/models/ontology/mapping/data/cves.py | 1 | from cartography.models.ontology.mapping.specs import OntologyFieldMapping | COMMENT |
| LOW | cartography/models/ontology/mapping/data/containers.py | 61 | OntologyFieldMapping( | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 181 | COMMENT | |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 401 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 421 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 441 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 461 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 481 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 501 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 521 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 541 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 561 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 581 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 601 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 621 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 641 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 661 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 681 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 701 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 721 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 741 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 761 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 781 | # ============================================================================= | COMMENT |
| LOW | cartography/rules/data/rules/cis_google_workspace.py | 801 | # ============================================================================= | COMMENT |
| LOW | …rtography/rules/data/rules/cis_kubernetes_workloads.py | 801 | # ============================================================================= | COMMENT |
| LOW | …rtography/rules/data/rules/cis_kubernetes_workloads.py | 821 | # ============================================================================= | COMMENT |
| LOW | …rtography/rules/data/rules/cis_kubernetes_workloads.py | 841 | # ============================================================================= | COMMENT |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/__main__.py | 107 | except Exception: | CODE |
| LOW | tests/unit/cartography/intel/workday/test_people.py | 323 | except Exception as e: | CODE |
| LOW | tests/unit/cartography/intel/workday/test_people.py | 341 | except Exception as e: | CODE |
| LOW | tests/unit/cartography/intel/workday/test_people.py | 359 | except Exception as e: | CODE |
| LOW | tests/unit/cartography/intel/trivy/test_scanner.py | 169 | except Exception as e: | CODE |
| LOW⚡ | tests/unit/cartography/data/jobs/test_syntax.py | 21 | except Exception as e: | CODE |
| LOW⚡ | tests/unit/cartography/data/jobs/test_syntax.py | 34 | except Exception as e: | CODE |
| LOW⚡ | tests/unit/cartography/data/jobs/test_syntax.py | 47 | except Exception as e: | CODE |
| LOW | tests/integration/conftest.py | 27 | except Exception as exc: # pragma: no cover | CODE |
| LOW | tests/integration/cartography/data/jobs/test_syntax.py | 33 | except Exception as e: | CODE |
| LOW | tests/integration/cartography/data/jobs/test_syntax.py | 47 | except Exception as e: | CODE |
| LOW | tests/integration/cartography/data/jobs/test_syntax.py | 69 | except Exception as e: | CODE |
| LOW | …/skills/create-module/references/coding-conventions.md | 27 | except Exception: | CODE |
| LOW | cartography/sync.py | 283 | except Exception: | CODE |
| LOW | cartography/util.py | 1043 | except Exception as exc: | CODE |
| LOW | cartography/cli.py | 339 | except Exception as e: | CODE |
| LOW | cartography/intel/analysis.py | 41 | except Exception: | CODE |
| LOW | cartography/intel/supply_chain.py | 583 | except Exception as e: | CODE |
| LOW | cartography/intel/supply_chain.py | 746 | except Exception as e: | CODE |
| LOW | cartography/intel/gitlab/users.py | 411 | except Exception: | CODE |
| LOW | cartography/intel/gitlab/users.py | 429 | except Exception: | CODE |
| LOW | cartography/intel/gitlab/users.py | 494 | except Exception: | CODE |
| LOW | cartography/intel/gitlab/container_images.py | 225 | except Exception as e: | CODE |
| LOW | cartography/intel/gitlab/projects.py | 54 | except Exception as e: | CODE |
| LOW | cartography/intel/cve/feed.py | 306 | except Exception: | STRING |
| LOW | cartography/intel/azure/util/credentials.py | 62 | except Exception as e: | CODE |
| LOW | cartography/intel/azure/util/credentials.py | 89 | except Exception as e: | CODE |
| LOW | cartography/intel/microsoft/entra/service_principals.py | 49 | except Exception: | CODE |
| LOW | cartography/intel/microsoft/entra/service_principals.py | 65 | except Exception: | CODE |
| LOW | cartography/intel/microsoft/entra/users.py | 98 | except Exception: | CODE |
| LOW | cartography/intel/microsoft/entra/users.py | 113 | except Exception as e: | CODE |
| LOW | cartography/intel/microsoft/entra/applications.py | 55 | except Exception: | CODE |
| LOW | cartography/intel/microsoft/entra/applications.py | 71 | except Exception: | CODE |
| LOW | cartography/intel/microsoft/entra/groups.py | 165 | except Exception as e: | CODE |
| LOW | cartography/intel/microsoft/entra/groups.py | 185 | except Exception as e: | CODE |
| LOW | cartography/intel/microsoft/entra/ou.py | 47 | except Exception as e: | CODE |
| LOW | …tography/intel/microsoft/entra/app_role_assignments.py | 157 | except Exception: | STRING |
| LOW | cartography/intel/gcp/cloud_sql_user.py | 138 | except Exception: | CODE |
| LOW | cartography/intel/gcp/iam.py | 554 | except Exception as e: | CODE |
| LOW | cartography/intel/gcp/cloud_sql_database.py | 142 | except Exception: | CODE |
| LOW | cartography/intel/gcp/vertex/models.py | 136 | except Exception as e: | CODE |
| LOW | cartography/intel/spacelift/__init__.py | 52 | except Exception as e: | CODE |
| LOW | cartography/intel/spacelift/ec2_ownership.py | 95 | except Exception as e: | CODE |
| LOW | cartography/intel/cve_metadata/nvd.py | 197 | except Exception: | CODE |
| LOW | cartography/intel/github/commits.py | 188 | except Exception: | STRING |
| LOW | cartography/intel/aws/iam.py | 464 | except Exception: | CODE |
| LOW | cartography/intel/aws/iam.py | 1627 | except Exception: | STRING |
| LOW | cartography/intel/aws/__init__.py | 637 | except Exception as e: | CODE |
| LOW | cartography/intel/aws/lambda_function.py | 158 | except Exception as error: | CODE |
| LOW | cartography/intel/aws/lambda_function.py | 381 | except Exception as error: | CODE |
| LOW | cartography/intel/aws/ecr_image_layers.py | 303 | except Exception: | CODE |
| LOW | cartography/intel/aws/sns.py | 49 | except Exception as e: | CODE |
| LOW | cartography/intel/kubernetes/util.py | 158 | except Exception as err: | CODE |
| LOW | cartography/intel/kubernetes/__init__.py | 122 | except Exception: | CODE |
| LOW | cartography/intel/trivy/scanner.py | 329 | except Exception as e: | CODE |
| LOW | cartography/intel/trivy/scanner.py | 364 | except Exception as e: | CODE |
| LOW | cartography/graph/job.py | 242 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …cartography/intel/aws/test_permission_relationships.py | 79 | # Step 1: Create AWS account | COMMENT |
| LOW⚡ | …cartography/intel/aws/test_permission_relationships.py | 82 | # Step 2: Create S3 bucket resource (out of band to be quick and dirty) | COMMENT |
| LOW | …cartography/intel/aws/test_permission_relationships.py | 93 | # Step 3: Create IAM roles and policies using sync_roles | COMMENT |
| LOW | cartography/intel/microsoft/entra/applications.py | 169 | # Step 1: Sync applications | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 137 | # Step 1: Get all CVE IDs from the graph — this is the authoritative list | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 167 | # Step 2: Enrich and load one CVE year at a time to keep memory bounded. | COMMENT |
| LOW | cartography/intel/cve_metadata/__init__.py | 213 | # Step 4: Cleanup stale CVEMetadata nodes from previous syncs | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 23 | // Step 1: Collect allowed actions that match IAM modification patterns | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 31 | // Step 2: Collect deny statements for the same role | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 36 | // Step 3: Compute effective = allows minus denies | COMMENT |
| LOW | …les/data/rules/workload_identity_admin_capabilities.py | 51 | // Step 4: Optional internet exposure context | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 115 | // Step 1: Gather allowed actions that match IAM modification patterns | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 123 | // Step 2: Gather all deny actions from the same role | COMMENT |
| LOW⚡ | …les/data/rules/workload_identity_admin_capabilities.py | 127 | // Step 3: Subtract Deny actions from Allow actions | COMMENT |
| LOW | …les/data/rules/workload_identity_admin_capabilities.py | 142 | // Step 4: Return only Lambdas with effective IAM modification capabilities | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/__main__.py | 47 | # Check if the database is empty | COMMENT |
| LOW⚡ | tests/unit/cartography/test_sync.py | 13 | # Check if all available modules are defined in the TOP_LEVEL_MODULES list | COMMENT |
| LOW | …tography/intel/microsoft/entra/app_role_assignments.py | 136 | # Check if we have more pages to fetch | STRING |
| LOW | cartography/intel/gcp/vertex/instances.py | 103 | # Check if this location matches any of our supported prefixes | COMMENT |
| LOW | cartography/intel/ontology/utils.py | 111 | # Check if ontology nodes are used in mapping | COMMENT |
| LOW | cartography/intel/github/workflow_parser.py | 114 | # Check if pinned to a SHA | COMMENT |
| LOW | cartography/intel/github/util.py | 612 | # Check if this is a search endpoint (stricter limits) | COMMENT |
| LOW | cartography/intel/github/supply_chain.py | 224 | # Check if there are more pages | STRING |
| LOW | cartography/intel/github/repos.py | 1824 | # Set spec to `None` instead of empty string so that the Neo4j driver will leave the library.specifier field | COMMENT |
| LOW | cartography/intel/aws/iam.py | 581 | # Add this to list of federated nodes to create | STRING |
| LOW | cartography/intel/aws/ecr.py | 167 | # Check if this is a manifest list | COMMENT |
| LOW | cartography/intel/aws/ecr.py | 259 | # Check if this is a manifest list with images | COMMENT |
| LOW | cartography/intel/aws/ecr_image_layers.py | 616 | # Check if this is a manifest list | COMMENT |
| LOW | cartography/intel/aws/ecr_image_layers.py | 1023 | # Check if this is an attestation manifest | COMMENT |
| LOW | cartography/intel/workos/util.py | 38 | # Check if there's another page | COMMENT |
| LOW | cartography/intel/kubernetes/util.py | 265 | # Check if items exists on the response | COMMENT |
| LOW | cartography/intel/kubernetes/util.py | 277 | # Check if metadata exists on the response | COMMENT |
| LOW | cartography/intel/keycloak/clients.py | 68 | # Check if the client has a service account user | COMMENT |
| LOW | cartography/rules/runners.py | 368 | # Output results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …egration/cartography/intel/aws/bedrock/test_bedrock.py | 321 | # Sync foundation models first (KB needs embedding model) | COMMENT |
| MEDIUM⚡ | …egration/cartography/intel/aws/bedrock/test_bedrock.py | 404 | # Sync guardrails (target nodes must exist) | COMMENT |
| MEDIUM | docs/root/modules/aws/schema.md | 6311 | Representation of an AWS [Bedrock Guardrail](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html). Guar | CODE |
| MEDIUM | cartography/intel/aws/bedrock/__init__.py | 104 | # Sync guardrails | COMMENT |
| MEDIUM | cartography/intel/aws/bedrock/__init__.py | 124 | # Sync agents (after KBs, foundation models, custom models, and guardrails) | COMMENT |
| MEDIUM | cartography/intel/aws/bedrock/guardrails.py | 127 | # Fetch guardrails from AWS | COMMENT |
| MEDIUM | cartography/intel/aws/bedrock/knowledge_bases.py | 102 | # Extract embedding model ARN - it's already in the right format | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cartography/cli.py | 14 | CODE | |
| LOW | cartography/intel/container_arch.py | 1 | CODE | |
| LOW | cartography/intel/supply_chain.py | 1 | CODE | |
| LOW | cartography/intel/container_image.py | 1 | CODE | |
| LOW | cartography/intel/semgrep/ossfindings.py | 1 | CODE | |
| LOW | cartography/intel/gcp/backendservice.py | 4 | CODE | |
| LOW | cartography/intel/gcp/instancegroup.py | 4 | CODE | |
| LOW | cartography/intel/gcp/cloud_armor.py | 3 | CODE | |
| LOW | cartography/intel/gcp/compute.py | 3 | CODE | |
| LOW | cartography/intel/common/report_reader_builder.py | 14 | CODE | |
| LOW | cartography/intel/github/packages.py | 19 | CODE | |
| LOW | cartography/intel/entra/__init__.py | 2 | CODE | |
| LOW | cartography/intel/ubuntu/util.py | 1 | CODE | |
| LOW | cartography/graph/analysis.py | 1 | CODE | |
| LOW | cartography/graph/analysisbuilder.py | 3 | CODE | |
| LOW | cartography/models/aibom/__init__.py | 1 | CODE | |
| LOW | cartography/models/aibom/__init__.py | 2 | CODE | |
| LOW | cartography/models/syft/__init__.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/data/aws/lambda_function.py | 454 | # Mock functions for comprehensive sync test | COMMENT |
| MEDIUM | cartography/intel/socketdev/dependencies.py | 79 | # Build a PURL to leverage full normalization including namespace | COMMENT |
| LOW | cartography/intel/databricks/grants.py | 203 | # decide; non-matching rows simply create no edge. | STRING |
| LOW | cartography/intel/databricks/permissions.py | 301 | # decide; non-matching rows simply create no edge. | STRING |
| MEDIUM⚡ | cartography/rules/data/rules/cis_google_workspace.py | 613 | # Missing datamodel: Gmail compliance settings for comprehensive mail storage | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/root/modules/semgrep/schema.md | 238 | Represents [Semgrep Assistant](https://semgrep.dev/docs/semgrep-assistant/overview/) AI-generated data attached to a fin | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/root/modules/jumpcloud/config.md | 18 | export JUMPCLOUD_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/cartography/intel/github/test_repos.py | 32 | CODE | |
| LOW | cartography/config.py | 436 | CODE | |
| LOW | cartography/cli.py | 372 | CODE | |
| LOW | cartography/intel/github/util.py | 201 | CODE | |
| LOW | cartography/rules/cli.py | 328 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …cartography/intel/aws/inspector/test_inspector_sync.py | 247 | CODE |