cognis-digital/yaragen

GitHub: cognis-digital/yaragen

从样本文件或字符串中自动提取特征并生成候选 YARA 规则的命令行工具,支持 CI 集成与 MCP AI agent 调用。

Stars: 0 | Forks: 0

YARAGEN # YARAGEN ### 从样本文件/字符串生成候选 YARA 规则 [![PyPI](https://img.shields.io/pypi/v/cognis-yaragen.svg?color=6b46c1)](https://pypi.org/project/cognis-yaragen/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/eb76aa33f7053509.svg)](https://github.com/cognis-digital/yaragen/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *Cognis Neural Suite 的一部分。*
``` pip install cognis-yaragen yaragen scan . # → prioritized findings in seconds ``` ## 使用说明 — 分步指南 1. **安装** CLI(控制台脚本 `yaragen`): pip install cognis-yaragen 2. **从您拥有的样本文件或目录生成候选 YARA 规则**: yaragen generate ./samples/malware.bin yaragen generate ./samples/ 3. 使用 `--top` 为每个样本**调整指标预算**: yaragen generate ./samples/ --top 30 4. 将结果**读取**为 JSON,或将可审查的 HTML 报告写入磁盘: yaragen generate ./samples/ --format json -o rules.json yaragen generate ./samples/ --format html -o yaragen-report.html 5. **在 CI 中实现自动化** — 每次运行时从样本语料库重新生成候选规则(部署前需进行审查): - run: pip install cognis-yaragen - run: yaragen generate ./samples/ --format json -o candidate-rules.json ## 目录 - [为什么选择 yaragen?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比分析](#how-it-compares) · [集成](#integrations) · [任意平台安装](#install-anywhere) · [相关工具](#related) · [贡献指南](#contributing) ## 为什么选择 yaragen? 从样本文件/字符串生成候选 YARA 规则 — 无需搭建重量级的基础设施。 `yaragen` 功能单一、可脚本化且支持自托管:将其指向目标,即可通过您的工作流已支持的语言格式(表格 · JSON · SARIF)获取已排好优先级的结果,将其接入 CI 作为门禁,并允许 Agent 通过 MCP 进行驱动。
↑ 回到顶部
## 功能 - ✅ 香农熵 - ✅ 提取字符串 - ✅ 字符串评分 - ✅ 分析样本 - ✅ 生成规则 - ✅ 可在 Linux/macOS/Windows · Docker · devcontainer 上运行 - ✅ 提供 Python, JavaScript, Go 和 Rust 的移植版本 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-yaragen yaragen --version yaragen scan . # scan current project yaragen scan . --format json # machine-readable yaragen scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ yaragen scan . [HIGH ] YAR-001 example finding (./src/app.py) [MEDIUM ] YAR-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[binary / sample] --> P[yaragen
scan + match] P --> OUT[detections] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `yaragen` 兼容所有主流的 AI 使用方式: - **MCP server** — `yaragen mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 将 `yaragen scan . --format json` 的输出通过管道传递给任何 Agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 只需一行代码即可将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI pipeline 提供 exit code + SARIF 支持
↑ 回到顶部
## 对比分析 | | **Cognis yaragen** | 典型工具 | |---|:---:|:---:| | 支持自托管,无需账号 | ✅ | 视情况而定 | | 单条命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生支持 (AI agents) | ✅ | ❌ | | 多语言移植 (JS/Go/Rust) | ✅ | ❌ | | 开源协议 | ✅ COCL | 视情况而定 |
↑ 回到顶部
## 集成 可接入您的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,面向 AI agents 的 **MCP server** (`yaragen mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,各个平台 ``` pip install "git+https://github.com/cognis-digital/yaragen.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/yaragen.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/yaragen.git" # uv pip install cognis-yaragen # PyPI (when published) docker run --rm ghcr.io/cognis-digital/yaragen:latest --help # Docker brew install cognis-digital/tap/yaragen # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/yaragen/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | Cloud | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/yaragen` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 **探索工具套件 →** [🗂️ 全部 170+ 个工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与包含 300+ 个工具的 Cognis 套件无缝组合 — 统一的 JSON 输入/输出以及共享的兼容 OpenAI 的 `/v1` 骨干网络。有关套件图谱、组合模式以及参考技术栈,请参阅 **[INTEROP.md](INTEROP.md)**。 ## 许可证 在 **Cognis Open Collaboration License (COCL) v1.0** 协议下提供源码(源码可见) — 可免费用于个人、内部评估、研究和教育用途;**商业/生产环境使用需要获得许可** (licensing@cognis.digital)。详见 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中 170+ 个工具之一 · Making Tomorrow Better Today
标签:DAST, DNS 反向解析, LNA, YARA, 云资产可视化, 可视化界面, 威胁情报, 开发者工具, 恶意软件分析, 数据可视化, 日志审计, 网络信息收集, 网络调试, 自动化, 请求拦截, 逆向工具