article
README
🚀 Yara 项目文档
Yara 项目是一个功能强大的安全检测工具,可用于扫描内存、文件等,检测潜在威胁。它提供了丰富的配置选项和便捷的使用方式,支持多种部署模式,方便开发者进行开发和维护。
🚀 快速开始
你可以按照以下步骤快速启动 Yara 项目:
# 克隆仓库
git clone https://github.com/ThreatFlux/Yara.git
cd Yara
# 安装依赖项
make install
# 运行应用
python run.py
📦 安装指南
安装步骤
- 克隆仓库:
git clone https://github.com/ThreatFlux/Yara.git cd Yara - 安装依赖项:
- 使用
Makefile自动化脚本进行安装:make install - 或者手动安装:
pip install -r requirements.txt
- 使用
- 运行应用:
python run.py
💻 使用示例
基础用法
from yara import YaraScanner
scanner = YaraScanner()
result = scanner.scan_file("target.exe")
print(result)
高级用法
from yara import YaraScanner
scanner = YaraScanner()
scan_result = scanner.scan_memory(b"some bytes")
print(f"检测到威胁: {scan_result.detected_threats}")
📚 详细文档
配置选项
- 日志级别:
- 调试模式:
DEBUG - 开发模式:
INFO - 生产环境:
WARNING、ERROR或CRITICAL
- 调试模式:
- 存储后端:
- 本地文件系统:默认配置
- MinIO/S3 存储:需额外配置访问信息
工作流程
- 构建阶段:
生成可执行文件和 Docker 镜像。make build - 测试阶段:
执行单元测试和集成测试。make test - 部署阶段:
- 使用 Docker 部署:
docker-compose up --build
- 使用 Docker 部署:
开发信息
本地开发
make dev-setup
运行开发服务器:
make run-dev
CI/CD 流水线
- 测试流水线:
- 在
main和develop分支上自动执行。 - 包括代码格式检查、静态分析和单元测试。
- 在
- 版本发布:
自动递增版本号并生成发布说明。make release
状态检查
- 格式检查:确保代码符合 Black 和 isort 格式规范。
- 代码质量:执行 lint 检查以保证代码标准。
- 测试覆盖率:达到预设的测试覆盖率要求。
贡献指南
- 创建功能分支:
git checkout -b feature/amazing-feature main - 提交更改:
git add . git commit -m '实现新特性' - 推送分支并创建拉取请求。
支持与捐赠
- Patreon:支持作者,请访问 Patreon 链接
- PayPal:捐赠至 email@example.com
🔧 技术细节
本地开发
make dev-setup
运行开发服务器:
make run-dev
CI/CD 流水线
- 测试流水线:
- 在
main和develop分支上自动执行。 - 包括代码格式检查、静态分析和单元测试。
- 在
- 版本发布:
自动递增版本号并生成发布说明。make release
📄 API 文档
- Swagger UI:访问 http://localhost:8000/docs
- ReDoc:访问 http://localhost:8000/redoc
- 详细文档请参考 API 参考
🤝 贡献指南
欢迎贡献!请按照以下步骤提交代码:
- Fork 仓库。
- 创建功能分支。
- 提交代码并生成 commit 消息。
- 推送分支到远程仓库。
- 提交 Pull Request。
📄 许可证
本项目遵循 MIT 协议。详细内容请查看 LICENSE 文件。
微信扫一扫