cartography 0.101.1rc1__py3-none-any.whl → 0.102.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cartography might be problematic. Click here for more details.
- cartography/_version.py +2 -2
- cartography/cli.py +61 -0
- cartography/config.py +16 -0
- cartography/data/indexes.cypher +0 -6
- cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json +0 -5
- cartography/intel/aws/__init__.py +11 -1
- cartography/intel/aws/ec2/launch_templates.py +14 -5
- cartography/intel/aws/ec2/load_balancers.py +126 -148
- cartography/intel/aws/ec2/route_tables.py +287 -0
- cartography/intel/aws/resources.py +2 -0
- cartography/intel/aws/util/common.py +27 -0
- cartography/intel/crowdstrike/__init__.py +17 -5
- cartography/intel/crowdstrike/endpoints.py +12 -44
- cartography/intel/entra/__init__.py +43 -0
- cartography/intel/entra/users.py +205 -0
- cartography/intel/kandji/devices.py +27 -3
- cartography/models/aws/ec2/load_balancer_listeners.py +68 -0
- cartography/models/aws/ec2/load_balancers.py +102 -0
- cartography/models/aws/ec2/route_table_associations.py +87 -0
- cartography/models/aws/ec2/route_tables.py +121 -0
- cartography/models/aws/ec2/routes.py +77 -0
- cartography/models/crowdstrike/__init__.py +0 -0
- cartography/models/crowdstrike/hosts.py +49 -0
- cartography/models/entra/__init__.py +0 -0
- cartography/models/entra/tenant.py +33 -0
- cartography/models/entra/user.py +83 -0
- cartography/stats.py +1 -1
- cartography/sync.py +2 -0
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/METADATA +4 -1
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/RECORD +34 -21
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/WHEEL +1 -1
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/entry_points.txt +0 -0
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/licenses/LICENSE +0 -0
- {cartography-0.101.1rc1.dist-info → cartography-0.102.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
7
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
8
|
+
from cartography.models.core.relationships import LinkDirection
|
|
9
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
10
|
+
from cartography.models.core.relationships import OtherRelationships
|
|
11
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass(frozen=True)
|
|
15
|
+
class RouteNodeProperties(CartographyNodeProperties):
|
|
16
|
+
id: PropertyRef = PropertyRef('id')
|
|
17
|
+
carrier_gateway_id: PropertyRef = PropertyRef('carrier_gateway_id')
|
|
18
|
+
core_network_arn: PropertyRef = PropertyRef('core_network_arn')
|
|
19
|
+
destination_cidr_block: PropertyRef = PropertyRef('destination_cidr_block')
|
|
20
|
+
destination_ipv6_cidr_block: PropertyRef = PropertyRef('destination_ipv6_cidr_block')
|
|
21
|
+
destination_prefix_list_id: PropertyRef = PropertyRef('destination_prefix_list_id')
|
|
22
|
+
egress_only_internet_gateway_id: PropertyRef = PropertyRef('egress_only_internet_gateway_id')
|
|
23
|
+
gateway_id: PropertyRef = PropertyRef('gateway_id')
|
|
24
|
+
instance_id: PropertyRef = PropertyRef('instance_id')
|
|
25
|
+
instance_owner_id: PropertyRef = PropertyRef('instance_owner_id')
|
|
26
|
+
local_gateway_id: PropertyRef = PropertyRef('local_gateway_id')
|
|
27
|
+
nat_gateway_id: PropertyRef = PropertyRef('nat_gateway_id')
|
|
28
|
+
network_interface_id: PropertyRef = PropertyRef('network_interface_id')
|
|
29
|
+
origin: PropertyRef = PropertyRef('origin')
|
|
30
|
+
state: PropertyRef = PropertyRef('state')
|
|
31
|
+
transit_gateway_id: PropertyRef = PropertyRef('transit_gateway_id')
|
|
32
|
+
vpc_peering_connection_id: PropertyRef = PropertyRef('vpc_peering_connection_id')
|
|
33
|
+
region: PropertyRef = PropertyRef('Region', set_in_kwargs=True)
|
|
34
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
35
|
+
target: PropertyRef = PropertyRef('_target')
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@dataclass(frozen=True)
|
|
39
|
+
class RouteToAwsAccountRelProperties(CartographyRelProperties):
|
|
40
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@dataclass(frozen=True)
|
|
44
|
+
class RouteToAWSAccount(CartographyRelSchema):
|
|
45
|
+
target_node_label: str = 'AWSAccount'
|
|
46
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
47
|
+
{'id': PropertyRef('AWS_ID', set_in_kwargs=True)},
|
|
48
|
+
)
|
|
49
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
50
|
+
rel_label: str = "RESOURCE"
|
|
51
|
+
properties: RouteToAwsAccountRelProperties = RouteToAwsAccountRelProperties()
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@dataclass(frozen=True)
|
|
55
|
+
class RouteToInternetGatewayRelProperties(CartographyRelProperties):
|
|
56
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
@dataclass(frozen=True)
|
|
60
|
+
class RouteToInternetGateway(CartographyRelSchema):
|
|
61
|
+
target_node_label: str = 'AWSInternetGateway'
|
|
62
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
63
|
+
{'id': PropertyRef('gateway_id')},
|
|
64
|
+
)
|
|
65
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
66
|
+
rel_label: str = "ROUTES_TO_GATEWAY"
|
|
67
|
+
properties: RouteToInternetGatewayRelProperties = RouteToInternetGatewayRelProperties()
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@dataclass(frozen=True)
|
|
71
|
+
class RouteSchema(CartographyNodeSchema):
|
|
72
|
+
label: str = 'EC2Route'
|
|
73
|
+
properties: RouteNodeProperties = RouteNodeProperties()
|
|
74
|
+
sub_resource_relationship: RouteToAWSAccount = RouteToAWSAccount()
|
|
75
|
+
other_relationships: OtherRelationships = OtherRelationships([
|
|
76
|
+
RouteToInternetGateway(),
|
|
77
|
+
])
|
|
File without changes
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass(frozen=True)
|
|
9
|
+
class CrowdstrikeHostNodeProperties(CartographyNodeProperties):
|
|
10
|
+
id: PropertyRef = PropertyRef('device_id')
|
|
11
|
+
cid: PropertyRef = PropertyRef('cid')
|
|
12
|
+
instance_id: PropertyRef = PropertyRef('instance_id', extra_index=True)
|
|
13
|
+
serial_number: PropertyRef = PropertyRef('serial_number', extra_index=True)
|
|
14
|
+
status: PropertyRef = PropertyRef('status')
|
|
15
|
+
hostname: PropertyRef = PropertyRef('hostname')
|
|
16
|
+
machine_domain: PropertyRef = PropertyRef('machine_domain')
|
|
17
|
+
crowdstrike_first_seen: PropertyRef = PropertyRef('first_seen')
|
|
18
|
+
crowdstrike_last_seen: PropertyRef = PropertyRef('last_seen')
|
|
19
|
+
local_ip: PropertyRef = PropertyRef('local_ip')
|
|
20
|
+
external_ip: PropertyRef = PropertyRef('external_ip')
|
|
21
|
+
cpu_signature: PropertyRef = PropertyRef('cpu_signature')
|
|
22
|
+
bios_manufacturer: PropertyRef = PropertyRef('bios_manufacturer')
|
|
23
|
+
bios_version: PropertyRef = PropertyRef('bios_version')
|
|
24
|
+
mac_address: PropertyRef = PropertyRef('mac_address')
|
|
25
|
+
os_version: PropertyRef = PropertyRef('os_version')
|
|
26
|
+
os_build: PropertyRef = PropertyRef('os_build')
|
|
27
|
+
platform_id: PropertyRef = PropertyRef('platform_id')
|
|
28
|
+
platform_name: PropertyRef = PropertyRef('platform_name')
|
|
29
|
+
service_provider: PropertyRef = PropertyRef('service_provider')
|
|
30
|
+
service_provider_account_id: PropertyRef = PropertyRef('service_provider_account_id')
|
|
31
|
+
agent_version: PropertyRef = PropertyRef('agent_version')
|
|
32
|
+
system_manufacturer: PropertyRef = PropertyRef('system_manufacturer')
|
|
33
|
+
system_product_name: PropertyRef = PropertyRef('system_product_name')
|
|
34
|
+
product_type: PropertyRef = PropertyRef('product_type')
|
|
35
|
+
product_type_desc: PropertyRef = PropertyRef('product_type_desc')
|
|
36
|
+
provision_status: PropertyRef = PropertyRef('provision_status')
|
|
37
|
+
reduced_functionality_mode: PropertyRef = PropertyRef('reduced_functionality_mode')
|
|
38
|
+
kernel_version: PropertyRef = PropertyRef('kernel_version')
|
|
39
|
+
major_version: PropertyRef = PropertyRef('major_version')
|
|
40
|
+
minor_version: PropertyRef = PropertyRef('minor_version')
|
|
41
|
+
tags: PropertyRef = PropertyRef('tags')
|
|
42
|
+
modified_timestamp: PropertyRef = PropertyRef('modified_timestamp')
|
|
43
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@dataclass(frozen=True)
|
|
47
|
+
class CrowdstrikeHostSchema(CartographyNodeSchema):
|
|
48
|
+
label: str = 'CrowdstrikeHost'
|
|
49
|
+
properties: CrowdstrikeHostNodeProperties = CrowdstrikeHostNodeProperties()
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
from cartography.models.core.nodes import ExtraNodeLabels
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass(frozen=True)
|
|
10
|
+
class EntraTenantNodeProperties(CartographyNodeProperties):
|
|
11
|
+
id: PropertyRef = PropertyRef('id')
|
|
12
|
+
created_date_time: PropertyRef = PropertyRef('created_date_time')
|
|
13
|
+
default_usage_location: PropertyRef = PropertyRef('default_usage_location')
|
|
14
|
+
deleted_date_time: PropertyRef = PropertyRef('deleted_date_time')
|
|
15
|
+
display_name: PropertyRef = PropertyRef('display_name')
|
|
16
|
+
marketing_notification_emails: PropertyRef = PropertyRef('marketing_notification_emails')
|
|
17
|
+
mobile_device_management_authority: PropertyRef = PropertyRef('mobile_device_management_authority')
|
|
18
|
+
on_premises_last_sync_date_time: PropertyRef = PropertyRef('on_premises_last_sync_date_time')
|
|
19
|
+
on_premises_sync_enabled: PropertyRef = PropertyRef('on_premises_sync_enabled')
|
|
20
|
+
partner_tenant_type: PropertyRef = PropertyRef('partner_tenant_type')
|
|
21
|
+
postal_code: PropertyRef = PropertyRef('postal_code')
|
|
22
|
+
preferred_language: PropertyRef = PropertyRef('preferred_language')
|
|
23
|
+
state: PropertyRef = PropertyRef('state')
|
|
24
|
+
street: PropertyRef = PropertyRef('street')
|
|
25
|
+
tenant_type: PropertyRef = PropertyRef('tenant_type')
|
|
26
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass(frozen=True)
|
|
30
|
+
class EntraTenantSchema(CartographyNodeSchema):
|
|
31
|
+
label: str = 'AzureTenant'
|
|
32
|
+
properties: EntraTenantNodeProperties = EntraTenantNodeProperties()
|
|
33
|
+
extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(['EntraTenant'])
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
7
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
8
|
+
from cartography.models.core.relationships import LinkDirection
|
|
9
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
10
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass(frozen=True)
|
|
14
|
+
class EntraUserNodeProperties(CartographyNodeProperties):
|
|
15
|
+
id: PropertyRef = PropertyRef('id')
|
|
16
|
+
user_principal_name: PropertyRef = PropertyRef('user_principal_name')
|
|
17
|
+
display_name: PropertyRef = PropertyRef('display_name')
|
|
18
|
+
given_name: PropertyRef = PropertyRef('given_name')
|
|
19
|
+
surname: PropertyRef = PropertyRef('surname')
|
|
20
|
+
# The underlying datatype calls this 'mail' but everything else in cartography uses 'email'
|
|
21
|
+
email: PropertyRef = PropertyRef('mail', extra_index=True)
|
|
22
|
+
other_mails: PropertyRef = PropertyRef('other_mails')
|
|
23
|
+
preferred_language: PropertyRef = PropertyRef('preferred_language')
|
|
24
|
+
preferred_name: PropertyRef = PropertyRef('preferred_name')
|
|
25
|
+
state: PropertyRef = PropertyRef('state')
|
|
26
|
+
usage_location: PropertyRef = PropertyRef('usage_location')
|
|
27
|
+
user_type: PropertyRef = PropertyRef('user_type')
|
|
28
|
+
show_in_address_list: PropertyRef = PropertyRef('show_in_address_list')
|
|
29
|
+
sign_in_sessions_valid_from_date_time: PropertyRef = PropertyRef('sign_in_sessions_valid_from_date_time')
|
|
30
|
+
security_identifier: PropertyRef = PropertyRef('security_identifier')
|
|
31
|
+
account_enabled: PropertyRef = PropertyRef('account_enabled')
|
|
32
|
+
city: PropertyRef = PropertyRef('city')
|
|
33
|
+
company_name: PropertyRef = PropertyRef('company_name')
|
|
34
|
+
consent_provided_for_minor: PropertyRef = PropertyRef('consent_provided_for_minor')
|
|
35
|
+
country: PropertyRef = PropertyRef('country')
|
|
36
|
+
created_date_time: PropertyRef = PropertyRef('created_date_time')
|
|
37
|
+
creation_type: PropertyRef = PropertyRef('creation_type')
|
|
38
|
+
deleted_date_time: PropertyRef = PropertyRef('deleted_date_time')
|
|
39
|
+
department: PropertyRef = PropertyRef('department')
|
|
40
|
+
employee_id: PropertyRef = PropertyRef('employee_id')
|
|
41
|
+
employee_type: PropertyRef = PropertyRef('employee_type')
|
|
42
|
+
external_user_state: PropertyRef = PropertyRef('external_user_state')
|
|
43
|
+
external_user_state_change_date_time: PropertyRef = PropertyRef('external_user_state_change_date_time')
|
|
44
|
+
hire_date: PropertyRef = PropertyRef('hire_date')
|
|
45
|
+
is_management_restricted: PropertyRef = PropertyRef('is_management_restricted')
|
|
46
|
+
is_resource_account: PropertyRef = PropertyRef('is_resource_account')
|
|
47
|
+
job_title: PropertyRef = PropertyRef('job_title')
|
|
48
|
+
last_password_change_date_time: PropertyRef = PropertyRef('last_password_change_date_time')
|
|
49
|
+
mail_nickname: PropertyRef = PropertyRef('mail_nickname')
|
|
50
|
+
office_location: PropertyRef = PropertyRef('office_location')
|
|
51
|
+
on_premises_distinguished_name: PropertyRef = PropertyRef('on_premises_distinguished_name')
|
|
52
|
+
on_premises_domain_name: PropertyRef = PropertyRef('on_premises_domain_name')
|
|
53
|
+
on_premises_immutable_id: PropertyRef = PropertyRef('on_premises_immutable_id')
|
|
54
|
+
on_premises_last_sync_date_time: PropertyRef = PropertyRef('on_premises_last_sync_date_time')
|
|
55
|
+
on_premises_sam_account_name: PropertyRef = PropertyRef('on_premises_sam_account_name')
|
|
56
|
+
on_premises_security_identifier: PropertyRef = PropertyRef('on_premises_security_identifier')
|
|
57
|
+
on_premises_sync_enabled: PropertyRef = PropertyRef('on_premises_sync_enabled')
|
|
58
|
+
on_premises_user_principal_name: PropertyRef = PropertyRef('on_premises_user_principal_name')
|
|
59
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@dataclass(frozen=True)
|
|
63
|
+
class EntraTenantToUserRelProperties(CartographyRelProperties):
|
|
64
|
+
lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@dataclass(frozen=True)
|
|
68
|
+
# (:EntraUser)<-[:RESOURCE]-(:AzureTenant)
|
|
69
|
+
class EntraUserToTenantRel(CartographyRelSchema):
|
|
70
|
+
target_node_label: str = 'AzureTenant'
|
|
71
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
72
|
+
{'id': PropertyRef('TENANT_ID', set_in_kwargs=True)},
|
|
73
|
+
)
|
|
74
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
75
|
+
rel_label: str = "RESOURCE"
|
|
76
|
+
properties: EntraTenantToUserRelProperties = EntraTenantToUserRelProperties()
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@dataclass(frozen=True)
|
|
80
|
+
class EntraUserSchema(CartographyNodeSchema):
|
|
81
|
+
label: str = 'EntraUser'
|
|
82
|
+
properties: EntraUserNodeProperties = EntraUserNodeProperties()
|
|
83
|
+
sub_resource_relationship: EntraUserToTenantRel = EntraUserToTenantRel()
|
cartography/stats.py
CHANGED
|
@@ -97,7 +97,7 @@ def set_stats_client(stats_client: StatsClient) -> None:
|
|
|
97
97
|
"""
|
|
98
98
|
This is used to set the module level stats client configured to talk with a statsd host
|
|
99
99
|
"""
|
|
100
|
-
global _scoped_stats_client
|
|
100
|
+
global _scoped_stats_client # noqa: F824
|
|
101
101
|
_scoped_stats_client.set_stats_client(stats_client)
|
|
102
102
|
|
|
103
103
|
|
cartography/sync.py
CHANGED
|
@@ -20,6 +20,7 @@ import cartography.intel.crowdstrike
|
|
|
20
20
|
import cartography.intel.cve
|
|
21
21
|
import cartography.intel.digitalocean
|
|
22
22
|
import cartography.intel.duo
|
|
23
|
+
import cartography.intel.entra
|
|
23
24
|
import cartography.intel.gcp
|
|
24
25
|
import cartography.intel.github
|
|
25
26
|
import cartography.intel.gsuite
|
|
@@ -42,6 +43,7 @@ TOP_LEVEL_MODULES = OrderedDict({ # preserve order so that the default sync alw
|
|
|
42
43
|
'create-indexes': cartography.intel.create_indexes.run,
|
|
43
44
|
'aws': cartography.intel.aws.start_aws_ingestion,
|
|
44
45
|
'azure': cartography.intel.azure.start_azure_ingestion,
|
|
46
|
+
'entra': cartography.intel.entra.start_entra_ingestion,
|
|
45
47
|
'crowdstrike': cartography.intel.crowdstrike.start_crowdstrike_ingestion,
|
|
46
48
|
'gcp': cartography.intel.gcp.start_gcp_ingestion,
|
|
47
49
|
'gsuite': cartography.intel.gsuite.start_gsuite_ingestion,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cartography
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.102.0
|
|
4
4
|
Summary: Explore assets and their relationships across your technical infrastructure.
|
|
5
5
|
Maintainer: Cartography Contributors
|
|
6
6
|
License: apache2
|
|
@@ -47,6 +47,7 @@ Requires-Dist: msrestazure>=0.6.4
|
|
|
47
47
|
Requires-Dist: azure-mgmt-storage>=16.0.0
|
|
48
48
|
Requires-Dist: azure-mgmt-sql<=1.0.0
|
|
49
49
|
Requires-Dist: azure-identity>=1.5.0
|
|
50
|
+
Requires-Dist: msgraph-sdk
|
|
50
51
|
Requires-Dist: kubernetes>=22.6.0
|
|
51
52
|
Requires-Dist: pdpyras>=4.3.0
|
|
52
53
|
Requires-Dist: crowdstrike-falconpy>=0.5.1
|
|
@@ -61,6 +62,7 @@ Requires-Dist: pytest>=6.2.4; extra == "dev"
|
|
|
61
62
|
Requires-Dist: pytest-mock; extra == "dev"
|
|
62
63
|
Requires-Dist: pytest-cov==6.1.1; extra == "dev"
|
|
63
64
|
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
65
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
64
66
|
Requires-Dist: types-PyYAML; extra == "dev"
|
|
65
67
|
Requires-Dist: types-requests<2.32.0.20250329; extra == "dev"
|
|
66
68
|
Dynamic: license-file
|
|
@@ -97,6 +99,7 @@ You can learn more about the story behind Cartography in our [presentation at BS
|
|
|
97
99
|
- [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams
|
|
98
100
|
- [DigitalOcean](https://cartography-cncf.github.io/cartography/modules/digitalocean/index.html)
|
|
99
101
|
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - CosmosDB, SQL, Storage, Virtual Machine
|
|
102
|
+
- [Microsoft Entra ID](https://cartography-cncf.github.io/cartography/modules/entra/index.html) - Users
|
|
100
103
|
- [Kubernetes](https://cartography-cncf.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container
|
|
101
104
|
- [PagerDuty](https://cartography-cncf.github.io/cartography/modules/pagerduty/index.html) - Users, teams, services, schedules, escalation policies, integrations, vendors
|
|
102
105
|
- [Crowdstrike Falcon](https://cartography-cncf.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
cartography/__main__.py,sha256=JftXT_nUPkqcEh8uxCCT4n-OyHYqbldEgrDS-4ygy0U,101
|
|
3
|
-
cartography/_version.py,sha256=
|
|
4
|
-
cartography/cli.py,sha256
|
|
5
|
-
cartography/config.py,sha256=
|
|
3
|
+
cartography/_version.py,sha256=2dCVAVjLoA0Nz6mUVPfnmWK3CdN7O6fPtzKMuHAZ3ok,515
|
|
4
|
+
cartography/cli.py,sha256=i0pVKdc9ym673ByreBpqxfI4VQVOTTULS1hJVaWxsBA,36225
|
|
5
|
+
cartography/config.py,sha256=uuqx7zpxXnexrKlTHtp5B6lCh013Wy7C3RPL9b3-Cvo,12724
|
|
6
6
|
cartography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
cartography/stats.py,sha256
|
|
8
|
-
cartography/sync.py,sha256=
|
|
7
|
+
cartography/stats.py,sha256=-KiqrNfUe_39z9TKAQamJwKs5XePnzXscEJocAuNiJs,4420
|
|
8
|
+
cartography/sync.py,sha256=LSDvK2vaMXhuNHvUkdncpDHAGdiJ7eP7-uDVhwLFjKM,9799
|
|
9
9
|
cartography/util.py,sha256=VZgiHcAprn3nGzItee4_TggfsGWxWPTkLN-2MIhYUqM,14999
|
|
10
10
|
cartography/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
cartography/client/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -13,7 +13,7 @@ cartography/client/aws/iam.py,sha256=dYsGikc36DEsSeR2XVOVFFUDwuU9yWj_EVkpgVYCFgM
|
|
|
13
13
|
cartography/client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
cartography/client/core/tx.py,sha256=55Cf9DJGHHXQk4HmPOdFwr1eh9Pr1nzmIvs4XoCVr0g,10892
|
|
15
15
|
cartography/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
cartography/data/indexes.cypher,sha256=
|
|
16
|
+
cartography/data/indexes.cypher,sha256=aUHMiLPsEt09W61GyjJHfpkRJ07S2sGcpU9IReYxKC0,26551
|
|
17
17
|
cartography/data/permission_relationships.yaml,sha256=RuKGGc_3ZUQ7ag0MssB8k_zaonCkVM5E8I_svBWTmGc,969
|
|
18
18
|
cartography/data/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
cartography/data/jobs/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -85,7 +85,7 @@ cartography/data/jobs/cleanup/azure_sql_server_cleanup.json,sha256=97I2jIMBkqR3a
|
|
|
85
85
|
cartography/data/jobs/cleanup/azure_storage_account_cleanup.json,sha256=XZdjKDOjTcvn9XYScFzHts6cbtYvXETaU142N_R2qlY,5431
|
|
86
86
|
cartography/data/jobs/cleanup/azure_subscriptions_cleanup.json,sha256=bowUBCjHYlC4Xd60lv33sxRi-bv1wiT5gAOStaHMX4k,430
|
|
87
87
|
cartography/data/jobs/cleanup/azure_tenant_cleanup.json,sha256=jcjmZH6kfVGZ9q68rfvnroF0kNNHZ2uTZQ17Rmd4FH0,220
|
|
88
|
-
cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json,sha256=
|
|
88
|
+
cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json,sha256=mkC96aKS_m7THGQ3LOE_ROXxIk11moK6Fd5cSPkcYsA,1239
|
|
89
89
|
cartography/data/jobs/cleanup/digitalocean_droplet_cleanup.json,sha256=f26TdPUPYnIp45ipPys5M6VVfConUZySIbkgSr3iQno,703
|
|
90
90
|
cartography/data/jobs/cleanup/digitalocean_project_cleanup.json,sha256=5mo9vPshCdUZfgTWd_22_TLSyfe6hd41u7z-B8H1qgY,702
|
|
91
91
|
cartography/data/jobs/cleanup/gcp_compute_firewall_cleanup.json,sha256=FVNJ8EPaPhmQ_sh4vyTdMyEgs6Y-DIoFTdWJaELgz44,1904
|
|
@@ -139,7 +139,7 @@ cartography/intel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
139
139
|
cartography/intel/analysis.py,sha256=gHtN42NqqLL1G5MOm2Q6rMyg-V5lU_wqbnKp5hbOOao,1499
|
|
140
140
|
cartography/intel/create_indexes.py,sha256=HM2jB2v3NZvGqgVDtNoBQRVpkei_JXcYXqM14w8Rjss,741
|
|
141
141
|
cartography/intel/dns.py,sha256=M-WSiGQoxWZsl0sg-2SDR8OD8e1Rexkt2Tbb2OpeioA,5596
|
|
142
|
-
cartography/intel/aws/__init__.py,sha256=
|
|
142
|
+
cartography/intel/aws/__init__.py,sha256=0UWecMbBsSEj51eAAg5x7Pb1vDBctc9SAF5vxNirL24,11631
|
|
143
143
|
cartography/intel/aws/apigateway.py,sha256=w4QdxlwnVegKKsZFfoI36i-FGlIUjzxzaayZyz9oQvM,11654
|
|
144
144
|
cartography/intel/aws/config.py,sha256=wrZbz7bc8vImLmRvTLkPcWnjjPzk3tOG4bB_BFS2lq8,7329
|
|
145
145
|
cartography/intel/aws/dynamodb.py,sha256=LZ6LGNThLi0zC3eLMq2JN3mwiSwZeaH58YQQHvsXMGE,5013
|
|
@@ -160,7 +160,7 @@ cartography/intel/aws/permission_relationships.py,sha256=IarV9gt5BaplZ5TPo_mfypt
|
|
|
160
160
|
cartography/intel/aws/rds.py,sha256=vnlNYmrO2Cc0PNn31CeG2QwYhwjVosbQFE9Ol1vQyLE,25252
|
|
161
161
|
cartography/intel/aws/redshift.py,sha256=KOqiXIllHmtPTeaNGl-cX4srY5pFE6o12j8MQ5-zWpc,6694
|
|
162
162
|
cartography/intel/aws/resourcegroupstaggingapi.py,sha256=I2VrL-oplGj2Jyhbo312V6vnER_FXpJRrc6OBJ-_VmI,10375
|
|
163
|
-
cartography/intel/aws/resources.py,sha256=
|
|
163
|
+
cartography/intel/aws/resources.py,sha256=jb2U6xsrwwp2AYirqHYc09ttOpIqYEsk-CR7He-qgzQ,3652
|
|
164
164
|
cartography/intel/aws/route53.py,sha256=IYqeQud1HuHnf11A7T-Jeif5DWgjpaaU-Jfr2cLUc_o,14099
|
|
165
165
|
cartography/intel/aws/s3.py,sha256=SVxUMtMSkbdjZv5qOSYIbYb8BQa-QTojbHG85-EFWLA,27034
|
|
166
166
|
cartography/intel/aws/secretsmanager.py,sha256=YogwRPT6qZPVg5HrND71zI-nNn60oxoWaW7eUlhuTS0,3304
|
|
@@ -174,12 +174,13 @@ cartography/intel/aws/ec2/images.py,sha256=SLoxcy_PQgNomVMDMdutm0zXJCOLosiHJlN63
|
|
|
174
174
|
cartography/intel/aws/ec2/instances.py,sha256=uI8eVJmeEybS8y_T8CVKAkwxJyVDCH7sbuEJYeWGSWY,12468
|
|
175
175
|
cartography/intel/aws/ec2/internet_gateways.py,sha256=dI-4-85_3DGGZZBcY_DN6XqESx9P26S6jKok314lcnQ,2883
|
|
176
176
|
cartography/intel/aws/ec2/key_pairs.py,sha256=g4imIo_5jk8upq9J4--erg-OZXG2i3cJMe6SnNCYj9s,2635
|
|
177
|
-
cartography/intel/aws/ec2/launch_templates.py,sha256=
|
|
177
|
+
cartography/intel/aws/ec2/launch_templates.py,sha256=JNCT7WKvHcM8Z6D1MDR65GsBiqmd6bMuRQAMu9BWRKY,6634
|
|
178
178
|
cartography/intel/aws/ec2/load_balancer_v2s.py,sha256=95FfQQn740gexINIHDJizOM4OKzRtQT_y2XQMipQ5Dg,8661
|
|
179
|
-
cartography/intel/aws/ec2/load_balancers.py,sha256=
|
|
179
|
+
cartography/intel/aws/ec2/load_balancers.py,sha256=ah9-lXvipzVDjGFqfpNCrEyBfdu-BdDeV2ZcPwJM78M,6013
|
|
180
180
|
cartography/intel/aws/ec2/network_acls.py,sha256=_UiOx79OxcqH0ecRjcVMglAzz5XJ4aVYLlv6dl_ism4,6809
|
|
181
181
|
cartography/intel/aws/ec2/network_interfaces.py,sha256=CzF8PooCYUQ2pk8DR8JDAhkWRUQSBj_27OsIfkL_-Cs,9199
|
|
182
182
|
cartography/intel/aws/ec2/reserved_instances.py,sha256=jv8-VLI5KL8jN1QRI20yim8lzZ7I7wR8a5EF8DckahA,3122
|
|
183
|
+
cartography/intel/aws/ec2/route_tables.py,sha256=h3oXZP1TCUeEbjmknIgSIDGHmmofXrqtBK45lXh06cQ,10182
|
|
183
184
|
cartography/intel/aws/ec2/security_groups.py,sha256=vxLeaCpCowkbl-YpON1UdbjtPolMfj_reOEuKujN80Y,6060
|
|
184
185
|
cartography/intel/aws/ec2/snapshots.py,sha256=R3U6ZwE4bQPy5yikLCRcUHyXN1dD7TzS-3jULQO-F0g,5432
|
|
185
186
|
cartography/intel/aws/ec2/subnets.py,sha256=42KODMXswv4OCVnkWDHZbZDLUnc_ZAD-1TDMk88rWdo,3892
|
|
@@ -190,7 +191,7 @@ cartography/intel/aws/ec2/vpc.py,sha256=5i0HKoYq1VcghdPZPFMiJ_DBcTm95RVRD4b_l0AG
|
|
|
190
191
|
cartography/intel/aws/ec2/vpc_peerings.py,sha256=2-pPD9a3fF2gCFdfj8J5pz2kxIoC2MkO573hxrv8GiI,6375
|
|
191
192
|
cartography/intel/aws/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
193
|
cartography/intel/aws/util/arns.py,sha256=TEjrQEDbJM8Zwy6Eizh-vAFd9kMr5AKsdOsHYQHUSbk,573
|
|
193
|
-
cartography/intel/aws/util/common.py,sha256=
|
|
194
|
+
cartography/intel/aws/util/common.py,sha256=tQQ4c3MehuL55d-2kWNr9laPR5IQ28VJvSHTfLr6g28,1817
|
|
194
195
|
cartography/intel/azure/__init__.py,sha256=RxbDGfsfDBM1eGtS-FPULB5mBBl3yYl7fIZ5P3RD9RE,3696
|
|
195
196
|
cartography/intel/azure/compute.py,sha256=SIjvhmGp2tSpBpzNubIM1pgr_MrVHHuJsJxGpnFWDRw,8679
|
|
196
197
|
cartography/intel/azure/cosmosdb.py,sha256=8ZtQntjkMUVsQUcjGgJw6geDjYqothPkssyNQALhJ0o,41275
|
|
@@ -202,8 +203,8 @@ cartography/intel/azure/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
202
203
|
cartography/intel/azure/util/credentials.py,sha256=99PjTs0vZ2iu0tHD7TohN1VJYjuXYstfMg27F4CE0xU,7416
|
|
203
204
|
cartography/intel/bigfix/__init__.py,sha256=3LoDCm01VNNaDRGsRiykJm1GJgUQ8zI1HO6NodLFVIA,1058
|
|
204
205
|
cartography/intel/bigfix/computers.py,sha256=HAwA-muDBLu2xkFFL2Ae-xjCH1gxKKwxGMZM4BE_Qdo,5909
|
|
205
|
-
cartography/intel/crowdstrike/__init__.py,sha256=
|
|
206
|
-
cartography/intel/crowdstrike/endpoints.py,sha256=
|
|
206
|
+
cartography/intel/crowdstrike/__init__.py,sha256=qDFCtNzUSnvMZFFoLjRAPK3pbKpIO6BaerY3bDyEASc,2397
|
|
207
|
+
cartography/intel/crowdstrike/endpoints.py,sha256=MVuUw7yXesJmQL79lbPxOnHjO48lD3WCH5WzL5asKUU,2144
|
|
207
208
|
cartography/intel/crowdstrike/spotlight.py,sha256=yNhj44-RYF6ubck-hHMKhKiNU0fCfhQf4Oagopc31EM,4754
|
|
208
209
|
cartography/intel/crowdstrike/util.py,sha256=gfJ6Ptr6YdbBS9Qj9a_-Jc-IJroADDRcXqjh5TW0qXE,277
|
|
209
210
|
cartography/intel/cve/__init__.py,sha256=u9mv5O_qkSLmdhLhLm1qbwmhoeLQ3A3fQTjNyLQpEyI,3656
|
|
@@ -220,6 +221,8 @@ cartography/intel/duo/phones.py,sha256=ueJheqSLD2xYcMus5eOiixPYS3_xVjgQzeomjV2a6
|
|
|
220
221
|
cartography/intel/duo/tokens.py,sha256=bEEnjfc4waQnkRHVSnZLAeGE8wHOOZL7FA9m80GGQdQ,2396
|
|
221
222
|
cartography/intel/duo/users.py,sha256=lc7ly_XKeUjJ50szw31WT_GiCrZfGKJv1zVUpmTchh4,4097
|
|
222
223
|
cartography/intel/duo/web_authn_credentials.py,sha256=IbDf3CWqfEyI7f9zJugUvoDd6vZOECfb_7ANZaRYzuk,2636
|
|
224
|
+
cartography/intel/entra/__init__.py,sha256=Qtn2-ZTZA-_3IzopJG1r2F8fkLd2DJ3b1H1ZbeF4xUA,1185
|
|
225
|
+
cartography/intel/entra/users.py,sha256=Tv7LutCEZ4zo3E9MNT8Z8jwiyV2TTzCfvflGP3bz9c0,7523
|
|
223
226
|
cartography/intel/gcp/__init__.py,sha256=sZHPfDCPZFCE5d6aj20Ow4AC0vrFxV7RCn_cMinCDmI,17650
|
|
224
227
|
cartography/intel/gcp/compute.py,sha256=CH2cBdOwbLZCAbkfRJkkI-sFybXVKRWEUGDJANQmvyA,48333
|
|
225
228
|
cartography/intel/gcp/crm.py,sha256=Uw5PILhVFhpM8gq7uu2v7F_YikDW3gsTZ3d7-e8Z1_k,12324
|
|
@@ -238,7 +241,7 @@ cartography/intel/jamf/__init__.py,sha256=Nof-LrUeevoieo6oP2GyfTwx8k5TUIgreW6hSj
|
|
|
238
241
|
cartography/intel/jamf/computers.py,sha256=EfjlupQ-9HYTjOrmuwrGuJDy9ApAnJvk8WrYcp6_Jkk,1673
|
|
239
242
|
cartography/intel/jamf/util.py,sha256=EAyP8VpOY2uAvW3HtX6r7qORNjGa1Tr3fuqezuLQ0j4,1017
|
|
240
243
|
cartography/intel/kandji/__init__.py,sha256=Y38bVRmrGVJRy0mSof8xU-cuEyJ7N_oI7KekYjYyuiQ,1076
|
|
241
|
-
cartography/intel/kandji/devices.py,sha256=
|
|
244
|
+
cartography/intel/kandji/devices.py,sha256=bRePUC0xFeaST3PQdJ6Af2MdTeFZuIVq4r7CY5YEid0,2797
|
|
242
245
|
cartography/intel/kubernetes/__init__.py,sha256=jaOTEanWnTrYvcBN1XUC5oqBhz1AJbFmzoT9uu_VBSg,1481
|
|
243
246
|
cartography/intel/kubernetes/namespaces.py,sha256=6o-FgAX_Ai5NCj2xOWM-RNWEvn0gZjVQnZSGCJlcIhw,2710
|
|
244
247
|
cartography/intel/kubernetes/pods.py,sha256=aX3pP_vs6icMe2vK4vgMak6HZ64okhRzoihpkPHscGU,4502
|
|
@@ -296,6 +299,8 @@ cartography/models/aws/ec2/keypair_instance.py,sha256=M1Ru8Z_2izW0cADAnQVVHaKsT_
|
|
|
296
299
|
cartography/models/aws/ec2/launch_configurations.py,sha256=zdfWJEx93HXDXd_IzSEkhvcztkJI7_v_TCE_d8ZNAyI,2764
|
|
297
300
|
cartography/models/aws/ec2/launch_template_versions.py,sha256=RitfnAuAj0XpFsCXkRbtUhHMAi8Vsvmtury231eKvGU,3897
|
|
298
301
|
cartography/models/aws/ec2/launch_templates.py,sha256=GqiwFuMp72LNSt2eQlp2WfdU_vHsom-xKV5AaUewSHQ,2157
|
|
302
|
+
cartography/models/aws/ec2/load_balancer_listeners.py,sha256=M7oYOinOQkEUijJjhs1oCffB5VmLWYSa92tVWKwMSJQ,2879
|
|
303
|
+
cartography/models/aws/ec2/load_balancers.py,sha256=qJbPWePdO2vuyKzcVcSvKtHlEFMBkkUovZ826BaAcwg,4347
|
|
299
304
|
cartography/models/aws/ec2/loadbalancerv2.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
300
305
|
cartography/models/aws/ec2/network_acl_rules.py,sha256=4Rq2J-Dce8J6y9J6YIalmYtuQRWLp652LXO1Xg6XGPE,3951
|
|
301
306
|
cartography/models/aws/ec2/network_acls.py,sha256=pJKsXdMLB8L79lmTYpLJfFJ6p7PWpf3rBN6eW6y-5hY,3419
|
|
@@ -303,6 +308,9 @@ cartography/models/aws/ec2/networkinterface_instance.py,sha256=t3oqcQ4GjYf7dwqPU
|
|
|
303
308
|
cartography/models/aws/ec2/networkinterfaces.py,sha256=z1-Dl6I79-TCxXKG8QBpSKga93lPCPaLR1XqKJZK3ME,4127
|
|
304
309
|
cartography/models/aws/ec2/privateip_networkinterface.py,sha256=j8MyiZsiUCuzuGUH_4PBKV3rLTk1GkE-SZb6K11oSdM,3038
|
|
305
310
|
cartography/models/aws/ec2/reservations.py,sha256=dE9uSB3Em-ca1dDbetbu79JXr4ZWHC3r5gA1S3mjhVU,1930
|
|
311
|
+
cartography/models/aws/ec2/route_table_associations.py,sha256=MfP41U64XM86G0VMz_kbmlOc4cxMG6MbVWk1mfVoTaI,3846
|
|
312
|
+
cartography/models/aws/ec2/route_tables.py,sha256=qFdfb1QExqJ8r3wCMUPaticWY_ppoLKEjyZx8Xs9etE,4725
|
|
313
|
+
cartography/models/aws/ec2/routes.py,sha256=qmWkhvNavycKv422ih0b3jUYd02tOgHNAuIpivwj6XM,3626
|
|
306
314
|
cartography/models/aws/ec2/securitygroup_instance.py,sha256=RZS9TzHHatTOESQgcs5_YHmF9sM7pRkUq2VPjk9FJlU,2876
|
|
307
315
|
cartography/models/aws/ec2/securitygroup_networkinterface.py,sha256=PiaA8J82kybZyZ1wDsa-ACIDa88vt4NoA3smGNiwl14,2399
|
|
308
316
|
cartography/models/aws/ec2/subnet_instance.py,sha256=ct_ibXiPN2C5ld06TczwSTXtsnlov5VCW6elphtbvPs,2752
|
|
@@ -329,6 +337,8 @@ cartography/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
329
337
|
cartography/models/core/common.py,sha256=Bk0dCBkO9Udj9v4e8WE9mgBGaZTI170m9QpoiiYoz48,6206
|
|
330
338
|
cartography/models/core/nodes.py,sha256=h5dwBOk_a2uCHZWeQz3pidr7gkqMKf7buIZgl6M1Ox4,3699
|
|
331
339
|
cartography/models/core/relationships.py,sha256=6AwXvk0dq48BxqyxBpHyBXZ3dJNm65t1y4vNg4n25uA,5103
|
|
340
|
+
cartography/models/crowdstrike/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
341
|
+
cartography/models/crowdstrike/hosts.py,sha256=5PiDAhCPWDUd9kE61FliaPzsuIQBZRIQ87eHMgQF_M4,2672
|
|
332
342
|
cartography/models/cve/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
333
343
|
cartography/models/cve/cve.py,sha256=zaCLcGuEL2EnScExjbmpPBNVBivMBKnnRajCYL0LJFE,3720
|
|
334
344
|
cartography/models/cve/cve_feed.py,sha256=A_h9ET2vQYGpgMr8_--iqdQfF5ZyUNM6aQDruUuA5OU,740
|
|
@@ -340,6 +350,9 @@ cartography/models/duo/phone.py,sha256=oxgMmwKLRiCWbAhqrTKE4ILseu0j96GugEIV_hchR
|
|
|
340
350
|
cartography/models/duo/token.py,sha256=BS_AvF-TAGzCY9Owtqxr8g_s6716dnzFOO1IwkckmVA,2668
|
|
341
351
|
cartography/models/duo/user.py,sha256=ih3DH_QveAve4cX9dmIwC5gVN6_RNnuLK3bfJ5I9u6g,6554
|
|
342
352
|
cartography/models/duo/web_authn_credential.py,sha256=OcZnfG5zCMlphxSltRcAXQ12hHYJjxrBt6A9L28g7Vk,2920
|
|
353
|
+
cartography/models/entra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
354
|
+
cartography/models/entra/tenant.py,sha256=wxF6DTsLs653ObzPrEOj2xQ-YGtNJhg-E1desPQmmU0,1751
|
|
355
|
+
cartography/models/entra/user.py,sha256=Y6am84AEYdVJHIFUHHF5XSgwCQ-aOekeu4ZABJhnfp0,4765
|
|
343
356
|
cartography/models/gcp/iam.py,sha256=N7OGmnRlkIFZOv0rh3QGGBmYV7WYy3-xeE4Wv7StGOE,3071
|
|
344
357
|
cartography/models/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
345
358
|
cartography/models/github/orgs.py,sha256=EcUmkeyoCJmkmzLsfKdUwwTE0N2IIwyaUrIK32dQybo,1106
|
|
@@ -360,9 +373,9 @@ cartography/models/snipeit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
360
373
|
cartography/models/snipeit/asset.py,sha256=FyRAaeXuZjMy0eUQcSDFcgEAF5lbLMlvqp1Tv9d3Lv4,3238
|
|
361
374
|
cartography/models/snipeit/tenant.py,sha256=p4rFnpNNuF1W5ilGBbexDaETWTwavfb38RcQGoImkQI,679
|
|
362
375
|
cartography/models/snipeit/user.py,sha256=MsB4MiCVNTH6JpESime7cOkB89autZOXQpL6Z0l7L6o,2113
|
|
363
|
-
cartography-0.
|
|
364
|
-
cartography-0.
|
|
365
|
-
cartography-0.
|
|
366
|
-
cartography-0.
|
|
367
|
-
cartography-0.
|
|
368
|
-
cartography-0.
|
|
376
|
+
cartography-0.102.0.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
|
|
377
|
+
cartography-0.102.0.dist-info/METADATA,sha256=DxJP6vhxa_KLem1IsyD3UF9x973pIMaf6HLRo_XF9yE,12084
|
|
378
|
+
cartography-0.102.0.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
|
|
379
|
+
cartography-0.102.0.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
|
|
380
|
+
cartography-0.102.0.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
|
|
381
|
+
cartography-0.102.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|