api-evangelist/cartography
GitHub: api-evangelist/cartography
Cartography 是一个开源 Python 安全图工具,通过将多云和身份等基础设施资产及其关系摄入 Neo4j 图数据库,帮助团队可视化并查询复杂的安全与运维问题。
Stars: 0 | Forks: 0
# Cartography (地图绘制)
Cartography 是一个开源的 Python 安全图工具,最初在 Lyft 构建,用于将基础设施资产及其相互关系整合到一个直观的 Neo4j 图形中。它从 30 多家云服务、身份、DevOps 和安全提供商(AWS、GCP、Azure、OCI、Okta、Entra ID、GitHub、Kubernetes、CrowdStrike 等)摄入数据,让安全团队能够回答跨云服务提供商的问题,例如“哪些身份可以访问哪些数据存储”、“哪些计算实例暴露在互联网上”以及“泄露的凭证的影响范围有多大”。
**URL:** [访问 APIs.json URL](https://raw.githubusercontent.com/api-evangelist/cartography/refs/heads/main/apis.yml)
## 范围
- **类型:** 标准
- **定位:** 消费者
- **访问:** 开放
## 标签
- 安全,云安全,图,CSPM,Neo4j,开源,Lyft,资产清单,身份
## 时间戳
- **创建于:** 2025-01-01
- **修改于:** 2026-04-23
## API
### 制图学
一个 Python 工具,将来自 30 多家提供商的基础设施数据摄入到 Neo4j 图中,用于跨云服务提供商的安全分析。
**用户访问 URL:** [https://lyft.github.io/cartography/](https://lyft.github.io/cartography/)
#### 标签
- 安全,云安全,图,Neo4j
#### 属性
- [文档](https://lyft.github.io/cartography/)
- [代码仓库](https://github.com/lyft/cartography)
- [Cypher 查询语言](https://neo4j.com/docs/cypher-manual/current/)
### Cartography AWS Intel 模块
Cartography 的情报模块,调用 AWS API(EC2、IAM、S3、RDS、EKS、Lambda、ECS、DynamoDB、CloudWatch、ACM、KMS、CodeBuild、API Gateway、Bedrock 等)以填充图中的 AWS 节点和关系。
**用户访问 URL:** [AWS 模块](https://lyft.github.io/cartography/modules/aws/index.html)
#### 标签
- AWS,云,摄入
### Cartography Google Cloud Intel 模块
Cartography 的情报模块,调用 Google Cloud API(Compute、IAM、Cloud SQL、GKE、Cloud Functions、Artifact Registry、Vertex AI)以填充 GCP 节点和关系。
**用户访问 URL:** [GCP 模块](https://lyft.github.io/cartography/modules/gcp/index.html)
#### 标签
- GCP,云,摄入
### Cartography Azure Intel 模块
Cartography 的情报模块,调用 Azure API(App Service、AKS、CosmosDB、Container Instance、Key Vault、Storage、Virtual Machines)以填充 Azure 节点和关系。
**用户访问 URL:** [Azure 模块](https://lyft.github.io/cartography/modules/azure/index.html)
#### 标签
- Azure,云,摄入
### Cartography Oracle Cloud Intel 模块
Cartography 的情报模块,调用 Oracle Cloud Infrastructure API(从 IAM 开始)以填充 OCI 节点和关系。
#### 标签
- OCI,云,摄入
### Cartography Okta Intel 模块
将 Okta 用户、组、应用程序和安全因子摄入到图中,用于以身份为中心的安全分析。
#### 标签
- 身份,Okta,摄入
### Cartography Entra ID Intel 模块
将 Microsoft Entra ID 用户、组、应用程序和角色分配摄入到图中。
#### 标签
- 身份,Entra ID,摄入
### Cartography GitHub Intel 模块
摄入 GitHub 组织、仓库、用户和访问关系,支持基于代码所有权和秘密暴露的图查询。
#### 标签
- GitHub,SCM,摄入
### Cartography Kubernetes Intel 模块
摄入 Kubernetes 集群对象(节点、Pod、服务、服务账户),用于基于图的集群安全分析。
#### 标签
- Kubernetes,容器,摄入
### Cartography CrowdStrike Intel 模块
摄入 CrowdStrike Falcon 主机和检测结果,将端点遥测数据连接到基础设施图。
#### 标签
- EDR,CrowdStrike,摄入
### Cartography Cloudflare Intel 模块
将 Cloudflare 区域、DNS 和安全配置摄入到图中,用于边缘暴露分析。
#### 标签
- DNS,边缘,摄入
## 使用案例
- 跨云服务提供商访问审查 — 使用 Okta 到 AWS 的身份联盟关系,“哪些 Okta 用户最终拥有任何 AWS 账户的管理员权限?”
- 暴露分析 — 枚举所有拥有公网 IP 且安全组规则过于宽松且无修补遥测数据的 EC2 实例、GCP 虚拟机或 Azure 虚拟机。
- 数据存储爆炸半径 — 追踪所有能读取特定 S3 存储桶、RDS 实例或 CosmosDB 的 IAM 主体和假设角色路径。
- 代码到云的所有权 — 将 GitHub 仓库所有权与其部署的云资源关联,将安全发现路由给负责的团队。
- EDR 关联 — 通过单个 Cypher 查询将 CrowdStrike 检测结果连接到底层云计算实例、所属服务和负责的身份。
- 持续资产清单 — 定期运行 Cartography,基于漂移、新暴露或新主体来馈送仪表板和工单系统。
- 合规图查询 — 用单个 Cypher 查询回答审计员的问题,如“哪些生产数据库未加密或可公开访问”。
## 通用属性
- [网站](https://lyft.github.io/cartography/)
- [文档](https://lyft.github.io/cartography/)
- [Lyft GitHub 组织](https://github.com/lyft)
- [代码仓库](https://github.com/lyft/cartography)
- [问题](https://github.com/lyft/cartography/issues)
- [入门指南](https://lyft.github.io/cartography/install.html)
- [教程](https://lyft.github.io/cartography/usage/tutorial.html)
- [许可证 (Apache 2.0)](https://github.com/lyft/cartography/blob/master/LICENSE)
- [版本发布](https://github.com/lyft/cartography/releases)
- [Lyft 工程博客](https://eng.lyft.com/open-sourcing-cartography-4611ba31a72)
- [JSON-LD 上下文](json-ld/cartography-context.jsonld)
- [词汇表定义](vocabulary.yml)
- [Spectral 规则](spectral/cartography.spectral.yml)
## 维护者
**FN:** Kin Lane
**Email:** info@apievangelist.com
标签:AWS, Azure, CrowdStrike, CSPM, DevOps安全, DPI, Entra ID, GCP, Neo4j, Okta, Python, TinkerPop, 云安全态势管理, 云安全解决方案, 前端应用, 安全, 安全关系图, 安全分析工具, 安全可视化, 开源, 数据摄入, 无后门, 资产盘点, 超时处理, 跨提供者分析, 身份管理, 逆向工具, 零信任架构