GraphGenie:一款针对图形数据库引擎的安全检测工具

2024-08-21 98 0

关于GraphGenie

GraphGenie是一款针对图形数据库引擎的安全检测工具,该工具可以通过改变图形查询模式来检测图形数据库引擎中的逻辑错误。

GraphGenie 是一款错误查找工具,用于检测图形数据库管理系统中的逻辑错误、性能问题和内部错误。具体来说,与大多数现有的测试工作改变查询谓词不同,GraphGenie 利用图形查询转换 (GQT) 来构建语义等效或变体图形查询模式,从而可以对其结果进行比较分析以发现错误。GraphGenie 已经过测试(20.04.2 LTS Ubuntu Linux 64 位发行版、Python 3.8.10),并发现了 Neo4j 等流行图形数据库引擎上以前未知的错误。

工具要求

Python 3.8.10+

python3-pip

configparser

neo4j

redisgraph

psycopg2

工具安装

由于该工具基于Python 3.8.10开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3.8.10+环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/YuanchengJiang/GraphGenie.git

然后切换到项目目录中,运行下列命令安装该工具所需的其他依赖组件:

cd GraphGenie

apt install python3-pip

pip3 install configparser

pip3 install neo4j

pip3 install redisgraph

pip3 install psycopg2

图形数据库引擎设置

我们不需要初始化图形数据,可以直接使用现有的图形数据集(点击【这里】获取)。针对Neo4j的配置如下:

apt install openjdk-17-jdk;

cd dbs;

wget https://dist.neo4j.org/neo4j-community-5.11.0-unix.tar.gz;

tar -xvf neo4j-community-5.11.0-unix.tar.gz;

git clone https://github.com/neo4j-graph-examples/recommendations.git;

cd neo4j-community-5.11.0;

./bin/neo4j-admin dbms set-initial-password 12344321

./bin/neo4j-admin database load --from-stdin --overwrite-destination=true neo4j < ../recommendations/data/recommendations-50.dump;

echo "dbms.transaction.timeout=30s" >> ./conf/neo4j.conf

./bin/neo4j start

工具使用

先配置graphgenie.ini,然后开始测试。如果您测试的是Neo4j,只需运行 main.py即可:

./main.py

对于其他数据库,您需要先初始化数据集并在main.py的第332行指定下列参数:

node_labels, edge_labels, node_properties, connectivity_matrix

执行完成后,可以在./bug.log中找到检测到的安全问题详情,./testing.log文件将记录下所有执行过的查询信息。

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

GraphGenie:【GitHub传送门

参考资料

https://github.com/neo4j-graph-examples/recommendations.git

https://github.com/neo4j/neo4j

https://github.com/RedisGraph/RedisGraph/

https://github.com/bitnine-oss/agensgraph/


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞
万字长文浅谈三高系统建设方法论和实践
你遇到过哪些奇葩面试题目;如何考察渗透测试与安全管理能力| FB甲方群话题讨论

发布评论