Especialista em Modelagem de Grafos de Conhecimento (Knowledge Graphs), Relacionamentos de Dependência, Engenharia de Grafos de Propriedades e Superfície de Ataque/Segurança utilizando Neo4j, Cartography, jQAssistant, BloodHound, ArangoDB, JanusGraph, Attack Flow e OpenCTI.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add dandgabr/skills --skill graph-relationship-mapping --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Graph Relationship Mapping?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dandgabr-graph-relationship-mapping)More formats (shields.io, HTML) on the badges page.
---
name: "graph-relationship-mapping"
description: "Especialista em Modelagem de Grafos de Conhecimento (Knowledge Graphs), Relacionamentos de Dependência, Engenharia de Grafos de Propriedades e Superfície de Ataque/Segurança utilizando Neo4j, Cartography, jQAssistant, BloodHound, ArangoDB, JanusGraph, Attack Flow e OpenCTI."
---
# 🕸️ Mapeamento de Relacionamentos, Grafos de Conhecimento e Segurança
Esta skill orienta a inteligência artificial a atuar como **Especialista em Grafos de Conhecimento e Análise de Relacionamentos de Sistemas e Segurança**, integrando dados heterogêneos de código, nuvem, identidade (Active Directory / Entra ID), ameaças (Threat Intelligence) e infraestrutura em grafos de propriedades direcionados (Labeled Property Graphs - LPG) para consultas de impacto e caminhos de ataque (*Attack Paths*).
---
## 🌐 1. Arquitetura Unificada de Grafos de Conhecimento
A modelagem em grafos transforma silos isolados de informação em uma malha relacional navegável através de linguagens de consulta declarativas (Cypher, AQL, Gremlin):
```mermaid
flowchart TD
subgraph IngestionSources["Ingestão de Dados Heterogêneos"]
CODE_DATA["Código & AST (jQAssistant)"]
CLOUD_DATA["Nuvem & Infra (Cartography)"]
AD_DATA["Identidades & Permissões (BloodHound / SharpHound)"]
CTI_DATA["Ameaças & TTPs MITRE (OpenCTI / Attack Flow)"]
end
subgraph GraphEngines["Motores de Banco de Dados em Grafo"]
NEO4J[("Neo4j (LPG & Cypher Engine)")]
ARANGODB[("ArangoDB (Multi-Model & AQL)")]
JANUSGRAPH[("JanusGraph (Distributed Apache TinkerPop)")]
end
subgraph Analytics["Consultas de Alto Impacto"]
ATTACK_PATHS["Caminhos Críticos de Ataque (Shortest Path)"]
BLAST_RADIUS["Raio de Explosão de Mudanças (Blast Radius)"]
CIRCULAR_DEPS["Dependências Circulares & Violações"]
end
IngestionSources --> GraphEngines
GraphEngines --> Analytics
```
---
## 🛠️ 2. Ferramentas Especialistas de Grafos e Modelos
### 1. Neo4j & Linguagem Cypher
- **Conceito**: O banco de dados orientado a grafos nativo mais utilizado no mundo. Modela nós (*Nodes*), rótulos (*Labels*), relacionamentos (*Relationships*) e propriedades de chave-valor (*Properties*).
- **Consulta Cypher: Mapeamento de Raio de Explosão (Blast Radius) de uma Classe de Domínio**:
```cypher
// Identificar todos os métodos, classes e endpoints afetados pela alteração de UserEntity
MATCH path = (e:Entity {name: 'UserEntity'})<-[:DEPENDS_ON*1..4]-(caller)
RETURN path, count(caller) AS total_affected_nodes
ORDER BY length(path) ASC;
```
### 2. BloodHound (Active Directory & Azure/Entra ID Attack Paths)
- **Conceito**: Ferramenta de auditoria que utiliza teoria dos grafos para mapear e visualizar relacionamentos de controle e privilégios ocultos no Active Directory e Azure AD. Identifica caminhos indiretos de escalada de privilégios para Domain Admin (*Shortest Path to High Value Targets*).
- **Coleta e Consulta BloodHound**:
- Coleta via `SharpHound.exe` ou `bloodhound-python`.
- Ingestão no Neo4j e visualização de nós (`User`, `Group`, `Computer`, `OU`, `GPO`, `Domain`) e arestas (`MemberOf`, `AdminTo`, `HasSession`, `WriteDacl`, `GenericAll`, `AddMember`, `GetChangesAll`).
### 3. jQAssistant (Software Architecture Graph)
- **Conceito**: Framework de controle de qualidade arquitetural que analisa projetos Java, Maven, JPA, Git e Docker, gravando a estrutura completa no Neo4j e validando regras corporativas via Cypher.
- **Exemplo de Regra Cypher no `jqassistant-rules.xml`**:
```cypher
// Bloquear acesso direto de Controllers aos Repositories
MATCH (c:Type)-[:DECLARES]->(m:Method)-[:CALLS]->(rMethod:Method)<-[:DECLARES]-(r:Type)
WHERE c:Controller AND r:Repository
CREATE (c)-[:VIOLATES_LAYER]->(r)
RETURN c.name AS ViolatingController, r.name AS TargetRepository;
```
### 4. ArangoDB & JanusGraph
- **ArangoDB**: Banco multi-modelo nativo (Documentos, Key-Value e Grafos) com suporte à linguagem AQL (ArangoDB Query Language) e algoritmos de caminhamento de grafo distribuídos.
- **JanusGraph**: Banco de grafos distribuído de alta escala (escalável sobre Apache Cassandra, HBase ou ScyllaDB) compatível com o padrão **Apache TinkerPop / Gremlin**.
### 5. Attack Flow & OpenCTI (Segurança & Threat Intelligence)
- **Attack Flow (MITRE Center for Threat-Informed Defense)**: Linguagem e formato declarativo JSON para mapeamento da sequência temporal de ações e técnicas adversárias baseadas no MITRE ATT&CK.
- **OpenCTI**: Plataforma aberta de gerenciamento de inteligência de ameaças cibernéticas (CTI) que estrutura relacionamentos de vulnerabilidades (CVE), atores de ameaça (Threat Actors), malwares e incidentes em grafos interoperáveis com o padrão STIX 2.1.
---
## 📊 3. Algoritmos de Grafos Essenciais para Mapeamento
Ao analisar grafos de dependência e segurança, o especialista deve aplicar algoritmos clássicos de teoria dos grafos:
| Algoritmo | Aplicação no Mapeamento | Implementação Neo4j GDS / Python NetworkX |
| :--- | :--- | :--- |
| **Shortest Path (Dijkstra / BFS)** | Menor caminho de escalada de privilégio ou chamada de API | `gds.shortestPath.dijkstra.stream` |
| **PageRank / Centralidade** | Identificação dos componentes e classes mais críticos do sistema | `gds.pageRank.stream` |
| **Betweenness Centrality** | Nós de ponte (Gargalos de comunicação ou Single Points of Failure) | `gds.betweenness.stream` |
| **Louvain / Leiden (Community Detection)**| Identificação de módulos de código coesos para refatoração em microsserviços | `gds.louvain.stream` |
| **Cycle Detection (Tarjan / Johnson)** | Detecção de ciclos de dependência proibidos na arquitetura | `apoc.algo.cycles` |
---
## 🎯 4. Boas Práticas na Modelagem em Grafo
- [ ] **Arestas Direcionadas com Semântica Clara**: Nomeie relacionamentos com verbos expressivos (`[:CALLS]`, `[:IMPLEMENTS]`, `[:DEPENDS_ON]`, `[:COMMUNICATES_WITH]`, `[:ADMIN_TO]`).
- [ ] **Indexação de Propriedades de Busca**: Crie índices exclusivos em IDs e nomes de nós (`CREATE CONSTRAINT FOR (n:Node) REQUIRE n.id IS UNIQUE`) para garantir consultas Cypher sub-segundo em grafos com milhões de vértices.
- [ ] **Limpeza de Nós Órfãos**: Execute rotinas periódicas de manutenção para remover nós sem relacionamentos remanescentes de versões antigas do código.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!