cartography 0.96.0rc1__py3-none-any.whl → 0.96.0rc3__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.

Files changed (29) hide show
  1. cartography/cli.py +15 -0
  2. cartography/client/core/tx.py +1 -1
  3. cartography/config.py +6 -2
  4. cartography/data/indexes.cypher +1 -2
  5. cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json +16 -0
  6. cartography/data/jobs/cleanup/{github_users_cleanup.json → github_org_and_users_cleanup.json} +5 -0
  7. cartography/intel/aws/apigateway.py +3 -3
  8. cartography/intel/aws/identitycenter.py +307 -0
  9. cartography/intel/aws/resources.py +2 -0
  10. cartography/intel/cve/__init__.py +1 -1
  11. cartography/intel/cve/feed.py +4 -4
  12. cartography/intel/github/users.py +156 -39
  13. cartography/intel/okta/users.py +2 -1
  14. cartography/intel/semgrep/__init__.py +1 -1
  15. cartography/intel/semgrep/dependencies.py +54 -22
  16. cartography/models/aws/identitycenter/__init__.py +0 -0
  17. cartography/models/aws/identitycenter/awsidentitycenter.py +44 -0
  18. cartography/models/aws/identitycenter/awspermissionset.py +84 -0
  19. cartography/models/aws/identitycenter/awsssouser.py +68 -0
  20. cartography/models/github/orgs.py +26 -0
  21. cartography/models/github/users.py +119 -0
  22. cartography/models/semgrep/dependencies.py +13 -0
  23. cartography-0.96.0rc3.dist-info/METADATA +53 -0
  24. {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/RECORD +28 -20
  25. {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/WHEEL +1 -1
  26. cartography-0.96.0rc1.dist-info/METADATA +0 -53
  27. {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/LICENSE +0 -0
  28. {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/entry_points.txt +0 -0
  29. {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,119 @@
1
+ """
2
+ RE: Tenant relationship between GitHubUser and GitHubOrganization
3
+
4
+ Note this relationship is implemented via 'other_relationships' and not via the 'sub_resource_relationship'
5
+ as might be expected.
6
+
7
+ The 'sub_resource_relationship' typically describes the relationship of a node to its tenant (the org, project, or
8
+ other resource to which other nodes belong). An assumption of that relationship is that if the tenant goes
9
+ away, all nodes related to it should be cleaned up.
10
+
11
+ In GitHub, though the GitHubUser's tenant seems to be GitHubOrganization, users actually exist independently. There
12
+ is a concept of 'UNAFFILIATED' users (https://docs.github.com/en/graphql/reference/enums#roleinorganization) like
13
+ Enterprise Owners who are related to an org even if they are not direct members of it. You would not want them to be
14
+ cleaned up, if an org goes away, and you could want them in your graph even if they are not members of any org in
15
+ the enterprise.
16
+
17
+ To allow for this in the schema, this relationship is treated as any other node-to-node relationship, via
18
+ 'other_relationships', instead of as the typical 'sub_resource_relationship'.
19
+
20
+ RE: GitHubOrganizationUserSchema vs GitHubUnaffiliatedUserSchema
21
+
22
+ As noted above, there are implicitly two types of users, those that are part of, or affiliated, to a target
23
+ GitHubOrganization, and those thare are not part, or unaffiliated. Both are represented as GitHubUser nodes,
24
+ but there are two schemas below to allow for some differences between them, e.g., unaffiliated lack these properties:
25
+ * the 'role' property, because unaffiliated have no 'role' in the target org
26
+ * the 'has_2fa_enabled' property, because the GitHub api does not return it, for these users
27
+ The main importance of having two schemas is to allow the two sets of users to be loaded separately. If we are loading
28
+ an unaffiliated user, but the user already exists in the graph (perhaps they are members of another GitHub orgs for
29
+ example), then loading the unaffiliated user will not blank out the 'role' and 'has_2fa_enabled' properties.
30
+ """
31
+ from dataclasses import dataclass
32
+
33
+ from cartography.models.core.common import PropertyRef
34
+ from cartography.models.core.nodes import CartographyNodeProperties
35
+ from cartography.models.core.nodes import CartographyNodeSchema
36
+ from cartography.models.core.relationships import CartographyRelProperties
37
+ from cartography.models.core.relationships import CartographyRelSchema
38
+ from cartography.models.core.relationships import LinkDirection
39
+ from cartography.models.core.relationships import make_target_node_matcher
40
+ from cartography.models.core.relationships import OtherRelationships
41
+ from cartography.models.core.relationships import TargetNodeMatcher
42
+
43
+
44
+ @dataclass(frozen=True)
45
+ class BaseGitHubUserNodeProperties(CartographyNodeProperties):
46
+ # core properties in all GitHubUser nodes
47
+ id: PropertyRef = PropertyRef('url')
48
+ lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
49
+ fullname: PropertyRef = PropertyRef('name')
50
+ username: PropertyRef = PropertyRef('login', extra_index=True)
51
+ is_site_admin: PropertyRef = PropertyRef('isSiteAdmin')
52
+ is_enterprise_owner: PropertyRef = PropertyRef('isEnterpriseOwner')
53
+ email: PropertyRef = PropertyRef('email')
54
+ company: PropertyRef = PropertyRef('company')
55
+
56
+
57
+ @dataclass(frozen=True)
58
+ class GitHubOrganizationUserNodeProperties(BaseGitHubUserNodeProperties):
59
+ # specified for affiliated users only. The GitHub api does not return this property for unaffiliated users.
60
+ has_2fa_enabled: PropertyRef = PropertyRef('hasTwoFactorEnabled')
61
+ # specified for affiliated uers only. Unaffiliated users do not have a 'role' in the target organization.
62
+ role: PropertyRef = PropertyRef('role')
63
+
64
+
65
+ @dataclass(frozen=True)
66
+ class GitHubUnaffiliatedUserNodeProperties(BaseGitHubUserNodeProperties):
67
+ # No additional properties needed
68
+ pass
69
+
70
+
71
+ @dataclass(frozen=True)
72
+ class GitHubUserToOrganizationRelProperties(CartographyRelProperties):
73
+ lastupdated: PropertyRef = PropertyRef('lastupdated', set_in_kwargs=True)
74
+
75
+
76
+ @dataclass(frozen=True)
77
+ class GitHubUserMemberOfOrganizationRel(CartographyRelSchema):
78
+ target_node_label: str = 'GitHubOrganization'
79
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
80
+ {'id': PropertyRef('MEMBER_OF')},
81
+ )
82
+ direction: LinkDirection = LinkDirection.OUTWARD
83
+ rel_label: str = "MEMBER_OF"
84
+ properties: GitHubUserToOrganizationRelProperties = GitHubUserToOrganizationRelProperties()
85
+
86
+
87
+ @dataclass(frozen=True)
88
+ class GitHubUserUnaffiliatedOrganizationRel(CartographyRelSchema):
89
+ target_node_label: str = 'GitHubOrganization'
90
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
91
+ {'id': PropertyRef('UNAFFILIATED')},
92
+ )
93
+ direction: LinkDirection = LinkDirection.OUTWARD
94
+ rel_label: str = "UNAFFILIATED"
95
+ properties: GitHubUserToOrganizationRelProperties = GitHubUserToOrganizationRelProperties()
96
+
97
+
98
+ @dataclass(frozen=True)
99
+ class GitHubOrganizationUserSchema(CartographyNodeSchema):
100
+ label: str = 'GitHubUser'
101
+ properties: GitHubOrganizationUserNodeProperties = GitHubOrganizationUserNodeProperties()
102
+ other_relationships: OtherRelationships = OtherRelationships(
103
+ [
104
+ GitHubUserMemberOfOrganizationRel(),
105
+ ],
106
+ )
107
+ sub_resource_relationship = None
108
+
109
+
110
+ @dataclass(frozen=True)
111
+ class GitHubUnaffiliatedUserSchema(CartographyNodeSchema):
112
+ label: str = 'GitHubUser'
113
+ properties: GitHubUnaffiliatedUserNodeProperties = GitHubUnaffiliatedUserNodeProperties()
114
+ other_relationships: OtherRelationships = OtherRelationships(
115
+ [
116
+ GitHubUserUnaffiliatedOrganizationRel(),
117
+ ],
118
+ )
119
+ sub_resource_relationship = None
@@ -75,3 +75,16 @@ class SemgrepGoLibrarySchema(CartographyNodeSchema):
75
75
  SemgrepDependencyToGithubRepoRel(),
76
76
  ],
77
77
  )
78
+
79
+
80
+ @dataclass(frozen=True)
81
+ class SemgrepNpmLibrarySchema(CartographyNodeSchema):
82
+ label: str = 'NpmLibrary'
83
+ extra_node_labels: Optional[ExtraNodeLabels] = ExtraNodeLabels(['Dependency', 'SemgrepDependency'])
84
+ properties: SemgrepDependencyNodeProperties = SemgrepDependencyNodeProperties()
85
+ sub_resource_relationship: SemgrepDependencyToSemgrepDeploymentSchema = SemgrepDependencyToSemgrepDeploymentSchema()
86
+ other_relationships: OtherRelationships = OtherRelationships(
87
+ [
88
+ SemgrepDependencyToGithubRepoRel(),
89
+ ],
90
+ )
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.1
2
+ Name: cartography
3
+ Version: 0.96.0rc3
4
+ Summary: Explore assets and their relationships across your technical infrastructure.
5
+ Home-page: https://www.github.com/cartography-cncf/cartography
6
+ Maintainer: Cartography Contributors
7
+ License: apache2
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Natural Language :: English
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Topic :: Security
16
+ Classifier: Topic :: Software Development :: Libraries
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: backoff>=2.1.2
21
+ Requires-Dist: boto3>=1.15.1
22
+ Requires-Dist: botocore>=1.18.1
23
+ Requires-Dist: dnspython>=1.15.0
24
+ Requires-Dist: neo4j<5.0.0,>=4.4.4
25
+ Requires-Dist: policyuniverse>=1.1.0.0
26
+ Requires-Dist: google-api-python-client>=1.7.8
27
+ Requires-Dist: oauth2client>=4.1.3
28
+ Requires-Dist: marshmallow>=3.0.0rc7
29
+ Requires-Dist: oci>=2.71.0
30
+ Requires-Dist: okta<1.0.0
31
+ Requires-Dist: pyyaml>=5.3.1
32
+ Requires-Dist: requests>=2.22.0
33
+ Requires-Dist: statsd
34
+ Requires-Dist: packaging
35
+ Requires-Dist: python-digitalocean>=1.16.0
36
+ Requires-Dist: adal>=1.2.4
37
+ Requires-Dist: azure-cli-core>=2.26.0
38
+ Requires-Dist: azure-mgmt-compute>=5.0.0
39
+ Requires-Dist: azure-mgmt-resource>=10.2.0
40
+ Requires-Dist: azure-mgmt-cosmosdb>=6.0.0
41
+ Requires-Dist: msrestazure>=0.6.4
42
+ Requires-Dist: azure-mgmt-storage>=16.0.0
43
+ Requires-Dist: azure-mgmt-sql<=1.0.0
44
+ Requires-Dist: azure-identity>=1.5.0
45
+ Requires-Dist: kubernetes>=22.6.0
46
+ Requires-Dist: pdpyras>=4.3.0
47
+ Requires-Dist: crowdstrike-falconpy>=0.5.1
48
+ Requires-Dist: python-dateutil
49
+ Requires-Dist: xmltodict
50
+ Requires-Dist: duo-client
51
+ Requires-Dist: importlib-resources; python_version < "3.7"
52
+
53
+ file: README.md
@@ -1,7 +1,7 @@
1
1
  cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cartography/__main__.py,sha256=JftXT_nUPkqcEh8uxCCT4n-OyHYqbldEgrDS-4ygy0U,101
3
- cartography/cli.py,sha256=tfIPOMh3DtQG7Dgmg9rNNqoTcxgocBu45k88CAM09Nk,32368
4
- cartography/config.py,sha256=QbFqwUb6P8-wdkf4ljE5HJhduXl_3Gt2xzBQRayq0sg,11566
3
+ cartography/cli.py,sha256=LPjeOkx-cKhRkuhqMicB-0X3SHOjLXxEeGqsp2FtpC0,33285
4
+ cartography/config.py,sha256=ZcadsKmooAkti9Kv0eDl8Ec1PcZDu3lWobtNaCnwY3k,11872
5
5
  cartography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  cartography/stats.py,sha256=dbybb9V2FuvSuHjjNwz6Vjwnd1hap2C7h960rLoKcl8,4406
7
7
  cartography/sync.py,sha256=ziD63T_774gXSuD5zdz6fLGvv1Kt2ntQySSVbmcCZb8,9708
@@ -10,9 +10,9 @@ cartography/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
10
10
  cartography/client/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cartography/client/aws/iam.py,sha256=dYsGikc36DEsSeR2XVOVFFUDwuU9yWj_EVkpgVYCFgM,1293
12
12
  cartography/client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- cartography/client/core/tx.py,sha256=4_kTBxrtlwsOM-e8Xtjf7wmmzwZ-DGRJL0rPFp0Xj0Q,10805
13
+ cartography/client/core/tx.py,sha256=FcUPfmNIKSXkN5UK3nL5-GFoGkPYXmAxIWP7knvrHWg,10794
14
14
  cartography/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- cartography/data/indexes.cypher,sha256=Ha8VemktSz8ikIS4On-8FTiv2-WwRx5j3l02gQnSWXk,27262
15
+ cartography/data/indexes.cypher,sha256=zMEzytgcvMLgclMmCkFUdWp4t_EFsOEOp1M2v1vGctM,27208
16
16
  cartography/data/permission_relationships.yaml,sha256=RuKGGc_3ZUQ7ag0MssB8k_zaonCkVM5E8I_svBWTmGc,969
17
17
  cartography/data/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  cartography/data/jobs/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -45,6 +45,7 @@ cartography/data/jobs/cleanup/aws_import_es_cleanup.json,sha256=VqRqiMcT0Ag0Qif2
45
45
  cartography/data/jobs/cleanup/aws_import_groups_cleanup.json,sha256=QSdWIpC_Ru4TFBm9I5mpI-ZHyusbzCzCePWN-yn8TQU,463
46
46
  cartography/data/jobs/cleanup/aws_import_groups_membership_cleanup.json,sha256=OSeasbv01pn47J1ib3yal_dAzbEOCZVJnldMqK0SAOQ,292
47
47
  cartography/data/jobs/cleanup/aws_import_groups_policy_cleanup.json,sha256=U_yKHAsjHoI9fiiTqGyhlMazgeZumlZwMO70CpJpuAM,309
48
+ cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json,sha256=PSyerOlZkiLaWYFa3Hg1mqqX83FGwj36-p0BF1lR-Q8,650
48
49
  cartography/data/jobs/cleanup/aws_import_internet_gateways_cleanup.json,sha256=SHHrR9pX0V1r-RxwJggHGeFA7JVQAAK02D-n-vqOvdU,287
49
50
  cartography/data/jobs/cleanup/aws_import_kms_cleanup.json,sha256=NU9doXVk4UmAY59aYnld95Wc1b8DrfCbvJltUsATxko,1441
50
51
  cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json,sha256=ntjEpy_WyLxD66Dxydi9GliBVK0DVZWza6908KYeoyA,2268
@@ -101,8 +102,8 @@ cartography/data/jobs/cleanup/gcp_crm_project_cleanup.json,sha256=JImcuuz9HI2TL0
101
102
  cartography/data/jobs/cleanup/gcp_dns_cleanup.json,sha256=NGs5UYFmm65Rq8gyqbzIe8_OnFchfpNFf9iAcIj_hyY,1286
102
103
  cartography/data/jobs/cleanup/gcp_gke_cluster_cleanup.json,sha256=3bMEJ44AEvjkj_1ibclk6Ys5r1LniUWefpZ_U5hTwHI,671
103
104
  cartography/data/jobs/cleanup/gcp_storage_bucket_cleanup.json,sha256=sGygB_meoCpGdGgEZtIlC4L-19meAXdfP99gkNJHD7o,1288
105
+ cartography/data/jobs/cleanup/github_org_and_users_cleanup.json,sha256=vjaOlWdnjaCHmvmaWadOzHXqFnjpR1wW8cykb_M54fM,1010
104
106
  cartography/data/jobs/cleanup/github_repos_cleanup.json,sha256=tFXDcsWyCrr5C4Hzl157sv8GjF3aj9dsKKs94bhcEYA,2628
105
- cartography/data/jobs/cleanup/github_users_cleanup.json,sha256=wxqbOkOShVA3mYUdZwc8UuS4gH5Al8bc7rij6R0cyDQ,806
106
107
  cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json,sha256=ddXAUi6aVi2htf5R1bNn6YrC3SjshjLBgWtlzBgZ9Do,961
107
108
  cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json,sha256=0qMLbVSTyq5F9vt4-TvVa3YAAvZCpPtzF9EwblaTxWg,353
108
109
  cartography/data/jobs/cleanup/jamf_import_computers_cleanup.json,sha256=sEF6VSkOcFO210y3VHFO45PDYi5ZePS6xRm3GL9lW7A,248
@@ -142,7 +143,7 @@ cartography/intel/analysis.py,sha256=gHtN42NqqLL1G5MOm2Q6rMyg-V5lU_wqbnKp5hbOOao
142
143
  cartography/intel/create_indexes.py,sha256=HM2jB2v3NZvGqgVDtNoBQRVpkei_JXcYXqM14w8Rjss,741
143
144
  cartography/intel/dns.py,sha256=M-WSiGQoxWZsl0sg-2SDR8OD8e1Rexkt2Tbb2OpeioA,5596
144
145
  cartography/intel/aws/__init__.py,sha256=siRhVNypfGxMPNIXHSjfYbLX9qlB6RYyN6aWX64N-t8,11076
145
- cartography/intel/aws/apigateway.py,sha256=se0plc9ZnkGQAEtlfqgrJGTa2JeWljvwC3E3JFM7YbI,12764
146
+ cartography/intel/aws/apigateway.py,sha256=aTUVjpAksfLJwq_ttye8NWt5LMkCV8vKyXbPW4gN7-U,12736
146
147
  cartography/intel/aws/config.py,sha256=wrZbz7bc8vImLmRvTLkPcWnjjPzk3tOG4bB_BFS2lq8,7329
147
148
  cartography/intel/aws/dynamodb.py,sha256=LZ6LGNThLi0zC3eLMq2JN3mwiSwZeaH58YQQHvsXMGE,5013
148
149
  cartography/intel/aws/ecr.py,sha256=9yK8bXnXBJHW_AOalATjqfC4GTpR9pilpDScla4EFuY,6624
@@ -152,6 +153,7 @@ cartography/intel/aws/elasticache.py,sha256=fCI47aDFmIDyE26GiReKYb6XIZUwrzcvsXBQ
152
153
  cartography/intel/aws/elasticsearch.py,sha256=ZL7MkXF_bXRSoXuDSI1dwGckRLG2zDB8LuAD07vSLnE,8374
153
154
  cartography/intel/aws/emr.py,sha256=xhWBVZngxJRFjMEDxwq3G6SgytRGLq0v2a_CeDvByR0,3372
154
155
  cartography/intel/aws/iam.py,sha256=eLw0NkBGKzCI_tQ3wmrx3aUibQerrsxKJd3d0RCKcKQ,32374
156
+ cartography/intel/aws/identitycenter.py,sha256=zIWe_JpXPC-kkWu26aFjYtGsClNG_GaQ3bdCeiRkApc,9475
155
157
  cartography/intel/aws/inspector.py,sha256=S22ZgRKEnmnBTJ-u0rodqRPB7_LkSIek47NeBxN4XJw,9336
156
158
  cartography/intel/aws/kms.py,sha256=bZUzMxAH_DsAcGTJBs08gg2tLKYu-QWjvMvV9C-6v50,11731
157
159
  cartography/intel/aws/lambda_function.py,sha256=KKTyn53xpaMI9WvIqxmsOASFwflHt-2_5ow-zUFc2wg,9890
@@ -160,7 +162,7 @@ cartography/intel/aws/permission_relationships.py,sha256=IarV9gt5BaplZ5TPo_mfypt
160
162
  cartography/intel/aws/rds.py,sha256=vnlNYmrO2Cc0PNn31CeG2QwYhwjVosbQFE9Ol1vQyLE,25252
161
163
  cartography/intel/aws/redshift.py,sha256=KOqiXIllHmtPTeaNGl-cX4srY5pFE6o12j8MQ5-zWpc,6694
162
164
  cartography/intel/aws/resourcegroupstaggingapi.py,sha256=aq4kPF6t8QZZoTxdkQVLXH65Di41CDJVM9llJNe6iaY,10278
163
- cartography/intel/aws/resources.py,sha256=W-Psy1bjszIZ4dpsm_JPIMEeNzgWJSBu71hju3OUh8c,3272
165
+ cartography/intel/aws/resources.py,sha256=A8Dc3PtCfDyk5a1ZgAoHthhDPS6aWN_kR0PLwnHdC0Q,3370
164
166
  cartography/intel/aws/route53.py,sha256=IYqeQud1HuHnf11A7T-Jeif5DWgjpaaU-Jfr2cLUc_o,14099
165
167
  cartography/intel/aws/s3.py,sha256=SVxUMtMSkbdjZv5qOSYIbYb8BQa-QTojbHG85-EFWLA,27034
166
168
  cartography/intel/aws/secretsmanager.py,sha256=YogwRPT6qZPVg5HrND71zI-nNn60oxoWaW7eUlhuTS0,3304
@@ -206,8 +208,8 @@ cartography/intel/crowdstrike/__init__.py,sha256=dAtgI-0vZAQZ3cTFQhMEzzt7aqiNSNu
206
208
  cartography/intel/crowdstrike/endpoints.py,sha256=tdqokMDW3p4fK3dHKKb2T1DTogvOJBCpwyrxdQlbUhw,3815
207
209
  cartography/intel/crowdstrike/spotlight.py,sha256=yNhj44-RYF6ubck-hHMKhKiNU0fCfhQf4Oagopc31EM,4754
208
210
  cartography/intel/crowdstrike/util.py,sha256=gfJ6Ptr6YdbBS9Qj9a_-Jc-IJroADDRcXqjh5TW0qXE,277
209
- cartography/intel/cve/__init__.py,sha256=A7XjKQSanmwMSIXSum1qJSegtYcQCuz_713RU-bFQz8,2504
210
- cartography/intel/cve/feed.py,sha256=JkfRV18JoydOuncKR1y3s8esuN2Xk4gIB6viKNXU_X0,10020
211
+ cartography/intel/cve/__init__.py,sha256=3PLAhQ36g-aq40IHvba789WANsA-TY9B-Oe9mpQweQ8,2516
212
+ cartography/intel/cve/feed.py,sha256=771Q_vR_VCpE-Fm1K2b-yWtuFtSUgCq_GhnN_bqRVsg,10048
211
213
  cartography/intel/digitalocean/__init__.py,sha256=SMYB7LGIQOj_EgGSGVjWZk7SJNbP43hQuOfgOu6xYm4,1526
212
214
  cartography/intel/digitalocean/compute.py,sha256=9XctwMjq9h5dExFgExvawoqyiEwSoocNgaMm3Fgl5GM,4911
213
215
  cartography/intel/digitalocean/management.py,sha256=YWRnBLLL_bAP1vefIAQgm_-QzefGH0sZKmyU_EokHfA,3764
@@ -229,7 +231,7 @@ cartography/intel/gcp/storage.py,sha256=oO_ayEhkXlj2Gn7T5MU41ZXiqwRwe6Ud4wzqyRTs
229
231
  cartography/intel/github/__init__.py,sha256=y876JJGTDJZEOFCDiNCJfcLNxN24pVj4s2N0YmuuoaE,1914
230
232
  cartography/intel/github/repos.py,sha256=YPDdBMk6NkZjwPcqPW5LlCy_OS9tKcrZD6ygiUG93J0,21766
231
233
  cartography/intel/github/teams.py,sha256=aXI-XbxlA1IDaAUX0XSdEt6pA2n4ew5j_doj1iNYCDM,6618
232
- cartography/intel/github/users.py,sha256=kQp0dxzP08DVrdvfVeCciQbrKPbbFvwbR_p_I_XGt7s,3826
234
+ cartography/intel/github/users.py,sha256=zkMLVNfEMZIYYtPfqTsMXs2BNFzK8SfFRO7qnnlHy_s,8399
233
235
  cartography/intel/github/util.py,sha256=K6hbxypy4luKhIE1Uh5VWZc9OyjMK2OuO00vBAQfloA,8049
234
236
  cartography/intel/gsuite/__init__.py,sha256=AGIUskGlLCVGHbnQicNpNWi9AvmV7_7hUKTt-hsB2J8,4306
235
237
  cartography/intel/gsuite/api.py,sha256=J0dkNdfBVMrEv8vvStQu7YKVxXSyV45WueFhUS4aOG4,10310
@@ -259,7 +261,7 @@ cartography/intel/okta/organization.py,sha256=YLQc7ETdtf8Vc-CRCYivV_xmVl2Oz0Px53
259
261
  cartography/intel/okta/origins.py,sha256=LNswsOXx8oBk9tL6Qc_3EuqXpa9qgD6fWEWrbsP-_fE,3730
260
262
  cartography/intel/okta/roles.py,sha256=_H3o8RveEBt5Mx_nHle81pYEB3NrGq2R2UGL_ChArFs,5840
261
263
  cartography/intel/okta/sync_state.py,sha256=GYtAJlbEObiZKPihcIzVzB6APdI_TwUYzhycsDJ8cDE,702
262
- cartography/intel/okta/users.py,sha256=VODob-izytSZDxSW-YDb7vaBLcu4cXkD6hTGcS26DeE,6395
264
+ cartography/intel/okta/users.py,sha256=rkOvLaZkBOV2QrgsCa-O0p2Iq7AfguUO078w7XB8CMM,6422
263
265
  cartography/intel/okta/utils.py,sha256=XSXw8QiaaXwL_PfOlbpvjgPfy2Etmt_PkS7T6ruTFmc,2165
264
266
  cartography/intel/pagerduty/__init__.py,sha256=kXYtgUFLl4eldveyBoxNiebcfOOktTVvLf6rVkriNuA,2164
265
267
  cartography/intel/pagerduty/escalation_policies.py,sha256=5Fnm0WLF9TP1GH0BJ2sZlO6U9tH1KdhCvoMxGtL_318,6455
@@ -268,8 +270,8 @@ cartography/intel/pagerduty/services.py,sha256=Cjm37mWmuBNXSY49-xUQ3xV0DZ391GTLv
268
270
  cartography/intel/pagerduty/teams.py,sha256=aRubUXgEVVReyLrXAX_be1E_QBJv3Qlr4n779Jkkz8Q,2498
269
271
  cartography/intel/pagerduty/users.py,sha256=oltGssxrnzYsV6QTGP1SsPoA1rCUDStj6vGlGWY695g,1623
270
272
  cartography/intel/pagerduty/vendors.py,sha256=WlDHExrWRBegDQKtxBV5nJiYgwoTLxNee4HrQDJ-Pdg,1559
271
- cartography/intel/semgrep/__init__.py,sha256=XhfixZPJXBIA9SRQDxe2wY26KW447lTPR0Q_DV7aFTU,1150
272
- cartography/intel/semgrep/dependencies.py,sha256=2Uq86WLDlfO-lNPot__z0TXPbe_cXC_5HFLyYqfbVKU,6742
273
+ cartography/intel/semgrep/__init__.py,sha256=dNosNlFJtIJI-XZMF_5qV2nZ-barQNEZaIkEL-JFTyk,1202
274
+ cartography/intel/semgrep/dependencies.py,sha256=PeEeroI38BUH-TefJeimzxNP5y429y6i-jJj3M2s9N4,8163
273
275
  cartography/intel/semgrep/deployment.py,sha256=sh-yJHtdgZjxIJimNnA-DxsM-MYgMhQ_WX2E7w4PWiM,2012
274
276
  cartography/intel/semgrep/findings.py,sha256=GDqZmfl9-HiZ93u0jhlkZ1w_qzrD1cFFFJtVc7DFdPk,9761
275
277
  cartography/intel/snipeit/__init__.py,sha256=0uIh8NbuI7IbfgaOrPHg4Nfm1yO6mTRC_qaFiIjR2FA,992
@@ -302,6 +304,10 @@ cartography/models/aws/ec2/subnet_networkinterface.py,sha256=JHlxfBojBw7LfJS4a5L
302
304
  cartography/models/aws/ec2/volumes.py,sha256=WSP7YNZeJE3s4wnY9QrIAbcJN3OathqNgEBX0cVahDg,4470
303
305
  cartography/models/aws/eks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
304
306
  cartography/models/aws/eks/clusters.py,sha256=WeuC1wcjB_twsvgS0EMvU2wENhD-pm4t6N3HZ19x3vk,2293
307
+ cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
308
+ cartography/models/aws/identitycenter/awsidentitycenter.py,sha256=lmpo-qqmMN6BMGEkBQyxmb0Nfal0qI1HetqmRmOWkSU,1988
309
+ cartography/models/aws/identitycenter/awspermissionset.py,sha256=30BBY-XG3-rJMihKKTdUVobkdqQYWWGsFD83uTVJqkI,3539
310
+ cartography/models/aws/identitycenter/awsssouser.py,sha256=HSXSHDVM36eIlYfRAwZ8KT470v_s1hC0_lrzZxCbYjw,2837
305
311
  cartography/models/aws/inspector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
306
312
  cartography/models/aws/inspector/findings.py,sha256=_o5dsHCl6LNZrwSjEWBHiawMxgMMwlVOGoYQl8cHKJQ,5585
307
313
  cartography/models/aws/inspector/packages.py,sha256=dtY5JsVb6Ri78Lqigb2nHNq0Qc926U_m90SmbvZEDGc,3267
@@ -327,7 +333,9 @@ cartography/models/duo/token.py,sha256=BS_AvF-TAGzCY9Owtqxr8g_s6716dnzFOO1Iwkckm
327
333
  cartography/models/duo/user.py,sha256=ih3DH_QveAve4cX9dmIwC5gVN6_RNnuLK3bfJ5I9u6g,6554
328
334
  cartography/models/duo/web_authn_credential.py,sha256=OcZnfG5zCMlphxSltRcAXQ12hHYJjxrBt6A9L28g7Vk,2920
329
335
  cartography/models/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
+ cartography/models/github/orgs.py,sha256=f5kJ-51MDGW5k4sWMeTfyBDxcHdhFJZGkRUvGcjllBU,1097
330
337
  cartography/models/github/teams.py,sha256=mk3OFGTDqWkLz7aX7Q9AtpOMOkZDDGH0MWoVeevK2-k,4376
338
+ cartography/models/github/users.py,sha256=XliVsBKWF7wW7Dwjwdoz9E2gk1cASyfQgAddKYr23VY,5739
331
339
  cartography/models/kandji/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
340
  cartography/models/kandji/device.py,sha256=C3zPhLi1oPNysbSUr4H2u8b-Xy14sb3FE7YcjCwlntw,2214
333
341
  cartography/models/kandji/tenant.py,sha256=KhcbahNBemny3coQPiadIY8B-yDMg_ejYB2BR6vqBfw,674
@@ -335,7 +343,7 @@ cartography/models/lastpass/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
335
343
  cartography/models/lastpass/tenant.py,sha256=TG-9LFo9Sfzb9UgcTt_gFVTKocLItbgQMMPkN_iprXU,618
336
344
  cartography/models/lastpass/user.py,sha256=SMTTYN6jgccc9k76hY3rVImElJOhHhZ9f1aZ6JzcrHw,3487
337
345
  cartography/models/semgrep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
- cartography/models/semgrep/dependencies.py,sha256=QcvlqKKvX1bi4iqcM0ioYb1ZfGfisJ9E2o2CMnEf2CE,3399
346
+ cartography/models/semgrep/dependencies.py,sha256=zO8NxfFIvL6vzFWaIDAXqPF7VfUwLMj5YizqA0IS-eA,3959
339
347
  cartography/models/semgrep/deployment.py,sha256=or5qZDuR51MXzINpH15jZrqmSUvXQevCNYWJ7D6v-JI,745
340
348
  cartography/models/semgrep/findings.py,sha256=RPd-QzvP38fbTIqFARx6XpcZSsd5JM3KIg-ZlJA7NlE,5490
341
349
  cartography/models/semgrep/locations.py,sha256=kSk7Nn5Mn4Ob84MVZOo2GR0YFi-9Okq9pgA3FfC6_bk,3061
@@ -343,9 +351,9 @@ cartography/models/snipeit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
343
351
  cartography/models/snipeit/asset.py,sha256=FyRAaeXuZjMy0eUQcSDFcgEAF5lbLMlvqp1Tv9d3Lv4,3238
344
352
  cartography/models/snipeit/tenant.py,sha256=p4rFnpNNuF1W5ilGBbexDaETWTwavfb38RcQGoImkQI,679
345
353
  cartography/models/snipeit/user.py,sha256=MsB4MiCVNTH6JpESime7cOkB89autZOXQpL6Z0l7L6o,2113
346
- cartography-0.96.0rc1.dist-info/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
347
- cartography-0.96.0rc1.dist-info/METADATA,sha256=XD5vv3n7YJIVKQjrySebeVAG-xABJUaaner8ELB2NG0,1966
348
- cartography-0.96.0rc1.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
349
- cartography-0.96.0rc1.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
350
- cartography-0.96.0rc1.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
351
- cartography-0.96.0rc1.dist-info/RECORD,,
354
+ cartography-0.96.0rc3.dist-info/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
355
+ cartography-0.96.0rc3.dist-info/METADATA,sha256=cdvWi9VHF1E1NZuSDNw2IWHJTr3xrGj6BMv1Kqyvel8,1941
356
+ cartography-0.96.0rc3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
357
+ cartography-0.96.0rc3.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
358
+ cartography-0.96.0rc3.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
359
+ cartography-0.96.0rc3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,53 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: cartography
3
- Version: 0.96.0rc1
4
- Summary: Explore assets and their relationships across your technical infrastructure.
5
- Home-page: https://www.github.com/cartography-cncf/cartography
6
- Maintainer: Cartography Contributors
7
- License: apache2
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Intended Audience :: Developers
10
- Classifier: License :: OSI Approved :: Apache Software License
11
- Classifier: Natural Language :: English
12
- Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Topic :: Security
16
- Classifier: Topic :: Software Development :: Libraries
17
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Description-Content-Type: text/markdown
19
- License-File: LICENSE
20
- Requires-Dist: backoff >=2.1.2
21
- Requires-Dist: boto3 >=1.15.1
22
- Requires-Dist: botocore >=1.18.1
23
- Requires-Dist: dnspython >=1.15.0
24
- Requires-Dist: neo4j <5.0.0,>=4.4.4
25
- Requires-Dist: policyuniverse >=1.1.0.0
26
- Requires-Dist: google-api-python-client >=1.7.8
27
- Requires-Dist: oauth2client >=4.1.3
28
- Requires-Dist: marshmallow >=3.0.0rc7
29
- Requires-Dist: oci >=2.71.0
30
- Requires-Dist: okta <1.0.0
31
- Requires-Dist: pyyaml >=5.3.1
32
- Requires-Dist: requests >=2.22.0
33
- Requires-Dist: statsd
34
- Requires-Dist: packaging
35
- Requires-Dist: python-digitalocean >=1.16.0
36
- Requires-Dist: adal >=1.2.4
37
- Requires-Dist: azure-cli-core >=2.26.0
38
- Requires-Dist: azure-mgmt-compute >=5.0.0
39
- Requires-Dist: azure-mgmt-resource >=10.2.0
40
- Requires-Dist: azure-mgmt-cosmosdb >=6.0.0
41
- Requires-Dist: msrestazure >=0.6.4
42
- Requires-Dist: azure-mgmt-storage >=16.0.0
43
- Requires-Dist: azure-mgmt-sql <=1.0.0
44
- Requires-Dist: azure-identity >=1.5.0
45
- Requires-Dist: kubernetes >=22.6.0
46
- Requires-Dist: pdpyras >=4.3.0
47
- Requires-Dist: crowdstrike-falconpy >=0.5.1
48
- Requires-Dist: python-dateutil
49
- Requires-Dist: xmltodict
50
- Requires-Dist: duo-client
51
- Requires-Dist: importlib-resources ; python_version<"3.7"
52
-
53
- file: README.md