# Knowledge graph a analytika

> Jak knowledge graph propojuje hostitele, služby, zranitelnosti a přístup, jeho dva backendy a dashboard attack chain na něm založený.

Záznam v PostgreSQL odpovídá na otázku *co příkaz vypsal*. [Knowledge graph](https://pentagi.com/cs/docs/glossary/#knowledge-graph) odpovídá na otázku *jak jsou dva [findings](https://pentagi.com/cs/docs/glossary/#finding) propojeny* — který hostitel provozuje kterou službu, která zranitelnost vedla k jakému přístupu.

## [Dva backendy](https://pentagi.com/cs/docs/enterprise/knowledge-graph/#two-backends)

|                                                             | graphstore                  | graphiti                            |
| ----------------------------------------------------------- | --------------------------- | ----------------------------------- |
| Běží jako                                                   | v backendu, graf v Neo4j    | samostatná služba na Neo4j          |
| Povoleno pomocí                                             | `GRAPHSTORE_INGEST_ENABLED` | `GRAPHITI_ENABLED` + `GRAPHITI_URL` |
| [Agent](https://pentagi.com/cs/docs/glossary/#agent) [tool](https://pentagi.com/cs/docs/glossary/#tool) | `graphstore_search`         | `graphiti_search`                   |
| Stav                                                        | nástupce graphiti           | legacy, zachováno pro srovnání      |

Oba jsou omezeny na jeden [flow](https://pentagi.com/cs/docs/glossary/#flow): každé čtení filtruje podle flow, takže jeden flow nikdy nevidí graf jiného flow.

Oba backendy jsou ve výchozím nastavení vypnuty. S `GRAPHSTORE_INGEST_ENABLED=true` potřebuje graphstore `GRAPHSTORE_NEO4J_URI` a `GRAPHSTORE_NEO4J_DATABASE` a PentAGI bez nich nenastartuje.

Pokud je povolen i Graphiti, oba backendy ukládají aktiva odlišně, takže PentAGI odmítne startovat, když oba zapisují do databáze stejného názvu na jednom serveru nebo na jakémkoli serveru, pokud není nastaveno `NEO4J_URI` pro Graphiti, pokud není splněno `GRAPHSTORE_ALLOW_SHARED_NEO4J_DATABASE=true`. Dodávaný Neo4j je edice Community a obsluhuje pouze databázi `neo4j`: při použití obou backendů na něm ponechte `neo4j` a povolte sdílení, což má za následek snížení kvality grafu, protože porty a služby jsou uloženy dvakrát a některé zápisy Graphiti mohou být odmítnuty. Aby byly grafy odděleny, přidělte graphstore vlastní server Neo4j nebo vlastní databázi v Neo4j Enterprise: PentAGI tuto databázi vytvoří, pokud chybí, jestliže účet Neo4j pro graphstore může vytvářet databáze; jinak ji vytvořte předem.

## [Řídicí panel attack chain](https://pentagi.com/cs/docs/enterprise/knowledge-graph/#attack-chain-dashboard)

![Hlavní attack chain: hostitelé, porty, služby, zranitelnosti, potvrzený přístup a účty](https://pentagi.com/images/product/attack-chain.webp)

S povoleným knowledge graph vykresluje záložka **Dashboard → Analytics** daného flow graf v průběhu jeho růstu:

* **Main Attack Chain** — hostitelé, porty, služby, zranitelnosti, potvrzený přístup a účty.
* Pohledy **Action Chain**, **Infrastructure**, **Access Chain** a **Priv Esc Chain**.
* Časová osa pro přehrávání vývoje situace a tabulky otevřených portů, detekovaných CVE a stavu přihlašovacích údajů.

![Pohled Access chain](https://pentagi.com/images/product/access-chain.webp)

![Souhrny útočné plochy a potvrzeného přístupu](https://pentagi.com/images/product/analytics-stats.webp)