Cartography is an open-source Python security-graph tool originally built at Lyft that consolidates infrastructure assets and the relationships between them into an intuitive Neo4j graph. It ingests data from 30+ cloud, identity, DevOps, and security providers (AWS, GCP, Azure, OCI, Okta, Entra ID, GitHub, Kubernetes, CrowdStrike, and more) and lets security teams answer cross-provider questions such as "which identities can reach which datastores," "which compute instances are exposed to the internet," and "what are the blast radii of a compromised credential."
URL: Visit APIs.json URL
- Type: Standard
- Position: Consumer
- Access: Open
- Security, Cloud Security, Graph, CSPM, Neo4j, Open Source, Lyft, Asset Inventory, Identity
- Created: 2025-01-01
- Modified: 2026-04-23
Python tool that ingests infrastructure data from 30+ providers into a Neo4j graph for cross-provider security analysis.
Human URL: https://lyft.github.io/cartography/
- Security, Cloud Security, Graph, Neo4j
Cartography intel module that calls AWS APIs (EC2, IAM, S3, RDS, EKS, Lambda, ECS, DynamoDB, CloudWatch, ACM, KMS, CodeBuild, API Gateway, Bedrock, and more) to populate AWS nodes and relationships in the graph.
Human URL: AWS Module
- AWS, Cloud, Ingest
Cartography intel module that calls Google Cloud APIs (Compute, IAM, Cloud SQL, GKE, Cloud Functions, Artifact Registry, Vertex AI) to populate GCP nodes and relationships in the graph.
Human URL: GCP Module
- GCP, Cloud, Ingest
Cartography intel module that calls Azure APIs (App Service, AKS, CosmosDB, Container Instance, Key Vault, Storage, Virtual Machines) to populate Azure nodes and relationships in the graph.
Human URL: Azure Module
- Azure, Cloud, Ingest
Cartography intel module that calls Oracle Cloud Infrastructure APIs (starting with IAM) to populate OCI nodes and relationships.
- OCI, Cloud, Ingest
Ingests Okta users, groups, applications, and factors into the graph for identity-focused security analysis.
- Identity, Okta, Ingest
Ingests Microsoft Entra ID users, groups, applications, and role assignments into the graph.
- Identity, Entra ID, Ingest
Ingests GitHub organizations, repositories, users, and access relationships, enabling code-ownership and secret-exposure graph queries.
- GitHub, SCM, Ingest
Ingests Kubernetes cluster objects (nodes, pods, services, service accounts) for graph-based cluster-security analysis.
- Kubernetes, Containers, Ingest
Ingests CrowdStrike Falcon hosts and detections, connecting endpoint telemetry to the infrastructure graph.
- EDR, CrowdStrike, Ingest
Ingests Cloudflare zones, DNS, and security configurations into the graph for edge-exposure analysis.
- DNS, Edge, Ingest
- Cross-provider access review — "which Okta users ultimately have admin on any AWS account?" using Okta-to-AWS identity federation relationships.
- Exposure analysis — enumerating all EC2 instances, GCP VMs, or Azure VMs with a public IP plus a permissive security group and no patching telemetry.
- Datastore blast-radius — tracing all IAM principals and assumed-role paths that can read a specific S3 bucket, RDS instance, or CosmosDB.
- Code-to-cloud ownership — joining GitHub repository ownership with the cloud resources those repos deploy, to route security findings to the responsible team.
- EDR correlation — connecting CrowdStrike detections to the underlying cloud compute instance, owning service, and responsible identity in a single Cypher query.
- Continuous asset inventory — scheduled Cartography runs feeding dashboards and ticketing based on drift, new exposures, or new principals.
- Compliance graph queries — answering auditor questions like "which production databases are un-encrypted or publicly reachable" with a single Cypher query.
- Website
- Documentation
- Lyft GitHub Org
- Repository
- Issues
- Getting Started
- Tutorial
- License (Apache 2.0)
- Releases
- Lyft Engineering Blog
- JSON-LD Context
- Vocabulary Definition
- Spectral Rules
FN: Kin Lane
Email: info@apievangelist.com