💡
原文中文,约4100字,阅读约需10分钟。
📝
内容提要
CPG是一种代码属性图,使用图数据库作为载体,如OverflowDB、Neo4J等。Joern使用CPG存储代码的节点关系和属性数据,并提供了生成AST、CFG等其他结构的接口。通过Cypher可以查询Joern中的漏洞利用链。
🎯
关键要点
-
CPG是一种代码属性图,使用图数据库如OverflowDB和Neo4J作为载体。
-
Joern使用CPG存储代码的节点关系和属性数据,并提供生成AST、CFG等结构的接口。
-
CPG相比CFG具有更大的信息量,能够容纳复杂的依赖关系。
-
Joern支持通过命令行生成不同格式的图,如AST和CFG。
-
Neo4J是成熟的图数据库,使用Cypher作为查询语言,强调节点之间的关系。
-
Joern可以将CPG导出到Neo4J等图数据库,支持多种格式。
-
导入Neo4J时需要遵循特定的文件结构和命令。
-
在Neo4J中可以使用Cypher查询漏洞利用链,完成Joern中的所有工作。
🏷️
标签
➡️