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.
- cartography/cli.py +15 -0
- cartography/client/core/tx.py +1 -1
- cartography/config.py +6 -2
- cartography/data/indexes.cypher +1 -2
- cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json +16 -0
- cartography/data/jobs/cleanup/{github_users_cleanup.json → github_org_and_users_cleanup.json} +5 -0
- cartography/intel/aws/apigateway.py +3 -3
- cartography/intel/aws/identitycenter.py +307 -0
- cartography/intel/aws/resources.py +2 -0
- cartography/intel/cve/__init__.py +1 -1
- cartography/intel/cve/feed.py +4 -4
- cartography/intel/github/users.py +156 -39
- cartography/intel/okta/users.py +2 -1
- cartography/intel/semgrep/__init__.py +1 -1
- cartography/intel/semgrep/dependencies.py +54 -22
- cartography/models/aws/identitycenter/__init__.py +0 -0
- cartography/models/aws/identitycenter/awsidentitycenter.py +44 -0
- cartography/models/aws/identitycenter/awspermissionset.py +84 -0
- cartography/models/aws/identitycenter/awsssouser.py +68 -0
- cartography/models/github/orgs.py +26 -0
- cartography/models/github/users.py +119 -0
- cartography/models/semgrep/dependencies.py +13 -0
- cartography-0.96.0rc3.dist-info/METADATA +53 -0
- {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/RECORD +28 -20
- {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/WHEEL +1 -1
- cartography-0.96.0rc1.dist-info/METADATA +0 -53
- {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/LICENSE +0 -0
- {cartography-0.96.0rc1.dist-info → cartography-0.96.0rc3.dist-info}/entry_points.txt +0 -0
- {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=
|
|
4
|
-
cartography/config.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
210
|
-
cartography/intel/cve/feed.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
272
|
-
cartography/intel/semgrep/dependencies.py,sha256=
|
|
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=
|
|
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.
|
|
347
|
-
cartography-0.96.
|
|
348
|
-
cartography-0.96.
|
|
349
|
-
cartography-0.96.
|
|
350
|
-
cartography-0.96.
|
|
351
|
-
cartography-0.96.
|
|
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,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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|