Pular para o conteúdo
Skillpedia
Segurança35 mil · #6035

performing-cloud-asset-inventory-with-cartography

Ajuda seu agente a mapear todos os recursos na nuvem e suas conexões. Ele cria um mapa visual para encontrar caminhos de ataque e gerar relatórios.

O que ela faz

Esta ferramenta coleta informações sobre seus recursos na nuvem (como AWS, Google Cloud ou Azure) e os organiza em um mapa interativo. Ela ajuda a entender como tudo está conectado e a encontrar possíveis problemas de segurança.

Quando usar

  • ✓Quando você precisa saber todos os seus recursos na nuvem.
  • ✓Ao investigar possíveis falhas de segurança.
  • ✓Para criar relatórios sobre sua infraestrutura na nuvem.

Exemplo do que pedir para a IA

“Quero um mapa de todos os meus recursos na AWS e como eles se conectam.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-cloud-asset-inventory-with-cartography/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-cloud-asset-inventory-with-cartography/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta se conecta às suas contas na nuvem, busca os recursos existentes e suas relações, e armazena tudo em um banco de dados especial chamado Neo4j. Depois, você pode usar esse mapa para ver as conexões.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-cloud-asset-inventory-with-cartography

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-cloud-asset-inventory-with-cartography/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Realizando Inventário de Ativos na Nuvem com Cartography

Visão Geral

Cartography é um projeto sandbox da CNCF (originalmente criado na Lyft) que consolida ativos de infraestrutura e seus relacionamentos em um banco de dados gráfico Neo4j. Ele consulta APIs de nuvem para descobrir recursos, mapeia relacionamentos entre eles e permite que equipes de segurança identifiquem caminhos de ataque, gerem relatórios de ativos e encontrem áreas para melhoria de segurança. O modelo gráfico revela conexões ocultas, como cadeias de permissões IAM, caminhos de rede e relacionamentos de confiança entre contas.

Quando Usar

  • Ao realizar avaliações de segurança que envolvem o inventário de ativos na nuvem com Cartography
  • Ao seguir procedimentos de resposta a incidentes para eventos de segurança relacionados
  • Ao realizar testes de segurança ou atividades de auditoria agendadas
  • Ao validar controles de segurança por meio de testes práticos

Pré-requisitos

  • Python 3.8+
  • Banco de dados Neo4j 4.x ou 5.x
  • Credenciais do provedor de nuvem (AWS, GCP, Azure)
  • Docker (opcional, para implantação do Neo4j)
  • Mínimo de 4GB de RAM para Neo4j, mais para ambientes grandes

Instalação

# Install Cartography
pip install cartography

# Verify installation
cartography --help

Implantar Neo4j com Docker

docker run -d \
  --name neo4j \
  -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/changethispassword \
  -e NEO4J_PLUGINS='["apoc"]' \
  -v neo4j_data:/data \
  neo4j:5-community

Executando Cartography

Sincronização Básica da AWS

# Sync AWS account data to Neo4j
cartography \
  --neo4j-uri bolt://localhost:7687 \
  --neo4j-user neo4j \
  --neo4j-password-env-var NEO4J_PASSWORD

Sincronizar módulos específicos da AWS

cartography \
  --neo4j-uri bolt://localhost:7687 \
  --neo4j-user neo4j \
  --neo4j-password-env-var NEO4J_PASSWORD \
  --aws-sync-all-profiles

Sincronização do GCP

cartography \
  --neo4j-uri bolt://localhost:7687 \
  --neo4j-user neo4j \
  --neo4j-password-env-var NEO4J_PASSWORD \
  --gcp-requested-syncs compute iam storage

Consultas Cypher Focadas em Segurança

Encontrar todos os buckets S3 com acesso público

MATCH (b:S3Bucket)
WHERE b.anonymous_access = true
   OR b.anonymous_actions IS NOT NULL
