cognis-digital/milstdlint

GitHub: cognis-digital/milstdlint

一款根据美国国防部 MIL-STD/DoD 格式与涉密标记规则对文档进行静态 lint 检查的合规工具,支持 CI 集成与 AI agent 驱动。

Stars: 0 | Forks: 0

MILSTDLINT # MILSTDLINT ### 根据MIL-STD / DoD的格式和涉密标记规则对文档进行Lint检查。 [![PyPI](https://img.shields.io/pypi/v/cognis-milstdlint.svg?color=6b46c1)](https://pypi.org/project/cognis-milstdlint/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/993938d8ce5e902ccfb9d6747725c320d855dea3235ed9a304cedf0d94c9321f.svg)](https://github.com/cognis-digital/milstdlint/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-milstdlint milstdlint scan . # → prioritized findings in seconds ``` ## 🔎 示例输出 该工具生成的真实、可复现的输出 —— 完全离线运行: ``` $ milstdlint-emit --version milstdlint 0.1.0 ``` ``` $ milstdlint-emit --help usage: milstdlint [-h] [--version] {lint} ... Lint documents against MIL-STD / DoD formatting and classification-marking rules (static analysis only). positional arguments: {lint} lint Lint one or more document files. options: -h, --help show this help message and exit --version show program's version number and exit ``` **示例结果格式** _(说明性数值 —— 请在您自己的数据上运行以获取真实结果):_ ``` { "findings": [ { "id": "1234567890", "title": "Suspicious Network Activity", "description": "Anomalous network traffic detected from IP 192.168.1.100", "severity": "medium", "created_at": "2023-02-20T14:30:00Z" }, { "id": "2345678901", "title": "Potential Malware Infection", "description": "Malicious code detected on host 192.168.1.101", "severity": "high", "created_at": "2023-02-20T14:31:00Z" } ] } ``` ## 使用说明 — 分步指南 `milstdlint` 会根据 MIL-STD / DoD 的格式和涉密标记规则对文档进行静态 lint 检查。控制台脚本命令:`milstdlint`。 1. 从克隆的仓库中**安装**: pip install -e . 2. **对单个或多个文件进行 lint 检查** —— 遇到任何 ERROR 严重级别的检查结果时将以非零状态码退出: milstdlint lint report.txt annex.txt 3. **提高检查门槛** —— 使用 `--strict` 将格式警告提升为错误: milstdlint lint --strict report.txt 4. **查看输出** —— `--format json` 会输出每个文件的检查结果以及一个摘要: milstdlint lint report.txt --format json | jq '.summary' `summary.failed` / `summary.total_errors` 会告诉您需要修复什么。 5. **为代码扫描生成 SARIF** —— `--format sarif` 会生成一个 SARIF 2.1.0 日志,GitHub 代码扫描(以及任何 SARIF 查看器)可以将其内嵌渲染: milstdlint lint docs/*.txt --format sarif > milstdlint.sarif 6. **在 CI 中实现自动化** —— 阻止破坏标记规则的合并: - run: pip install -e . - run: milstdlint lint docs/**/*.txt --strict ### 输出格式 | `--format` | 用途 | |---|---| | `table` (默认) | 人类可读的终端输出。 | | `json` | 通过管道传递给 agents、`jq` 或合规流水线。 | | `sarif` | GitHub 代码扫描、Azure DevOps、SARIF 查看器(SARIF 2.1.0)。 | ### 尝试演示 [`demos/`](demos/) 目录包含十个可直接运行的场景,每个场景都附带一份真实的已标记文档和一个 `SCENARIO.md`(说明其内容、预期结果、确切命令以及如何操作): | 演示 | 展示内容 | |---|---| | `01-basic` | 标记不足的 SECRET 备忘录(包含多个错误)。 | | `02-clean` | 干净的 UNCLASSIFIED 基准样本(零检查结果)。 | | `03-mixed` | 基本正确的 OPORD,带有两处孤立的缺陷。 | | `04-cui-spec` | 干净的 CUI 接口控制文档。 | | `05-nofile-banner` | 缺少总体标志(`BANNER-MISSING`)。 | | `06-line-length-tab` | 格式规范检查 + `--strict` 检查门槛。 | | `07-portion-mismatch-ts` | 位于 SECRET 标志下的 `(TS)` 部分标记(标记不足)。 | | `08-clean-tdp` | 干净的多级技术数据包封面页。 | | `09-unknown-token` | 无效的部分标记符(`PORTION-UNKNOWN`)。 | | `10-sarif-ci` | 用于 GitHub 代码扫描的 SARIF 2.1.0 导出。 | ``` python -m milstdlint lint demos/07-portion-mismatch-ts/intsum_undermarked.txt python -m milstdlint lint demos/10-sarif-ci/release_gate.txt --format sarif ``` ## 目录 - [为什么选择 milstdlint?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关工具](#related) · [贡献](#contributing) ## 为什么选择 milstdlint? 根据 MIL-STD / DoD 的格式和涉密标记规则对文档进行 Lint 检查。—— 无需搭建重量级的基础设施。 `milstdlint` 具有单一用途、可脚本化且支持自托管:将其指向目标,以您现有工作流所使用的格式(table · JSON · SARIF)获取已排好优先级的结果,在 CI 中设置检查门槛,并允许 agents 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ Lint 文本 - ✅ Lint 文件 - ✅ 支持 Linux/macOS/Windows · Docker · devcontainer 运行 - ✅ 提供 Python、JavaScript、Go 和 Rust 版本移植(`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-milstdlint milstdlint --version milstdlint scan . # scan current project milstdlint scan . --format json # machine-readable milstdlint scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ milstdlint scan . [HIGH ] MIL-001 example finding (./src/app.py) [MEDIUM ] MIL-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[target / manifest] --> P[milstdlint
checks + rules] P --> OUT[findings (JSON / SARIF)] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `milstdlint` 能够与所有流行的 AI 使用方式实现互操作: - **MCP server** — `milstdlint mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **OpenAI 兼容 / JSON** — 通过管道将 `milstdlint scan . --format json` 传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 用一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI 流水线提供退出代码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis milstdlint** | 典型工具 | |---|:---:|:---:| | 支持自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 提供 CI 用的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生支持(AI agents) | ✅ | ❌ | | 多语言移植(JS/Go/Rust) | ✅ | ❌ | | 开放许可协议 | ✅ COCL | 视情况而定 |
↑ 回到顶部
## 集成 可通过管道接入您的技术栈:用于代码扫描的 **SARIF**,适用于任何场景的 **JSON**,面向 AI agents 的 **MCP server**(`milstdlint mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 覆盖各种方式和平台 ``` pip install "git+https://github.com/cognis-digital/milstdlint.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/milstdlint.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/milstdlint.git" # uv pip install cognis-milstdlint # PyPI (when published) docker run --rm ghcr.io/cognis-digital/milstdlint:latest --help # Docker brew install cognis-digital/tap/milstdlint # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/milstdlint/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/milstdlint` | [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
标签:MIL-STD, Python, 云安全监控, 人工智能安全, 可视化界面, 合规性, 数据可视化, 文档规范, 无后门, 日志审计, 请求拦截, 逆向工具, 静态分析