cartography 0.107.0rc3__py3-none-any.whl → 0.108.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 +10 -0
- cartography/config.py +5 -0
- cartography/data/indexes.cypher +0 -10
- cartography/data/jobs/cleanup/github_repos_cleanup.json +2 -0
- cartography/intel/aws/__init__.py +1 -0
- cartography/intel/aws/cloudtrail.py +17 -4
- cartography/intel/aws/cloudtrail_management_events.py +560 -16
- cartography/intel/aws/cloudwatch.py +73 -4
- cartography/intel/aws/ec2/security_groups.py +140 -122
- cartography/intel/aws/ec2/snapshots.py +47 -84
- cartography/intel/aws/ec2/subnets.py +37 -63
- cartography/intel/aws/ecr.py +55 -80
- cartography/intel/aws/elasticache.py +102 -79
- cartography/intel/aws/guardduty.py +275 -0
- cartography/intel/aws/resources.py +2 -0
- cartography/intel/aws/secretsmanager.py +62 -44
- cartography/intel/github/repos.py +370 -28
- cartography/models/aws/cloudtrail/management_events.py +95 -6
- cartography/models/aws/cloudtrail/trail.py +21 -0
- cartography/models/aws/cloudwatch/metric_alarm.py +53 -0
- cartography/models/aws/ec2/security_group_rules.py +109 -0
- cartography/models/aws/ec2/security_groups.py +90 -0
- cartography/models/aws/ec2/snapshots.py +58 -0
- cartography/models/aws/ec2/subnets.py +65 -0
- cartography/models/aws/ec2/volumes.py +20 -0
- cartography/models/aws/ecr/__init__.py +0 -0
- cartography/models/aws/ecr/image.py +41 -0
- cartography/models/aws/ecr/repository.py +72 -0
- cartography/models/aws/ecr/repository_image.py +95 -0
- cartography/models/aws/elasticache/__init__.py +0 -0
- cartography/models/aws/elasticache/cluster.py +65 -0
- cartography/models/aws/elasticache/topic.py +67 -0
- cartography/models/aws/guardduty/__init__.py +1 -0
- cartography/models/aws/guardduty/findings.py +102 -0
- cartography/models/aws/secretsmanager/secret.py +106 -0
- cartography/models/github/dependencies.py +74 -0
- cartography/models/github/manifests.py +49 -0
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/METADATA +3 -3
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/RECORD +44 -29
- cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json +0 -24
- cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json +0 -8
- cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json +0 -30
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/WHEEL +0 -0
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/entry_points.txt +0 -0
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/licenses/LICENSE +0 -0
- {cartography-0.107.0rc3.dist-info → cartography-0.108.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
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 ElasticacheTopicNodeProperties(CartographyNodeProperties):
|
|
16
|
+
id: PropertyRef = PropertyRef("TopicArn")
|
|
17
|
+
arn: PropertyRef = PropertyRef("TopicArn", extra_index=True)
|
|
18
|
+
status: PropertyRef = PropertyRef("TopicStatus")
|
|
19
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass(frozen=True)
|
|
23
|
+
class ElasticacheTopicToAWSAccountRelProperties(CartographyRelProperties):
|
|
24
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@dataclass(frozen=True)
|
|
28
|
+
class ElasticacheTopicToAWSAccountRel(CartographyRelSchema):
|
|
29
|
+
target_node_label: str = "AWSAccount"
|
|
30
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
31
|
+
{"id": PropertyRef("AWS_ID", set_in_kwargs=True)}
|
|
32
|
+
)
|
|
33
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
34
|
+
rel_label: str = "RESOURCE"
|
|
35
|
+
properties: ElasticacheTopicToAWSAccountRelProperties = (
|
|
36
|
+
ElasticacheTopicToAWSAccountRelProperties()
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@dataclass(frozen=True)
|
|
41
|
+
class ElasticacheTopicToElasticacheClusterRelProperties(CartographyRelProperties):
|
|
42
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@dataclass(frozen=True)
|
|
46
|
+
class ElasticacheTopicToElasticacheClusterRel(CartographyRelSchema):
|
|
47
|
+
target_node_label: str = "ElasticacheCluster"
|
|
48
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
49
|
+
{"id": PropertyRef("cluster_arns", one_to_many=True)}
|
|
50
|
+
)
|
|
51
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
52
|
+
rel_label: str = "CACHE_CLUSTER"
|
|
53
|
+
properties: ElasticacheTopicToElasticacheClusterRelProperties = (
|
|
54
|
+
ElasticacheTopicToElasticacheClusterRelProperties()
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@dataclass(frozen=True)
|
|
59
|
+
class ElasticacheTopicSchema(CartographyNodeSchema):
|
|
60
|
+
label: str = "ElasticacheTopic"
|
|
61
|
+
properties: ElasticacheTopicNodeProperties = ElasticacheTopicNodeProperties()
|
|
62
|
+
sub_resource_relationship: ElasticacheTopicToAWSAccountRel = (
|
|
63
|
+
ElasticacheTopicToAWSAccountRel()
|
|
64
|
+
)
|
|
65
|
+
other_relationships: OtherRelationships = OtherRelationships(
|
|
66
|
+
[ElasticacheTopicToElasticacheClusterRel()]
|
|
67
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# GuardDuty models
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
8
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
9
|
+
from cartography.models.core.relationships import LinkDirection
|
|
10
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
11
|
+
from cartography.models.core.relationships import OtherRelationships
|
|
12
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass(frozen=True)
|
|
16
|
+
class GuardDutyFindingNodeProperties(CartographyNodeProperties):
|
|
17
|
+
id: PropertyRef = PropertyRef("id")
|
|
18
|
+
arn: PropertyRef = PropertyRef("arn", extra_index=True)
|
|
19
|
+
title: PropertyRef = PropertyRef("title")
|
|
20
|
+
description: PropertyRef = PropertyRef("description")
|
|
21
|
+
type: PropertyRef = PropertyRef("type")
|
|
22
|
+
severity: PropertyRef = PropertyRef("severity")
|
|
23
|
+
confidence: PropertyRef = PropertyRef("confidence")
|
|
24
|
+
eventfirstseen: PropertyRef = PropertyRef("eventfirstseen")
|
|
25
|
+
eventlastseen: PropertyRef = PropertyRef("eventlastseen")
|
|
26
|
+
accountid: PropertyRef = PropertyRef("accountid")
|
|
27
|
+
region: PropertyRef = PropertyRef("region")
|
|
28
|
+
detectorid: PropertyRef = PropertyRef("detectorid")
|
|
29
|
+
resource_type: PropertyRef = PropertyRef("resource_type")
|
|
30
|
+
resource_id: PropertyRef = PropertyRef("resource_id")
|
|
31
|
+
archived: PropertyRef = PropertyRef("archived")
|
|
32
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@dataclass(frozen=True)
|
|
36
|
+
class GuardDutyFindingToAWSAccountRelRelProperties(CartographyRelProperties):
|
|
37
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@dataclass(frozen=True)
|
|
41
|
+
class GuardDutyFindingToAWSAccountRel(CartographyRelSchema):
|
|
42
|
+
target_node_label: str = "AWSAccount"
|
|
43
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
44
|
+
{"id": PropertyRef("AWS_ID", set_in_kwargs=True)},
|
|
45
|
+
)
|
|
46
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
47
|
+
rel_label: str = "RESOURCE"
|
|
48
|
+
properties: GuardDutyFindingToAWSAccountRelRelProperties = (
|
|
49
|
+
GuardDutyFindingToAWSAccountRelRelProperties()
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@dataclass(frozen=True)
|
|
54
|
+
class GuardDutyFindingToEC2InstanceRelRelProperties(CartographyRelProperties):
|
|
55
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@dataclass(frozen=True)
|
|
59
|
+
class GuardDutyFindingToEC2InstanceRel(CartographyRelSchema):
|
|
60
|
+
target_node_label: str = "EC2Instance"
|
|
61
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
62
|
+
{"id": PropertyRef("resource_id")},
|
|
63
|
+
)
|
|
64
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
65
|
+
rel_label: str = "AFFECTS"
|
|
66
|
+
properties: GuardDutyFindingToEC2InstanceRelRelProperties = (
|
|
67
|
+
GuardDutyFindingToEC2InstanceRelRelProperties()
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@dataclass(frozen=True)
|
|
72
|
+
class GuardDutyFindingToS3BucketRelRelProperties(CartographyRelProperties):
|
|
73
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@dataclass(frozen=True)
|
|
77
|
+
class GuardDutyFindingToS3BucketRel(CartographyRelSchema):
|
|
78
|
+
target_node_label: str = "S3Bucket"
|
|
79
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
80
|
+
{"id": PropertyRef("resource_id")},
|
|
81
|
+
)
|
|
82
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
83
|
+
rel_label: str = "AFFECTS"
|
|
84
|
+
properties: GuardDutyFindingToS3BucketRelRelProperties = (
|
|
85
|
+
GuardDutyFindingToS3BucketRelRelProperties()
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@dataclass(frozen=True)
|
|
90
|
+
class GuardDutyFindingSchema(CartographyNodeSchema):
|
|
91
|
+
label: str = "GuardDutyFinding"
|
|
92
|
+
properties: GuardDutyFindingNodeProperties = GuardDutyFindingNodeProperties()
|
|
93
|
+
extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(["Risk"])
|
|
94
|
+
sub_resource_relationship: GuardDutyFindingToAWSAccountRel = (
|
|
95
|
+
GuardDutyFindingToAWSAccountRel()
|
|
96
|
+
)
|
|
97
|
+
other_relationships: OtherRelationships = OtherRelationships(
|
|
98
|
+
[
|
|
99
|
+
GuardDutyFindingToEC2InstanceRel(),
|
|
100
|
+
GuardDutyFindingToS3BucketRel(),
|
|
101
|
+
],
|
|
102
|
+
)
|
|
@@ -0,0 +1,106 @@
|
|
|
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 SecretsManagerSecretNodeProperties(CartographyNodeProperties):
|
|
16
|
+
"""
|
|
17
|
+
Properties for AWS Secrets Manager Secret
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
id: PropertyRef = PropertyRef("ARN")
|
|
21
|
+
arn: PropertyRef = PropertyRef("ARN", extra_index=True)
|
|
22
|
+
name: PropertyRef = PropertyRef("Name", extra_index=True)
|
|
23
|
+
description: PropertyRef = PropertyRef("Description")
|
|
24
|
+
|
|
25
|
+
# Rotation properties
|
|
26
|
+
rotation_enabled: PropertyRef = PropertyRef("RotationEnabled")
|
|
27
|
+
rotation_lambda_arn: PropertyRef = PropertyRef("RotationLambdaARN")
|
|
28
|
+
rotation_rules_automatically_after_days: PropertyRef = PropertyRef(
|
|
29
|
+
"RotationRulesAutomaticallyAfterDays"
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
# Date properties (will be converted to epoch timestamps)
|
|
33
|
+
created_date: PropertyRef = PropertyRef("CreatedDate")
|
|
34
|
+
last_rotated_date: PropertyRef = PropertyRef("LastRotatedDate")
|
|
35
|
+
last_changed_date: PropertyRef = PropertyRef("LastChangedDate")
|
|
36
|
+
last_accessed_date: PropertyRef = PropertyRef("LastAccessedDate")
|
|
37
|
+
deleted_date: PropertyRef = PropertyRef("DeletedDate")
|
|
38
|
+
|
|
39
|
+
# Other properties
|
|
40
|
+
kms_key_id: PropertyRef = PropertyRef("KmsKeyId")
|
|
41
|
+
owning_service: PropertyRef = PropertyRef("OwningService")
|
|
42
|
+
primary_region: PropertyRef = PropertyRef("PrimaryRegion")
|
|
43
|
+
|
|
44
|
+
# Standard cartography properties
|
|
45
|
+
region: PropertyRef = PropertyRef("Region", set_in_kwargs=True)
|
|
46
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@dataclass(frozen=True)
|
|
50
|
+
class SecretsManagerSecretRelProperties(CartographyRelProperties):
|
|
51
|
+
"""
|
|
52
|
+
Properties for relationships between Secret and other nodes
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@dataclass(frozen=True)
|
|
59
|
+
class SecretsManagerSecretToAWSAccountRel(CartographyRelSchema):
|
|
60
|
+
"""
|
|
61
|
+
Relationship between Secret and AWS Account
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
target_node_label: str = "AWSAccount"
|
|
65
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
66
|
+
{"id": PropertyRef("AWS_ID", set_in_kwargs=True)},
|
|
67
|
+
)
|
|
68
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
69
|
+
rel_label: str = "RESOURCE"
|
|
70
|
+
properties: SecretsManagerSecretRelProperties = SecretsManagerSecretRelProperties()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
@dataclass(frozen=True)
|
|
74
|
+
class SecretsManagerSecretToKMSKeyRel(CartographyRelSchema):
|
|
75
|
+
"""
|
|
76
|
+
Relationship between Secret and its KMS key
|
|
77
|
+
Only created when KmsKeyId is present
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
target_node_label: str = "AWSKMSKey"
|
|
81
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
82
|
+
{"id": PropertyRef("KmsKeyId")},
|
|
83
|
+
)
|
|
84
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
85
|
+
rel_label: str = "ENCRYPTED_BY"
|
|
86
|
+
properties: SecretsManagerSecretRelProperties = SecretsManagerSecretRelProperties()
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@dataclass(frozen=True)
|
|
90
|
+
class SecretsManagerSecretSchema(CartographyNodeSchema):
|
|
91
|
+
"""
|
|
92
|
+
Schema for AWS Secrets Manager Secret
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
label: str = "SecretsManagerSecret"
|
|
96
|
+
properties: SecretsManagerSecretNodeProperties = (
|
|
97
|
+
SecretsManagerSecretNodeProperties()
|
|
98
|
+
)
|
|
99
|
+
sub_resource_relationship: SecretsManagerSecretToAWSAccountRel = (
|
|
100
|
+
SecretsManagerSecretToAWSAccountRel()
|
|
101
|
+
)
|
|
102
|
+
other_relationships: OtherRelationships = OtherRelationships(
|
|
103
|
+
[
|
|
104
|
+
SecretsManagerSecretToKMSKeyRel(),
|
|
105
|
+
],
|
|
106
|
+
)
|
|
@@ -0,0 +1,74 @@
|
|
|
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 GitHubDependencyNodeProperties(CartographyNodeProperties):
|
|
16
|
+
id: PropertyRef = PropertyRef("id")
|
|
17
|
+
name: PropertyRef = PropertyRef("name")
|
|
18
|
+
original_name: PropertyRef = PropertyRef("original_name")
|
|
19
|
+
version: PropertyRef = PropertyRef("version")
|
|
20
|
+
ecosystem: PropertyRef = PropertyRef("ecosystem")
|
|
21
|
+
package_manager: PropertyRef = PropertyRef("package_manager")
|
|
22
|
+
repo_name: PropertyRef = PropertyRef("repo_name")
|
|
23
|
+
manifest_file: PropertyRef = PropertyRef("manifest_file")
|
|
24
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@dataclass(frozen=True)
|
|
28
|
+
class GitHubDependencyToRepositoryRelProperties(CartographyRelProperties):
|
|
29
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
30
|
+
requirements: PropertyRef = PropertyRef("requirements")
|
|
31
|
+
manifest_path: PropertyRef = PropertyRef("manifest_path")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@dataclass(frozen=True)
|
|
35
|
+
class GitHubDependencyToRepositoryRel(CartographyRelSchema):
|
|
36
|
+
target_node_label: str = "GitHubRepository"
|
|
37
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
38
|
+
{"id": PropertyRef("repo_url", set_in_kwargs=True)}
|
|
39
|
+
)
|
|
40
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
41
|
+
rel_label: str = "REQUIRES"
|
|
42
|
+
properties: GitHubDependencyToRepositoryRelProperties = (
|
|
43
|
+
GitHubDependencyToRepositoryRelProperties()
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass(frozen=True)
|
|
48
|
+
class DependencyGraphManifestToDependencyRelProperties(CartographyRelProperties):
|
|
49
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@dataclass(frozen=True)
|
|
53
|
+
class DependencyGraphManifestToDependencyRel(CartographyRelSchema):
|
|
54
|
+
target_node_label: str = "DependencyGraphManifest"
|
|
55
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
56
|
+
{"id": PropertyRef("manifest_id", set_in_kwargs=True)}
|
|
57
|
+
)
|
|
58
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
59
|
+
rel_label: str = "HAS_DEP"
|
|
60
|
+
properties: DependencyGraphManifestToDependencyRelProperties = (
|
|
61
|
+
DependencyGraphManifestToDependencyRelProperties()
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@dataclass(frozen=True)
|
|
66
|
+
class GitHubDependencySchema(CartographyNodeSchema):
|
|
67
|
+
label: str = "Dependency"
|
|
68
|
+
properties: GitHubDependencyNodeProperties = GitHubDependencyNodeProperties()
|
|
69
|
+
sub_resource_relationship: GitHubDependencyToRepositoryRel = (
|
|
70
|
+
GitHubDependencyToRepositoryRel()
|
|
71
|
+
)
|
|
72
|
+
other_relationships: OtherRelationships = OtherRelationships(
|
|
73
|
+
[DependencyGraphManifestToDependencyRel()]
|
|
74
|
+
)
|
|
@@ -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
|
+
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 DependencyGraphManifestNodeProperties(CartographyNodeProperties):
|
|
15
|
+
id: PropertyRef = PropertyRef("id")
|
|
16
|
+
blob_path: PropertyRef = PropertyRef("blob_path")
|
|
17
|
+
filename: PropertyRef = PropertyRef("filename")
|
|
18
|
+
dependencies_count: PropertyRef = PropertyRef("dependencies_count")
|
|
19
|
+
repo_url: PropertyRef = PropertyRef("repo_url")
|
|
20
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dataclass(frozen=True)
|
|
24
|
+
class DependencyGraphManifestToRepositoryRelProperties(CartographyRelProperties):
|
|
25
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@dataclass(frozen=True)
|
|
29
|
+
class DependencyGraphManifestToRepositoryRel(CartographyRelSchema):
|
|
30
|
+
target_node_label: str = "GitHubRepository"
|
|
31
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
32
|
+
{"id": PropertyRef("repo_url", set_in_kwargs=True)}
|
|
33
|
+
)
|
|
34
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
35
|
+
rel_label: str = "HAS_MANIFEST"
|
|
36
|
+
properties: DependencyGraphManifestToRepositoryRelProperties = (
|
|
37
|
+
DependencyGraphManifestToRepositoryRelProperties()
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@dataclass(frozen=True)
|
|
42
|
+
class DependencyGraphManifestSchema(CartographyNodeSchema):
|
|
43
|
+
label: str = "DependencyGraphManifest"
|
|
44
|
+
properties: DependencyGraphManifestNodeProperties = (
|
|
45
|
+
DependencyGraphManifestNodeProperties()
|
|
46
|
+
)
|
|
47
|
+
sub_resource_relationship: DependencyGraphManifestToRepositoryRel = (
|
|
48
|
+
DependencyGraphManifestToRepositoryRel()
|
|
49
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cartography
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.108.0
|
|
4
4
|
Summary: Explore assets and their relationships across your technical infrastructure.
|
|
5
5
|
Maintainer: Cartography Contributors
|
|
6
6
|
License: apache2
|
|
@@ -82,14 +82,14 @@ You can learn more about the story behind Cartography in our [presentation at BS
|
|
|
82
82
|
|
|
83
83
|
## Supported platforms
|
|
84
84
|
- [Airbyte](https://cartography-cncf.github.io/cartography/modules/airbyte/index.html) - Organization, Workspace, User, Source, Destination, Connection, Tag, Stream
|
|
85
|
-
- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SQS, SSM, STS, Tags
|
|
85
|
+
- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SQS, SSM, STS, Tags
|
|
86
86
|
- [Anthropic](https://cartography-cncf.github.io/cartography/modules/anthropic/index.html) - Organization, ApiKey, User, Workspace
|
|
87
87
|
- [BigFix](https://cartography-cncf.github.io/cartography/modules/bigfix/index.html) - Computers
|
|
88
88
|
- [Cloudflare](https://cartography-cncf.github.io/cartography/modules/cloudflare/index.html) - Account, Role, Member, Zone, DNSRecord
|
|
89
89
|
- [Crowdstrike Falcon](https://cartography-cncf.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs
|
|
90
90
|
- [DigitalOcean](https://cartography-cncf.github.io/cartography/modules/digitalocean/index.html)
|
|
91
91
|
- [Duo](https://cartography-cncf.github.io/cartography/modules/duo/index.html) - Users, Groups, Endpoints
|
|
92
|
-
- [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams
|
|
92
|
+
- [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams, dependency graph manifests, dependencies
|
|
93
93
|
- [Google Cloud Platform](https://cartography-cncf.github.io/cartography/modules/gcp/index.html) - Cloud Resource Manager, Compute, DNS, Storage, Google Kubernetes Engine
|
|
94
94
|
- [Google GSuite](https://cartography-cncf.github.io/cartography/modules/gsuite/index.html) - users, groups
|
|
95
95
|
- [Kandji](https://cartography-cncf.github.io/cartography/modules/kandji/index.html) - Devices
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
cartography/__main__.py,sha256=y5iqUrj4BmqZfjeDT-9balzpXeMARgHeIedRMRI1gr8,100
|
|
3
|
-
cartography/_version.py,sha256=
|
|
4
|
-
cartography/cli.py,sha256=
|
|
5
|
-
cartography/config.py,sha256=
|
|
3
|
+
cartography/_version.py,sha256=H1x0UMEo9viR_pRCoke-PXJ9_brR-2877pq5v0niQZM,515
|
|
4
|
+
cartography/cli.py,sha256=qOu3nSIKWsuDbuPe5XrKBoAArFQKZP8jSjK8OtI69_E,46595
|
|
5
|
+
cartography/config.py,sha256=q-fVcWJH9ida_cAII9RcOT0FUpFFify7W6NMvmC3kGk,16873
|
|
6
6
|
cartography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
cartography/stats.py,sha256=N95prYlSzY8U52VFgKIDgOWOawu5Mig4N7GcVp3binQ,4420
|
|
8
8
|
cartography/sync.py,sha256=-WsU6tGUKpfxPRndm1QU_0HQyE20Q7fexQWRHWFrnQI,13867
|
|
@@ -14,7 +14,7 @@ cartography/client/aws/iam.py,sha256=dYsGikc36DEsSeR2XVOVFFUDwuU9yWj_EVkpgVYCFgM
|
|
|
14
14
|
cartography/client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
cartography/client/core/tx.py,sha256=Xx6_a5u7PE5pyREuBL_J39ORcafqieFf4KdosaEv1c4,13530
|
|
16
16
|
cartography/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
cartography/data/indexes.cypher,sha256=
|
|
17
|
+
cartography/data/indexes.cypher,sha256=TiTedBNkvIg3FHcIcn-zqbDv2WiboxTAHZ-qACO8-Ys,23435
|
|
18
18
|
cartography/data/permission_relationships.yaml,sha256=RuKGGc_3ZUQ7ag0MssB8k_zaonCkVM5E8I_svBWTmGc,969
|
|
19
19
|
cartography/data/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
cartography/data/jobs/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -34,7 +34,6 @@ cartography/data/jobs/cleanup/aws_dns_cleanup.json,sha256=H5uMZV4tN6HcjTYwh2I1dE
|
|
|
34
34
|
cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json,sha256=UCrAXf-8yQIoUa843VLLTpqrSpNa753c1cxzg32oqU0,737
|
|
35
35
|
cartography/data/jobs/cleanup/aws_import_config_cleanup.json,sha256=VCAJjEnFcQUR16VxKdpsOkBJEnhMuLk-7Kgm_p9k1NM,754
|
|
36
36
|
cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json,sha256=x9IIzb9Sr1353ygkA-qqUUbZS9XO2v3GzUHe-0J4Pw8,281
|
|
37
|
-
cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json,sha256=CackEgSs1PN15pTg8oIdS0amB-n-PsKODLAaqC3gf_A,1183
|
|
38
37
|
cartography/data/jobs/cleanup/aws_import_ecr_cleanup.json,sha256=7Sga9WlbhHe-VyoFaF0LrlhbAFvSSOjVKiRf_VW8To8,1355
|
|
39
38
|
cartography/data/jobs/cleanup/aws_import_ecs_cleanup.json,sha256=6HtmZy7gNC0ZxLU7I6C2KKcqpZhYRFyaJZCDA50DzAs,2126
|
|
40
39
|
cartography/data/jobs/cleanup/aws_import_elastic_ip_addresses_cleanup.json,sha256=Gd4cppQTr9X4646UNS8g0VLR1eSOm8r0GjBxQMuuEic,1043
|
|
@@ -57,9 +56,7 @@ cartography/data/jobs/cleanup/aws_import_roles_cleanup.json,sha256=z6M8to_4TcOx4
|
|
|
57
56
|
cartography/data/jobs/cleanup/aws_import_roles_policy_cleanup.json,sha256=qssEDBXg5yVaOLg2lpsrnPTHBfW7ERD9BMeciTm22oM,307
|
|
58
57
|
cartography/data/jobs/cleanup/aws_import_s3_acl_cleanup.json,sha256=AmQDF8VZwXLtZ9cYe4xB7uY-VA3BMhc1YUS8HJKZ2q4,533
|
|
59
58
|
cartography/data/jobs/cleanup/aws_import_s3_buckets_cleanup.json,sha256=zF_TRTZGorQO6SIXryO3qAUVWM8We2fBABuTS3rflQU,756
|
|
60
|
-
cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json,sha256=ehQJQSoWmDths9FjhBJZA3SndlvmzWjzrUaKxmz-2PY,283
|
|
61
59
|
cartography/data/jobs/cleanup/aws_import_securityhub_cleanup.json,sha256=WO6OrIFr6tqbRtF0bG_JwVp4ofnnsHciJISnDBZkZxU,266
|
|
62
|
-
cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json,sha256=qAE2PoEuhYIueduzrLC7C1PzyZynm4G_DUhmrmc6Ctw,1244
|
|
63
60
|
cartography/data/jobs/cleanup/aws_import_sqs_queues_cleanup.json,sha256=Mla8y-CWaQdPJO9IDmWDz_zCAuclcJ4GRhlAlYVj_qw,629
|
|
64
61
|
cartography/data/jobs/cleanup/aws_import_tags_cleanup.json,sha256=mVOmhpoeHYItYQFATlTTeBhUt2GipAliRhh69zQcHok,7360
|
|
65
62
|
cartography/data/jobs/cleanup/aws_import_tgw_cleanup.json,sha256=jHlKj2jcI3avvDMOCbFd89hTS0HcNVrZinJ4AYgykQs,2097
|
|
@@ -100,7 +97,7 @@ cartography/data/jobs/cleanup/gcp_crm_project_cleanup.json,sha256=JImcuuz9HI2TL0
|
|
|
100
97
|
cartography/data/jobs/cleanup/gcp_dns_cleanup.json,sha256=NGs5UYFmm65Rq8gyqbzIe8_OnFchfpNFf9iAcIj_hyY,1286
|
|
101
98
|
cartography/data/jobs/cleanup/gcp_gke_cluster_cleanup.json,sha256=3bMEJ44AEvjkj_1ibclk6Ys5r1LniUWefpZ_U5hTwHI,671
|
|
102
99
|
cartography/data/jobs/cleanup/gcp_storage_bucket_cleanup.json,sha256=sGygB_meoCpGdGgEZtIlC4L-19meAXdfP99gkNJHD7o,1288
|
|
103
|
-
cartography/data/jobs/cleanup/github_repos_cleanup.json,sha256=
|
|
100
|
+
cartography/data/jobs/cleanup/github_repos_cleanup.json,sha256=HsQbGviHXyEYm9bITWByjQAyC4zSE0eLkg9_CNlKFcA,3678
|
|
104
101
|
cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json,sha256=ddXAUi6aVi2htf5R1bNn6YrC3SjshjLBgWtlzBgZ9Do,961
|
|
105
102
|
cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json,sha256=0qMLbVSTyq5F9vt4-TvVa3YAAvZCpPtzF9EwblaTxWg,353
|
|
106
103
|
cartography/data/jobs/cleanup/jamf_import_computers_cleanup.json,sha256=sEF6VSkOcFO210y3VHFO45PDYi5ZePS6xRm3GL9lW7A,248
|
|
@@ -153,22 +150,23 @@ cartography/intel/anthropic/apikeys.py,sha256=wdXnjPuZ1VaO0X96E6rk-tIhMSnXWNNPeU
|
|
|
153
150
|
cartography/intel/anthropic/users.py,sha256=8tE18LVlweG2BhdMPdicEw-_WCmFs5AR6cyFABE3pvs,1948
|
|
154
151
|
cartography/intel/anthropic/util.py,sha256=m2OopxCC6chCwOxUXmc9nWW--nOlYyBL_Nc3Kd4CEwY,1847
|
|
155
152
|
cartography/intel/anthropic/workspaces.py,sha256=_t2kdGIFceDziC_BqIJa9-nLWIoWJbPoFNX1JYqbQ-w,2544
|
|
156
|
-
cartography/intel/aws/__init__.py,sha256=
|
|
153
|
+
cartography/intel/aws/__init__.py,sha256=lgu0kxERg_dJGuktEDU0ImpHuNGHJharoLEpirKWPZM,12330
|
|
157
154
|
cartography/intel/aws/acm.py,sha256=a_i2pYPpocjlL8itwlcrmg8KrSLfjcmrkhcrPP-Omj8,3827
|
|
158
155
|
cartography/intel/aws/apigateway.py,sha256=hOYVSY70DbrEfhi9gkX7PAMtg9WiPE0Pbp2wqGes7Vs,12198
|
|
159
|
-
cartography/intel/aws/cloudtrail.py,sha256=
|
|
160
|
-
cartography/intel/aws/cloudtrail_management_events.py,sha256=
|
|
161
|
-
cartography/intel/aws/cloudwatch.py,sha256=
|
|
156
|
+
cartography/intel/aws/cloudtrail.py,sha256=LCqf3pQMiMY4h1Wehb_OjwXst2fMIEnNOD8HbXsK4X4,2753
|
|
157
|
+
cartography/intel/aws/cloudtrail_management_events.py,sha256=cNVJkjenr4J9Cec8PGykdEFDcJaK2wmKPv7yiQC5Cd0,33792
|
|
158
|
+
cartography/intel/aws/cloudwatch.py,sha256=bBPlx5W15nun-jhYs-UAZQpo9Qm7FcBs4gBQevTqmi4,7246
|
|
162
159
|
cartography/intel/aws/codebuild.py,sha256=8I-Xzm_c5-ixnGOOHIQLYYpClnaGjjHrEMjQ0-DGsgM,3958
|
|
163
160
|
cartography/intel/aws/config.py,sha256=IIICicLQ0OTT3H3o8LDakIkA1BPUMwSyzpKonet-PaY,7658
|
|
164
161
|
cartography/intel/aws/dynamodb.py,sha256=VvvjeUgi1ZrqY9flXIQnfhhaSVSEqXXHW6T9917VLBk,5728
|
|
165
|
-
cartography/intel/aws/ecr.py,sha256=
|
|
162
|
+
cartography/intel/aws/ecr.py,sha256=_caYJexDxTzYMzyJ3oJwEOuEQJKjwEuH-5PHOejt7Ec,7131
|
|
166
163
|
cartography/intel/aws/ecs.py,sha256=h5Nn09MzqPftbXV46jybjsxnYVYW1Vit41kCkaFIq_4,14105
|
|
167
164
|
cartography/intel/aws/efs.py,sha256=6ZvFmVHLfZlyo8xx2dlRsC1IoVOpBOtsij_AdFczkDo,7884
|
|
168
165
|
cartography/intel/aws/eks.py,sha256=bPItyEj5q0nSDltJrr0S5MIrTPV0fK3xkqF6EV8fcqA,3759
|
|
169
|
-
cartography/intel/aws/elasticache.py,sha256=
|
|
166
|
+
cartography/intel/aws/elasticache.py,sha256=ePTi-49Lbw94L6m7id5dUk1cG6FZRizFxojxKZBk8XY,5552
|
|
170
167
|
cartography/intel/aws/elasticsearch.py,sha256=8X_Rp1zejkvXho0Zz_Cr4g-w9IpompdYRc-YS595Aso,8645
|
|
171
168
|
cartography/intel/aws/emr.py,sha256=EJoKjHQP7-F_A1trUNU05Sb42yNR1i0C9VIpGcCfAXw,3662
|
|
169
|
+
cartography/intel/aws/guardduty.py,sha256=QpwWisz3TzbOxkRKNjByk4WWDCCMXr8jgNOgOdjQM5g,8532
|
|
172
170
|
cartography/intel/aws/iam.py,sha256=bkyIzWw2OC4MHxuoCvTiZ5eEGEQhz2asiUgY_tkX2GY,34322
|
|
173
171
|
cartography/intel/aws/iam_instance_profiles.py,sha256=QUyu30xid60BFaemp-q0y9FgNsHaIQyQnQ8gHUzWC4k,2211
|
|
174
172
|
cartography/intel/aws/identitycenter.py,sha256=C2EOfwQO1zBjePAXtreUcJIy7RU__ior3liRT4SpGO8,9544
|
|
@@ -180,11 +178,11 @@ cartography/intel/aws/permission_relationships.py,sha256=LTmnHS6zk9hcdL548V5ka3E
|
|
|
180
178
|
cartography/intel/aws/rds.py,sha256=9TQsoUQAJXj3x7laqJp06N9TQIN9ARyRiImBW9lQKOI,26574
|
|
181
179
|
cartography/intel/aws/redshift.py,sha256=FGcCzcnm1OOrbJvLqtR1DwWVn1pt4Y6_eKkTUERT7Ws,7108
|
|
182
180
|
cartography/intel/aws/resourcegroupstaggingapi.py,sha256=CebHaVLh8cr4CDYz54p5MGANPuE5Ni-_nFC78Znh4uU,10807
|
|
183
|
-
cartography/intel/aws/resources.py,sha256=
|
|
181
|
+
cartography/intel/aws/resources.py,sha256=rr5TB5QiOymjoTR7Lr09HbdnCgycMGq52mC4CP7MhQo,4238
|
|
184
182
|
cartography/intel/aws/route53.py,sha256=-AZDD4zVR5pQ_c1bx87UZuzbC0mDiI-YS_8llFMZkwI,14424
|
|
185
183
|
cartography/intel/aws/s3.py,sha256=Da_5NYvQ7MN1AIN7CK9XXlVZo0fPdNHkqBZY1JWnHH4,33598
|
|
186
184
|
cartography/intel/aws/s3accountpublicaccessblock.py,sha256=XkqHnbj9ODRcc7Rbl4swi03qvw_T-7Bnx3BHpTmlxio,4688
|
|
187
|
-
cartography/intel/aws/secretsmanager.py,sha256=
|
|
185
|
+
cartography/intel/aws/secretsmanager.py,sha256=xM6znqD0cKNJbAhO2Zg3svyO7YUOqPFbunhODAVXMgw,7777
|
|
188
186
|
cartography/intel/aws/securityhub.py,sha256=oR808vrEAHsHH79u8hf-hkVTBcdNd6ZObCeNGD_xnSo,2324
|
|
189
187
|
cartography/intel/aws/sns.py,sha256=UlBvYzEjjXDgxN_dihqRatIcAt-NivNp_YsZPasVuT4,6377
|
|
190
188
|
cartography/intel/aws/sqs.py,sha256=RUR8chO1oU5esZbHzKyhOO4L7LXmH78G6kGGtUCqB5Q,4096
|
|
@@ -203,9 +201,9 @@ cartography/intel/aws/ec2/network_acls.py,sha256=UqAYCA6uA7UWbJVjC9wRBM8W0410j-b
|
|
|
203
201
|
cartography/intel/aws/ec2/network_interfaces.py,sha256=3-3TFjDOQ4sFTNdjFkkFrxcxntN5KK_dE7nkVLqAswU,9553
|
|
204
202
|
cartography/intel/aws/ec2/reserved_instances.py,sha256=BsshVUzkuOstbidYEGq0By2Y-ZM5T7OVxfVrHVJ6HS8,3321
|
|
205
203
|
cartography/intel/aws/ec2/route_tables.py,sha256=NSW7B-4wII4mf5ClX5F1q4cKfSNAjxBSnrdk4EhxXz0,10465
|
|
206
|
-
cartography/intel/aws/ec2/security_groups.py,sha256=
|
|
207
|
-
cartography/intel/aws/ec2/snapshots.py,sha256=
|
|
208
|
-
cartography/intel/aws/ec2/subnets.py,sha256=
|
|
204
|
+
cartography/intel/aws/ec2/security_groups.py,sha256=VAa4Cp0PJtjLrl95MIudXdF8VR4ZafY3bOjuyrlPnmc,6582
|
|
205
|
+
cartography/intel/aws/ec2/snapshots.py,sha256=X7J9xmhrvPILFEt7yS6yiQFElvddjkhZj2V8b9KaGRM,4460
|
|
206
|
+
cartography/intel/aws/ec2/subnets.py,sha256=uzZ_YyRY2zycKXsGS05qmT6cHHi4SNbN2v1y-r4MgLY,2828
|
|
209
207
|
cartography/intel/aws/ec2/tgw.py,sha256=FcXWgLkr4EcD9DRXJMeyWQIgIHidaq40UrZneKhvnuE,9621
|
|
210
208
|
cartography/intel/aws/ec2/util.py,sha256=t6oJX9nCTejvp0D9ihxfhmCoD1aoOXQB0cuvz0pMCe0,226
|
|
211
209
|
cartography/intel/aws/ec2/volumes.py,sha256=C5V9LRE41REU4siHMAaE9yAjtbpLi8yTkaqLEw1uXMg,3726
|
|
@@ -262,7 +260,7 @@ cartography/intel/gcp/gke.py,sha256=2-lhTzFEh-gAQ756Sr0kZZJY5_zcFWPS7_p0EVNzuR8,
|
|
|
262
260
|
cartography/intel/gcp/iam.py,sha256=0aSVXeSuPLE5g0Ckl8mC0vM9d2dIi-W_8tcp1xLUhoE,7694
|
|
263
261
|
cartography/intel/gcp/storage.py,sha256=ARDDySshRza90Biw33z_oNxLGJqvxLYBDyuRJ270muc,9307
|
|
264
262
|
cartography/intel/github/__init__.py,sha256=_d2t6M41rAKPCLq6sQI3KxhG1Z9GbuC72z--2Q7MSTU,1937
|
|
265
|
-
cartography/intel/github/repos.py,sha256=
|
|
263
|
+
cartography/intel/github/repos.py,sha256=jFbFECG_nu8napA14AOd0ZA9_GGq40UpaXnxUtYp5Ig,43202
|
|
266
264
|
cartography/intel/github/teams.py,sha256=JICUXVScYbowtbOtIe-D4bibPmSBbQnL5z8IjzqSJ3s,14657
|
|
267
265
|
cartography/intel/github/users.py,sha256=meAkOpymGGdXXqZDCqv0hPIqCP4FHJvHkVug7L8jA10,9125
|
|
268
266
|
cartography/intel/github/util.py,sha256=00MihS14j95xjwEdoSHlC8BYXQYJzDHCMc43DkCH55o,8098
|
|
@@ -372,11 +370,12 @@ cartography/models/aws/emr.py,sha256=iZPzyqFrDsyRSRZqjCHlyDkO91H__6iszJq5hkNpOLU
|
|
|
372
370
|
cartography/models/aws/acm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
373
371
|
cartography/models/aws/acm/certificate.py,sha256=GvB7xKBCoPmLsV9LnqAUg8x8sGTsDDsr7WIaqh4Sc-M,3141
|
|
374
372
|
cartography/models/aws/cloudtrail/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
375
|
-
cartography/models/aws/cloudtrail/management_events.py,sha256=
|
|
376
|
-
cartography/models/aws/cloudtrail/trail.py,sha256=
|
|
373
|
+
cartography/models/aws/cloudtrail/management_events.py,sha256=b-p_SoZsumJggaD3CfmSHRfIfW1G_29uFwgFIJdW0lw,6634
|
|
374
|
+
cartography/models/aws/cloudtrail/trail.py,sha256=dQi5txRQBnpdoHLFSl8VaWVI2Bx5tPDevGCbT7RIr0o,4452
|
|
377
375
|
cartography/models/aws/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
378
376
|
cartography/models/aws/cloudwatch/log_metric_filter.py,sha256=hROU3pp_D_q21dAPTddm4lcAcCZaDV_UJ49QAZ6SCLc,3321
|
|
379
377
|
cartography/models/aws/cloudwatch/loggroup.py,sha256=_MRpRvU_Vg2rVlUdzfae6vOpbpmYaYE1EVN5zWucFbE,2456
|
|
378
|
+
cartography/models/aws/cloudwatch/metric_alarm.py,sha256=_I-ZZLYpIVKLWntMH9X53LNyfWgr302MAeP4oeSehAE,2332
|
|
380
379
|
cartography/models/aws/codebuild/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
381
380
|
cartography/models/aws/codebuild/project.py,sha256=r_DMCtHlbG9FGUk_I8j_E1inIbFcGAXtL6HxHrcgg0U,2122
|
|
382
381
|
cartography/models/aws/dynamodb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -403,11 +402,19 @@ cartography/models/aws/ec2/reservations.py,sha256=Lep6M-srupbAZZzCFmOpiwz22AafJL
|
|
|
403
402
|
cartography/models/aws/ec2/route_table_associations.py,sha256=Rs9uG976zZazcUIGL5oGpLkB72gLxWHFNCUqrvjMTvg,3974
|
|
404
403
|
cartography/models/aws/ec2/route_tables.py,sha256=R0gcwaOsLXRjpuvL9Pq-uGosetZysHPrQiqycYkJLB0,4852
|
|
405
404
|
cartography/models/aws/ec2/routes.py,sha256=T_PR1-pf_ZiE_w3zNaHaksXI5sIsaDwmH3sRctlP4uc,3725
|
|
405
|
+
cartography/models/aws/ec2/security_group_rules.py,sha256=79MULpVkdI0IzFIFdnxYHloLRg8L7n2paGodXndY0EU,4350
|
|
406
|
+
cartography/models/aws/ec2/security_groups.py,sha256=qFWC3Guj7NYgjWBtVulm0vYCXa-dWKlUAQK_cvSsbi0,3540
|
|
406
407
|
cartography/models/aws/ec2/securitygroup_instance.py,sha256=j-g1CQHYFTb0D0YsLP5QLy-lBJ0IUc3xTtaX8r9nzIY,2974
|
|
407
408
|
cartography/models/aws/ec2/securitygroup_networkinterface.py,sha256=2MBxYXxuq_L0COeC04SgFfwxeXw-pc4N4JAH9oZyWQE,2481
|
|
409
|
+
cartography/models/aws/ec2/snapshots.py,sha256=2J5bAwW6ZK2R7NW_zGGkQe64bxr2uBvQckBK0yjtGmM,2597
|
|
408
410
|
cartography/models/aws/ec2/subnet_instance.py,sha256=6bgrWbFcCjBIjqd_6lcKv6rWyll-Zx1aA5TK68DcIhg,2952
|
|
409
411
|
cartography/models/aws/ec2/subnet_networkinterface.py,sha256=B60S1YvEopVWNlRL5W-hMby3-P06uaNcC_8oOLoRGik,3872
|
|
410
|
-
cartography/models/aws/ec2/
|
|
412
|
+
cartography/models/aws/ec2/subnets.py,sha256=BtlFgf03IaD9XFesv5uzHBCm6xr71LT435m9t4MHkY8,2915
|
|
413
|
+
cartography/models/aws/ec2/volumes.py,sha256=spAi4QjoYjp5G-qNuFJdW4b-oZg7by5g5FEaqJv1mZo,5242
|
|
414
|
+
cartography/models/aws/ecr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
415
|
+
cartography/models/aws/ecr/image.py,sha256=8atk1Z13BgUOcAq3uIK-sJ9gDxwcmeCIk7x1PW9B4BE,1753
|
|
416
|
+
cartography/models/aws/ecr/repository.py,sha256=goItMJ3XnLSSk8FCMvgCpWCSsleTqdNzUT_Asvw8Yhk,2908
|
|
417
|
+
cartography/models/aws/ecr/repository_image.py,sha256=p_uV3rImyWMYl9DdLU7mpHI74xRuBd4cJvJI5wutBeM,3883
|
|
411
418
|
cartography/models/aws/ecs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
412
419
|
cartography/models/aws/ecs/clusters.py,sha256=uu-UzkSbpLu4UG5I6NsFMaThrPYl6jYe71EX8baMy1Q,2845
|
|
413
420
|
cartography/models/aws/ecs/container_definitions.py,sha256=ocJMyl6wfxbW3aPrR6xwzqP9VMpkanKA3ghqcM5BWL0,4169
|
|
@@ -422,6 +429,11 @@ cartography/models/aws/efs/file_system.py,sha256=6BNzjQJKZ-rYlDLw1UvDBhVRKre07-9
|
|
|
422
429
|
cartography/models/aws/efs/mount_target.py,sha256=Bdd2zgWp9HtsK9EmEAgoIYpT9AOTs5wzH3sgCq4HLMU,3347
|
|
423
430
|
cartography/models/aws/eks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
424
431
|
cartography/models/aws/eks/clusters.py,sha256=OthI554MrYNSl-p6ArMJsSH43xKPRDSnEmvJEmXwLeU,2327
|
|
432
|
+
cartography/models/aws/elasticache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
433
|
+
cartography/models/aws/elasticache/cluster.py,sha256=3tx3fL3FPSp4QX3pd42sV71t6kYRl-IfvU_56S7WmGo,3227
|
|
434
|
+
cartography/models/aws/elasticache/topic.py,sha256=Rq-Hj6xo9xouRLw2NRNU1cmmVUlOP0ieRA8fT5GlZ2w,2757
|
|
435
|
+
cartography/models/aws/guardduty/__init__.py,sha256=ILQhP6R9RLgXzPKdmPzuGqhOgAXeIReUEyqKS-ZXS3k,19
|
|
436
|
+
cartography/models/aws/guardduty/findings.py,sha256=LwUE1DbDyl9c3g5fUSZxsYKQ8U44wDS4Pps-QPMyr3Y,4184
|
|
425
437
|
cartography/models/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
426
438
|
cartography/models/aws/iam/instanceprofile.py,sha256=tlIkiCPX_9B9XPNAR0LcJAec8AbJq4dxgN8dgvEPXLs,2942
|
|
427
439
|
cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -435,6 +447,7 @@ cartography/models/aws/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
435
447
|
cartography/models/aws/s3/account_public_access_block.py,sha256=L6AS0OncfSOWHP4pOXshnJFDPwnWqywzUIeUppJcw-Q,2256
|
|
436
448
|
cartography/models/aws/s3/notification.py,sha256=SF1VvCP_2WVh8K29d4ms8MUcg9AyO_MN8vCgzLFlGAs,1017
|
|
437
449
|
cartography/models/aws/secretsmanager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
450
|
+
cartography/models/aws/secretsmanager/secret.py,sha256=q1uSqqL6wCvSJuCooORqHg6uMXiWxiGZYhDzYtF54wo,3928
|
|
438
451
|
cartography/models/aws/secretsmanager/secret_version.py,sha256=Ah4b9BjgL24MhmxRV-HarvmNs_uCRNVMkxgvzIEp9uk,4167
|
|
439
452
|
cartography/models/aws/sns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
440
453
|
cartography/models/aws/sns/topic.py,sha256=_Lcu7_c_UCUcPKEo5-kCdX3fAOkar_YKZbLmonX3BR8,2349
|
|
@@ -484,6 +497,8 @@ cartography/models/entra/tenant.py,sha256=abpNTvOtXHgdrU-y7q6jt--odcq1eRsT2j5nMd
|
|
|
484
497
|
cartography/models/entra/user.py,sha256=uVMOYhVMwnR1dqokhAzk1IlHpmKwGpz0H5osS_9ENBE,3144
|
|
485
498
|
cartography/models/gcp/iam.py,sha256=k6egP-DHvMX18QcLuwklxqLZXd4YPMhAs5-qWWloqJ4,3071
|
|
486
499
|
cartography/models/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
500
|
+
cartography/models/github/dependencies.py,sha256=QHUgWSLTkSdhTxcgx5ct-yD2-Il7plg3N-fcZGZpKM4,3143
|
|
501
|
+
cartography/models/github/manifests.py,sha256=1trwgECCjvZKS63z2k8mB55Fa8d2l-uU7HSgfL95iwA,2078
|
|
487
502
|
cartography/models/github/orgs.py,sha256=cEG7yX56VzzI3OkQFjUum2LdrXCLWl4ExvNqSZ7Bmiw,1107
|
|
488
503
|
cartography/models/github/teams.py,sha256=CZ1zENzWthFyK_zUculhgNFTbAgHx0ELv-omIB7EPTw,6117
|
|
489
504
|
cartography/models/github/users.py,sha256=ltCiOCuK6luBXVV47LSoaPgAPdZyYMUz2nJXjLDsS7k,6050
|
|
@@ -546,9 +561,9 @@ cartography/models/trivy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
546
561
|
cartography/models/trivy/findings.py,sha256=SgI_h1aRyR20uAHvuXIZ1T6r4IZJt6SVhxRaF2bTsm0,3085
|
|
547
562
|
cartography/models/trivy/fix.py,sha256=ho9ENVl9HSXqyggyCwR6ilkOBKDxpQ7rGibo_j21NA4,2587
|
|
548
563
|
cartography/models/trivy/package.py,sha256=IwO1RZZ-MFRtNbt8Cq6YFl6fdNJMFmULnJkkK8Q4rL4,2809
|
|
549
|
-
cartography-0.
|
|
550
|
-
cartography-0.
|
|
551
|
-
cartography-0.
|
|
552
|
-
cartography-0.
|
|
553
|
-
cartography-0.
|
|
554
|
-
cartography-0.
|
|
564
|
+
cartography-0.108.0.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
|
|
565
|
+
cartography-0.108.0.dist-info/METADATA,sha256=XrhUQQMYx-l67_PfUFPUZwlq3KQlpdZQ6gqBY5kc7_4,12911
|
|
566
|
+
cartography-0.108.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
567
|
+
cartography-0.108.0.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
|
|
568
|
+
cartography-0.108.0.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
|
|
569
|
+
cartography-0.108.0.dist-info/RECORD,,
|