
# MILSTDLINT
### 根据MIL-STD / DoD的格式和涉密标记规则对文档进行Lint检查。

[](https://pypi.org/project/cognis-milstdlint/) [](https://github.com/cognis-digital/milstdlint/actions) [](LICENSE) [](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