Saltar al contenido
OPS // KITitspentest.sh

E-CAR

Cartography

Herramienta en Python que construye un grafo en Neo4j de la infraestructura en AWS, GCP, Azure, GitHub, Okta y más para análisis de seguridad.

Sitio oficialVolver al catálogo

RESUMEN

Cartography (originalmente lyft/cartography, hoy mantenido como cartography-cncf/cartography bajo el CNCF Sandbox) es una herramienta en Python que sincroniza datos de infraestructura e identidad de AWS, GCP, Azure, Kubernetes, GitHub, Okta, Entra ID, CrowdStrike y decenas de otros proveedores en una única base de datos de grafos Neo4j.

A diferencia de las herramientas de grafo de identidad exclusivas de Azure de esta lista, Cartography es deliberadamente amplia — está pensada para inventario continuo de activos y mapeo de superficie de ataque en todo el footprint cloud y SaaS de una organización, y suele ejecutarse como un job programado que alimenta dashboards y consultas Cypher, más que como herramienta puntual de un engagement.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Construir un inventario continuamente actualizado de activos de AWS, GCP y Azure y sus relaciones en Neo4j.

  • 02

    Mapear rutas de ataque entre proveedores, por ejemplo desde un secreto en un repo de GitHub hasta un rol IAM de AWS y una instancia EC2.

  • 03

    Auditar asignaciones de identidad en Okta o Entra ID junto con los recursos cloud a los que esas identidades pueden llegar.

  • 04

    Alimentar dashboards de gestión de superficie de ataque y detecciones basadas en Cypher desde un único grafo de activos unificado.

PRIMEROS PASOS

Para inventariar activos cloud y SaaS en múltiples proveedores, una vez disponible una instancia de Neo4j y las credenciales de los proveedores.

  1. Inicia una instancia local de Neo4j, por ejemplo con la imagen oficial de Docker.
  2. Instala Cartography con `pip install cartography` y configura las credenciales de los proveedores que quieras sincronizar (perfil de AWS, service account de GCP, etc.).
  3. Ejecuta `cartography` con `--selected-modules` indicando los proveedores en alcance y `--neo4j-uri` apuntando a tu instancia de Neo4j.
  4. Abre el navegador de Neo4j y explora el grafo sincronizado con Cypher, o conecta una herramienta de BI.
cartography — bash
cartography --neo4j-uri bolt://localhost:7687 --selected-modules aws,gcp,github

ANTES DE USARLA

Qué revisar antes de lanzarla

Una sincronización completa multi-proveedor hace muchas llamadas de solo lectura contra cada proveedor configurado — confirma el alcance y el volumen esperado con el cliente antes de ejecutarla contra un tenant real.

El grafo resultante es un mapa completo del footprint cloud y SaaS de la organización, incluyendo rutas de privilegio entre proveedores — trata la instancia de Neo4j y sus backups como datos sensibles y acotados al engagement.

Usa solo credenciales de solo lectura y acotadas por proveedor; Cartography no necesita acceso de escritura para hacer su trabajo.

SIGUE EXPLORANDO

Ver toda la fase →