RETURN b.name, b.anonymous_actions, b.region, b.arn
ORDER BY b.name

Identificar usuários IAM com políticas de administrador

MATCH (user:AWSUser)-[:POLICY]->(policy:AWSPolicy)
WHERE policy.name = 'AdministratorAccess'
   OR policy.arn CONTAINS 'AdministratorAccess'
RETURN user.name, user.arn, policy.name, user.password_last_used

Encontrar instâncias EC2 expostas à internet

MATCH (instance:EC2Instance)-[:MEMBER_OF_EC2_SECURITY_GROUP]->(sg:EC2SecurityGroup)
      -[:MEMBER_OF_EC2_SECURITY_GROUP_RULE]->(rule:IpRule)
WHERE rule.fromport <= 22 AND rule.toport >= 22
  AND rule.protocol IN ['tcp', '-1']
  AND '0.0.0.0/0' IN rule.ipranges
RETURN instance.instanceid, instance.publicipaddress, sg.groupid, sg.name

Descobrir relacionamentos de confiança entre contas

MATCH (role:AWSRole)-[:TRUSTS_AWS_PRINCIPAL]->(principal:AWSPrincipal)
WHERE principal.arn CONTAINS ':root'
  AND NOT principal.arn CONTAINS role.accountid
RETURN role.arn, role.name, principal.arn AS trusted_account
ORDER BY role.name

Encontrar caminho de ataque de EC2 pública para S3 sensível

MATCH path = (instance:EC2Instance)-[:STS_ASSUME_ROLE_ALLOWS|MEMBER_OF_EC2_SECURITY_GROUP|
  POLICY|INSTANCE_PROFILE*1..5]->(bucket:S3Bucket)
WHERE instance.publicipaddress IS NOT NULL
  AND bucket.name CONTAINS 'sensitive'
RETURN path
LIMIT 25

Identificar funções IAM não utilizadas

MATCH (role:AWSRole)
WHERE role.last_used IS NULL
   OR role.last_used < datetime().epochMillis - (90 * 24 * 60 * 60 * 1000)
RETURN role.name, role.arn, role.last_used
ORDER BY role.last_used

Encontrar funções Lambda com funções privilegiadas demais

MATCH (func:AWSLambda)-[:STS_ASSUME_ROLE_ALLOWS]->(role:AWSRole)-[:POLICY]->(policy:AWSPolicy)
WHERE policy.name = 'AdministratorAccess'
RETURN func.name, func.arn, role.name, policy.name

Análise de caminho de rede

MATCH (vpc:AWSVpc)-[:RESOURCE]->(subnet:EC2Subnet)-[:MEMBER_OF_SUBNET]->(instance:EC2Instance)
WHERE instance.publicipaddress IS NOT NULL
RETURN vpc.id, subnet.subnetid, subnet.cidr_block, instance.instanceid,
       instance.publicipaddress, instance.state

Agendando Sincronizações Regulares

Sincronização baseada em Cron

# Adicionar ao crontab - sincronizar a cada 6 horas
0 */6 * * * /usr/local/bin/cartography \

…
Perguntas frequentes

Preciso ter conhecimento técnico para usar?

É recomendado ter alguma familiaridade com o uso de linha de comando e conceitos básicos de nuvem, mas a ferramenta foi projetada para simplificar a visualização.

Quais nuvens são suportadas?

Atualmente, suporta AWS, Google Cloud (GCP) e Microsoft Azure.

O que é Neo4j?

Neo4j é um tipo de banco de dados otimizado para armazenar e consultar informações que têm muitas conexões entre si, como um mapa de relacionamentos.

Detalhes

Descrição original do autor

Run Cartography to sync AWS, GCP, or Azure resources into a Neo4j graph database, mapping relationships such as IAM permission chains, network paths, and cross-account trust. Use when building a cloud asset inventory, querying the graph to identify attack paths, or generating security reports across multi-cloud infrastructure.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6035
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas