uhbs/uhbs-standard

GitHub: uhbs/uhbs-standard

UHBS 是一套开源的通用蜜罐基准评估框架,通过标准化的多维度评分体系(UHQS)量化衡量各类蜜罐系统的欺骗真实性、安全遏制能力和遥测质量。

Stars: 1 | Forks: 0

# 通用蜜罐基准测试标准 (UHBS) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/a2/a23f7ad476f8dc02ae7025022c670227759d5a0bc18346d47669cdd5b94c7ef4.svg)](https://github.com/uhbs/uhbs-standard/actions/workflows/ci-validate.yml) [![文档](https://static.pigsec.cn/wp-content/uploads/repos/cas/7f/7f266822f251a1ea21220e039a6bbff9e05f449d2f270f6f77be80e261fd7946.svg)](https://uhbs.github.io/uhbs-standard/) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/cas/77/771a9ce93d71fa9185379c2bf247fbbaef9308612349152644e292859a4e4a75.svg)](https://github.com/uhbs/uhbs-standard/actions/workflows/codeql-analysis.yml) [![OpenSSF 最佳实践](https://www.bestpractices.dev/projects/13853/badge)](https://www.bestpractices.dev/projects/13853) [![PyPI](https://img.shields.io/pypi/v/uhbs.svg)](https://pypi.org/project/uhbs/) [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.21631156-blue)](https://doi.org/10.5281/zenodo.21631156) [![许可证](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![规范](https://img.shields.io/badge/Specification-v4.3.6-indigo.svg)](docs/specification/core-principles.md) [![UHQS](https://img.shields.io/badge/UHQS-0%E2%80%93100-success.svg)](docs/specification/scoring-formula.md) *已迁移至 uhbs 组织以保持更加清晰的结构* **UHBS v4.3.6** 按**类别和协议**衡量欺骗真实性、遏制能力、可扩展性和遥测质量。它**不是**一个行业协会标准或多党治理机构。有关成熟度目标,请参阅 [ROADMAP.md](ROADMAP.md)。 | | | | --- | --- | | **文档** | [着陆页](https://uhbs.github.io/uhbs-standard/) · [MkDocs](https://uhbs.github.io/uhbs-standard/mkdocs/) | | **PyPI** | [`uhbs`](https://pypi.org/project/uhbs/) | | **Python** | ≥ 3.11 | | **许可证** | [Apache-2.0](LICENSE) | ## 目录 - [项目状态](#project-status) - [您将获得什么](#what-you-get) - [安装](#install) - [快速开始](#quickstart) - [演示](#demo) - [评分 (UHQS)](#scoring-uhqs) - [可选的高级证据配置文件 (AEP)](#optional-advanced-evidence-profile-aep) - [文档导航](#documentation-map) - [仓库布局](#repository-layout) - [贡献](#contributing) - [安全](#security) - [引用](#citation) - [许可证](#license) ## 项目状态 **状态:** Beta / 实验性 — [规范状态](docs/specification/status.md) | 主题 | 当前现状 | | --- | --- | | 维护者 | [@mziqudhd92](https://github.com/mziqudhd92) — [MAINTAINERS.md](MAINTAINERS.md) | | 治理 | 单一维护者;尚无指导委员会 — [第 6 阶段路线图](ROADMAP.md#phase-6--community-maturity-aspirational--not-done) | | 评估范围 | **仅限实验室 / 沙盒** | | 建议的内部准入条件 | 在实验室评级之后,组织在部署诱饵之前**可以**使用 **UHQS > 80** + 通过安全关卡 — 这并非标准机构的强制要求 | ## 您将获得什么 | 能力 | 包 / 表面 | | --- | --- | | 规范 + schema (TPS、评分卡、证据) | 仓库 `docs/` · `schemas/` | | 验证配置文件和评分卡;重新计算 UHQS | `pip install uhbs` → `uhbs` | | 实时模块 A–F 实验室测试套件(**36** 个协议) | `pip install 'uhbs[lab]'` → `uhbs lab` / `uhbs-lab` | | AI 宿主 MCP 工具(验证/评分测试夹具;无实时探测) | `pip install 'uhbs[mcp]'` → `uhbs-mcp` | | 离线高级证据配置文件(可选;不改变 UHQS) | `pip install 'uhbs[aep]'` → `uhbs aep` | | AEP SLM 测试用例生成器(alpha 版;**在您修改配置前保持关闭**) | `pip install 'uhbs[aep-slm]'` → `uhbs aep slm` | | 已发布的实验室评级 / 测试夹具 | [docs/conformance/](docs/conformance/index.md) | **供应商中立性:** 规范文档使用类别和协议。具体产品仅在一致性测试部分作为评估**证明**出现,而非 UHBS 的要求。 | 支柱 | 详情 | | --- | --- | | 协议无关 | IT、OT/ICS、AI 和云诱饵类别 | | 定量化 | UHQS 0–100,带有来自模块 D 的安全关卡 \(\delta_C\) | | 双平面 | 静态审计 (F) + 动态模块 A–E | | 可选 AEP | 实验室诱饵与参考实验对比证据 (VoD, FSV, DTDR, EER) | ## 安装 ``` python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # Core CLI (验证 / 评分) pip install uhbs # 通用 lab 安装 pip install 'uhbs[lab]' # 可选附加项 (仅安装所需内容) pip install 'uhbs[mcp]' # AI-host MCP server pip install 'uhbs[aep]' # offline Advanced Evidence Profile pip install 'uhbs[aep-slm]' # alpha SLM trial helper (still off until you edit config) pip install 'uhbs[all]' # lab + mcp + scapy (convenience; still not an attack runner) ``` | 扩展包 | 用途 | | --- | --- | | *(无)* | 验证器 + UHQS 计算 | | `lab` | 受控的实时模块 A–F 测试套件 | | `mcp` | 本地 AI 宿主评分卡工具 (stdio MCP) | | `aep` | 离线高级证据分析 | | `aep-slm` | Alpha AEP SLM 测试用例生成器(**在您修改 `aep-slm.yaml` 前处于禁用状态**) | | `scapy` | 可选的协议编码后端 | | `dev` | pytest, ruff, mypy(面向贡献者包含 lab/mcp) | | `all` | `lab` + `mcp` + `scapy` | 开发版本检出: ``` git clone https://github.com/uhbs/uhbs-standard.git cd uhbs-standard pip install -e ".[lab,dev]" # 可选: pip install -e ".[aep,mcp]" pytest -q ``` ## 快速开始 ### 1. 验证配置文件或评分卡 ``` # 从 git checkout 安装 (模板随 repo 一起提供) cp templates/profile.yaml ./my-honeypot.profile.yaml uhbs validate-profile my-honeypot.profile.yaml uhbs validate-scorecard path/to/scorecard.json uhbs score --class Low-Interaction --scores scores.json ``` ### 2. 运行实验室测试套件(仅限隔离诱饵) ``` pip install 'uhbs[lab]' uhbs lab --list-protocols # 示例 shape — 仅指向你控制的 lab decoy: # uhbs lab --tps low_interaction --protocol ssh \ # --target 127.0.0.1 --port 2222 --out ./.local/bench-reports/my-target ``` ### 3. 可选 AEP(离线实验室证据) ``` pip install 'uhbs[aep]' uhbs aep example beginner --out aep-beginner uhbs aep validate aep-beginner/experiment.yaml uhbs aep analyze --experiment aep-beginner/experiment.yaml \ --trials aep-beginner/trials.jsonl \ --scorecard aep-beginner/linked-scorecard.json \ --out advanced-evidence.json uhbs aep report advanced-evidence.json --format markdown --out ADVANCED-EVIDENCE.md ``` ### 3b. 可选 AEP SLM alpha 版(默认关闭) 使用确定性的模拟程序或仅限本地回环的本地模型草拟 AEP 测试 JSONL。 **安装并不会启用它** —— 请先修改 `aep-slm.yaml`。这不会改变 UHQS。 指南:[SLM 评估器(alpha 版)](https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/slm-alpha/)。 ``` pip install 'uhbs[aep-slm]' uhbs aep slm init --out aep-slm.yaml uhbs aep slm status aep-slm.yaml # shows LOCKED until you edit the file # 编辑 aep-slm.yaml: enabled + unlock phrase + attestations (参见文档) # uhbs aep slm generate aep-slm.yaml ``` ### 面向 AI 宿主的 MCP(Cursor, Claude, VS Code, …) ``` pip install 'uhbs[mcp]' # 配置主机 — 参见 docs/tooling/mcp.md # uhbs-mcp 或者: python -m uhbs_mcp ``` 注册表元数据:[`server.json`](server.json)。实时实验室探测保留在 `uhbs lab` 上,而不是 AI 宿主的 MCP 服务器上。 使用树内的 `mcp` **协议插件**(`uhbs[lab]`)对 **MCP 蜜罐**表面(基于 HTTP/SSE 的 JSON-RPC)进行评级 —— 这与上面的 AI 宿主服务器不同。请参阅 [MCP 蜜罐评级](docs/architecture/mcp-honeypot-grading.md)。 ### Docker ``` docker build -t uhbs:4.3.6 . docker run --rm -v "$PWD:/work" -w /work uhbs:4.3.6 \ validate-scorecard ./docs/conformance/fixtures/cowrie-low-interaction.scorecard.json docker run --rm -v "$PWD:/work" -w /work uhbs:4.3.6 lab --list-protocols ``` Compose:`docker compose run --rm uhbs validate-profile ./my-honeypot.profile.yaml`. ## 演示 终端演练:安装 UHBS + Cowrie/Conpot,启动实验室诱饵,完整的 UHQS (Cowrie SSH · Conpot Modbus · HellPot HTTP)。 ![UHBS 实验室演示 — 安装蜜罐 + 完整 UHQS](https://static.pigsec.cn/wp-content/uploads/repos/cas/31/3139fe81933cebf6c9cde4002f5a8c572d0088a4a80336fc398e96ec6448d8e5.gif) 回放:[`docs/assets/uhbs-lab-demo.cast`](docs/assets/uhbs-lab-demo.cast) (`asciinema play docs/assets/uhbs-lab-demo.cast`). ## 评分 (UHQS) **通用蜜罐质量评分**是一个标准化的综合分,范围为 **0–100**: \[ \mathrm{UHQS} = \delta_C \cdot (w_A S_A + w_B S_B + w_C S_C + w_E S_E + w_F S_F) \] | 符号 | 含义 | | --- | --- | | \(S_A \ldots S_F\) | 模块得分 0–100 | | \(w_A \ldots w_F\) | 配置文件自适应权重(总和为 1.00) | | \(\delta_C\) | 来自模块 D 的安全关卡:若 \(C \ge 95\) 则为 \(1.0\),否则为 \((C/100)^2\) | | 模块 | 重点 | | --- | --- | | **A** | 协议与语法保真度 | | **B** | 行为与状态真实性 | | **C** | 遥测质量与流水线韧性 | | **D** | 安全、遏制与边界控制(**安全关卡**) | | **E** | 可扩展性、延迟与压力测试 | | **F** | 白盒静态代码审计 | 如果模块 D 较弱,即使诱饵的欺骗性得分很高,也可能无法通过实验室评估。规范性数学定义:[`uhqs_math.py`](src/uhbs_core/uhqs_math.py) · [评分公式](docs/specification/scoring-formula.md)。 ### 实验室审计工作流(5 个阶段) ``` Profile & config → Static audit (F) → Sandbox provision → Dynamic A–E → Score & report ``` ## 可选的高级证据配置文件 (AEP) UHQS 仍然是规范性的实验室评级。**AEP** 是一个可选的、信息化的层,用于受控的**实验室**诱饵与参考对比实验。**AEP 不会改变 UHQS。** | 何时使用 | 用途 | | --- | --- | | 实验室发布 / 一致性 | 仅使用 UHBS 评分卡 | | 比较性实验室研究 | 添加 AEP(`VoD`, `FSV`, `DTDR`, `EER` + 不确定性) | - 仅对本地实验/测试文件进行离线分析 —— 不发起攻击 - 状态词汇:`valid | inconclusive | control_failed`(不是字母等级) - 打包的示例:`uhbs aep example beginner|advanced|template` **学术致谢**(引用 ≠ 认可):Zhu (2019), Collins et al. (2024), Ersok et al. (2022), Li et al. (2020) — 完整记录: [研究基础与致谢](https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/research-foundations/)。 | 文档 | URL | | --- | --- | | 概述 | https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/ | | 初学者教程 | https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/tutorial-beginner/ | | CLI | https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/cli/ | | SLM 评估器(alpha 版,选择性启用) | https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/slm-alpha/ | | 着陆页中心(AEP 部分) | https://uhbs.github.io/uhbs-standard/#advanced-evidence | | 相关框架 | https://uhbs.github.io/uhbs-standard/mkdocs/mappings/related-frameworks/ | ## 文档导航 | 资源 | 链接 | | --- | --- | | 着陆页中心 | https://uhbs.github.io/uhbs-standard/ | | 规范 | https://uhbs.github.io/uhbs-standard/mkdocs/specification/core-principles/ | | 站点地图索引 (SEO) | https://uhbs.github.io/uhbs-standard/sitemap.xml | | CLI 指南 | [docs/tooling/cli.md](docs/tooling/cli.md) | | MCP(AI 宿主) | [docs/tooling/mcp.md](docs/tooling/mcp.md) | | AEP SLM(alpha 版) | https://uhbs.github.io/uhbs-standard/mkdocs/advanced-evidence/slm-alpha/ | | 参考测试套件 | [docs/reference-implementation.md](docs/reference-implementation.md) | | 一致性与实验室报告 | [docs/conformance/index.md](docs/conformance/index.md) | | 框架映射 | [docs/mappings/index.md](docs/mappings/index.md) | | 成熟度路线图 | [ROADMAP.md](ROADMAP.md) | | Agent / SEO / AEO 索引 | [llms.txt](llms.txt) · [AGENTS.md](AGENTS.md) · [humans.txt](docs/humans.txt) | ## 仓库布局 ``` uhbs-standard/ ├── docs/ # MkDocs site + conformance proof │ ├── advanced-evidence/ # Optional AEP docs │ ├── conformance/ # Fixtures, lab reports, tutorials │ ├── mappings/ # ATT&CK, D3FEND, Engage, related frameworks │ └── specification/ # Normative prose ├── schemas/ # JSON Schemas (scorecard, AEP, …) ├── templates/ # Starter TPS + AEP templates ├── examples/advanced-evidence/# Synthetic AEP fixtures (also packaged in wheel) ├── src/uhbs_cli/ # `uhbs` CLI (+ packaged schemas / AEP data) ├── src/uhbs_core/ # UHBS-Lab harness + UHQS math ├── src/uhbs_mcp/ # AI-host MCP server ├── tests/ # pytest suite ├── Dockerfile # Grading image ├── CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md · GOVERNANCE.md └── CITATION.cff ``` ## 嵌入已发布的评级 在您发布评分卡(一致性测试 / 您自己的报告)之后,您可以为其添加徽章: ``` ![UHBS v4.3.6](https://img.shields.io/badge/UHBS%20v4.3.6-Grade%20A-brightgreen) ``` ## 安全 请按照 [SECURITY.md](SECURITY.md) 的说明,通过 [GitHub 安全公告](https://github.com/uhbs/uhbs-standard/security/advisories/new) 报告漏洞。请勿将 UHBS 工具用于未经授权测试的系统。 ## 引用 ``` @software{uhbs2026, author = {Zavdi, Moran}, title = {Universal Honeypot Benchmarking Standard (UHBS)}, year = {2026}, version = {4.3.6}, publisher = {Zenodo}, doi = {10.5281/zenodo.21631156}, url = {https://doi.org/10.5281/zenodo.21631156} } ``` 机器可读格式:[`CITATIONff`](CITATION.cff)。概念 DOI(最新存入): [10.5281/zenodo.21631155](https://doi.org/10.5281/zenodo.21631155)。 ## 许可证 根据 [Apache License 2.0](LICENSE) 授权。
标签:BOF, CSP, Python, 反取证, 安全标准, 安全评估, 实时处理, 密码管理, 无后门, 欺骗防御, 蜜罐, 证书利用, 请求拦截, 逆向工具