免费的木马查杀引擎 bt-ShieldML是一款基于机器学习的堡塔木马查杀引擎,主要针对Web服务器环境中的恶意代码文件进行检测。 项目第一阶段聚焦于PHP文件的检测,后续将扩展支持更多语言,引擎将以Go语言实现,并编译为独立可执行文件,可集成到堡塔面板功能或作为独立工具使用。 安装即可使用!
公开内容
- 详细的模型训练过程
- GO程序核心源码
当前支持
- php文件检测
- 支持常见PHP webshell变种、混淆及加密技术识别
- 提供文件级别和目录级别的批量扫描
发展规划
- 将扩展支持ASP、JSP等多语言webshell检测
- 持续优化检测引擎,新增深度学习预测模型
方案1:可以在终端拉取镜像,然后直接访问http://ip:6528/shieldml_scan.html
docker run -d \
--name btshieldml \
-p 6528:6528 \
btpanel/btshieldml:latest
方案2:到面板的docker应用商店下载,搜索"btshieldml",点击安装即可
流程:Docker->应用商店->搜索"btshieldml"->点击安装即可
编译环境:Go 1.22 + Linux系统
第一步:安装依赖环境
go get github.com/CyrusF/libsvm-go
go get github.com/CyrusF/go-bayesian
go get github.com/grd/stat
apt install xxd
apt install libyara-dev
安装yara4.3+环境
# 在Debian系统安装YARA 4.3
wget https://github.com/VirusTotal/yara/archive/refs/tags/v4.3.1.tar.gz
tar -xzf v4.3.1.tar.gz
cd yara-4.3.1
./bootstrap.sh
./configure --enable-static
make
sudo make install
# 安装开发依赖
sudo apt-get install libssl-dev libmagic-dev jansson-dev
# 刷新动态库缓存
sudo ldconfig
第二步:进入根目录,编译php-bridge
cd bt-ShieldML && go mod tidy
make -C php-bridge
第三步:执行build.sh的脚本,需要把yara的静态库编译进去
bash build.sh
基本命令行用法
./bt-shieldml -path /path/to/scan # 终端输出
./bt-shieldml -path /path/to/scan -format json # 输出JSON格式文件,默认data目录下
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/ -output report.html # 输出HTML格式文件
案例说明
测试1: 目录测试
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/
测试2:单文件测试
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/php/b374k/b374k-2.3.min.php
测试3:输出html报告
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/ -output report.html
默认是6528端口,可支持修改
前面的build.sh已经编译过了,这里直接运行
./shieldml_server
访问 http://服务器ip:6528/shieldml_scan.html 即可
敬请期待……
该项目是开源的,可根据AGPLv3协议使用。
- GitHub Issue
- QQ群1:922160183 QQ群2:709033027
欢迎关注我们的项目,我们会持续更新和优化项目。



