A Python tool that pulls infrastructure assets and relationships from AWS, GCP, Azure, and 30+ other platforms into a Neo4j graph for security analysis.
Cartography is a Python-based infrastructure mapping tool that ingests assets and relationships from cloud platforms, SaaS applications, and security tools into a Neo4j graph database. It solves the problem of fragmented visibility in complex multi-cloud environments by providing a unified, queryable graph model of all infrastructure components and their connections.
Security engineers, cloud architects, and DevOps teams managing multi-cloud or hybrid infrastructure who need to analyze security posture, access relationships, and vulnerabilities across their entire environment.
Developers choose Cartography because it provides graph-native analysis of infrastructure relationships that traditional CMDBs or security tools cannot easily reveal, with out-of-the-box support for 30+ platforms and an extensible framework for custom data sources.
Cartography is a Python tool that pulls infrastructure assets and their relationships into a Neo4j graph database.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ingests data from AWS, GCP, Azure, Kubernetes, and 30+ other platforms, providing a unified view as highlighted in the supported platforms list.
Enables complex graph queries to find access relationships, vulnerabilities, and exposure paths, with examples like finding unencrypted RDS instances or internet-exposed EC2 instances in the README.
Designed with modules for each data source, making it straightforward to add custom integrations or new platforms, as mentioned in the extensible architecture feature.
Includes cartography-rules to check environments against common security frameworks, offering out-of-the-box compliance analysis without custom scripting.
Requires setting up and maintaining a Neo4j database, Python environment, and platform credentials, which adds operational complexity beyond simple cloud-native tools.
Operates on periodic data syncs rather than real-time updates, which might miss transient infrastructure changes or delay incident response, as noted in the sync-based approach.
Users must learn Cypher query language and graph concepts to fully leverage the tool, which can be a barrier for teams unfamiliar with graph databases, despite the provided tutorials.