跳到主要内容
PentAGI
Enterprise

Knowledge graph 与分析

Knowledge graph 如何关联主机、服务、漏洞和访问权限,其两个后端,以及基于它构建的 attack-chain 仪表板。

PostgreSQL 中的记录回答了命令输出了什么。Knowledge graph 则回答了两个 findings 之间如何关联——哪台主机运行哪项服务,哪个漏洞导致了哪种访问权限。

两种后端

graphstoregraphiti
运行方式在后端,图存储在 Neo4j 中Neo4j 上的独立服务
启用方式GRAPHSTORE_INGEST_ENABLEDGRAPHITI_ENABLED + GRAPHITI_URL
Agent toolgraphstore_searchgraphiti_search
状态graphiti 的继任者旧版,保留用于对比

两者的作用域均限定于单个 flow:每次读取都会按 flow 进行过滤,因此一个 flow 绝不会看到另一个 flow 的图谱。

这两个后端默认均处于关闭状态。启用 GRAPHSTORE_INGEST_ENABLED=true 时,图存储还需要 GRAPHSTORE_NEO4J_URI 和 GRAPHSTORE_NEO4J_DATABASE,否则 PentAGI 无法启动。

如果同时启用了 Graphiti,这两个后端存储资产的方式不同,因此当两者在同一服务器上写入同名数据库,或者在 Graphiti 的 NEO4J_URI 未设置的情况下在任何服务器上写入时,PentAGI 将拒绝启动,除非 GRAPHSTORE_ALLOW_SHARED_NEO4J_DATABASE=true。内置的 Neo4j 是 Community 版本,仅服务于 neo4j 数据库:若两个后端都使用它,请保留 neo4j 并允许共享,但这会以降低知识图谱质量为代价,因为端口和服务会被存储两次,且某些 Graphiti 写入可能会被拒绝。为了保持知识图谱分离,请为图存储分配独立的 Neo4j 服务器,或在 Neo4j Enterprise 上为其分配独立的数据库:如果图存储的 Neo4j 账户有权创建数据库,PentAGI 会在数据库缺失时自动创建;否则请预先创建该数据库。

Attack chain 仪表板

主 attack chain:主机、端口、服务、漏洞、已确认的访问权限和账户

启用 knowledge graph 后,flow 的 Dashboard → Analytics 选项卡会实时渲染不断扩展的图谱:

  • Main Attack Chain —— 主机、端口、服务、漏洞、已确认的访问权限和账户。
  • Action Chain、Infrastructure、Access Chain 和 Priv Esc Chain 视图。
  • 时间轴滑块,用于回放态势演变过程,以及开放端口、检测到的 CVE 和凭证状态的列表。

访问链视图

攻击面与已确认访问权限摘要

最后更新于