LalaSkye/policy-lint
GitHub: LalaSkye/policy-lint
用于治理声明的确定性静态检查器,识别不可证伪声明和模糊安全语言,输出态势分类与0-1评分。
Stars: 0 | Forks: 0

[](https://opensource.org/licenses/Apache-2.0)
[](https://www.python.org/)


# policy-lint
用于治理声明的确定性 Linter —— 揭示不可证伪的声明、模糊的安全语言和范围缺口。无 AI、无 ML、无观点。
## 为什么存在此项目
政策文件充斥着听起来像承诺但不包含可测试声明的句子。像“始终安全”、“确保负责任的行为”或“显著降低风险”这样的词语,虽然在语法上是有效的,但在操作层面上是空洞的。`policy-lint` 以低成本且可复现的方式将这些问题可视化,以便审查人员、审计人员和工程师能够发问:*这句话可以被证伪吗?* 它不提供建议,也不重写任何内容。它仅揭示现有内容的结构属性。治理声明本身也需要治理 —— 这是政策语言在进入决策面之前的准入检查。
## 架构
```
Input (string / --file / stdin)
|
v
┌──────────────────────────────────────────────────────┐
│ policy_lint.py │
│ │
│ Rule engine (named regex patterns, stdlib re only) │
│ │
│ WARN_UNIVERSAL ──┐ │
│ WARN_VAGUE_SAFETY ──┤ │
│ WARN_INTENT_LANGUAGE──┤──> sorted typed warnings │
│ WARN_MARKETING ──┤ │
│ WARN_NON_OPERATIONAL──┤ │
│ WARN_SCOPE_MISSING ──┤ │
│ WARN_EMPTY ──┘ │
│ | │
│ v │
│ Posture classification + 0–1 score │
└──────────────────────────────────────────────────────┘
|
v
Plain text output OR --json (deterministic key ordering)
```
## 快速开始
```
git clone https://github.com/LalaSkye/policy-lint.git
cd policy-lint
pip install -e .
# Inline statement
policy-lint "The system is always safe and trustworthy."
# File of statements
policy-lint --file examples/sample_statements.txt
# Stdin
echo "Data is never shared without consent." | policy-lint
# JSON output
policy-lint --json "The API shall respond within 500ms for 99% of requests."
```
## 示例输出
```
STATEMENT : 'The system is always safe and trustworthy.'
[ERROR ] WARN_UNIVERSAL --> always
[WARNING] WARN_VAGUE_SAFETY --> safe, trustworthy
POSTURE : NON_FALSIFIABLE
SCORE : 0.2857
FLAGS : WARN_UNIVERSAL, WARN_VAGUE_SAFETY
---
STATEMENT : 'The API shall respond within 500ms for 99% of requests.'
(no warnings)
POSTURE : HARD_INVARIANT
SCORE : 1.0000
FLAGS : --
---
STATEMENT : 'The system ensures responsible behaviour for all users.'
[WARNING] WARN_NON_OPERATIONAL --> ensures
[WARNING] WARN_VAGUE_SAFETY --> responsible
[WARNING] WARN_SCOPE_MISSING --> users
POSTURE : COST_CURVE
SCORE : 0.4286
FLAGS : WARN_NON_OPERATIONAL, WARN_VAGUE_SAFETY, WARN_SCOPE_MISSING
```
JSON 输出:
```
{
"statement": "The API shall respond within 500ms for 99% of requests.",
"posture": "HARD_INVARIANT",
"score": 1.0,
"flags": [],
"warnings": []
}
```
## 态势分类
| 态势 | 含义 |
|---|---|
| `HARD_INVARIANT` | 可衡量、有范围、无绝对声明 —— 结构上可证伪 |
| `COST_CURVE` | 软性承诺(`aims`/`seeks`/`should`)或中等警告负载 |
| `AMBIGUOUS` | 信号不足,难以明确分类 |
| `NON_FALSIFIABLE` | 高警告负载、绝对声明,或无条件模糊安全声明 |
## 规则族
| 规则 ID | 触发条件 |
|---|---|
| `WARN_EMPTY` | 输入为空或仅含空白字符 |
| `WARN_INTENT_LANGUAGE` | `understands`、`wants`、`decides`、`knows`、`believes`、`intends` |
| `WARN_MARKETING_LANGUAGE` | `significantly`、`substantially`、`industry-leading`、`best-in-class` |
| `WARN_NON_OPERATIONAL` | `ensure`、`prevent`、`avoid`、`mitigate`、`promote` 且未定义范围 |
| `WARN_SCOPE_MISSING` | `users`、`data`、`harm`、`system`、`model` 且无修饰语 |
| `WARN_UNIVERSAL` | `always`、`never`、`guaranteed`、`cannot fail`、`impossible`、`100%`、`zero risk` |
| `WARN_VAGUE_SAFETY` | `safe`、`secure`、`robust`、`ethical`、`responsible`、`trustworthy`、`fair`、`aligned` |
## 设计约束
- **确定性:** 在 Python 3.10 / 3.11 / 3.12 环境下,相同输入产生相同输出;无随机性,无语言环境依赖
- **可审计:** 所有规则均为单一文件中的命名正则表达式模式;无隐藏逻辑
- **轻量:** 核心模块 < 200 LOC;零非 stdlib 依赖
- **经过测试:** pytest 套件覆盖确定性、规则触发、边缘情况和排序稳定性
## 测试
```
pip install pytest
pytest -v
```
## 非目标
无 Web UI。无 GitHub Action 模板。无 LLM 集成。无推荐引擎。无自动重写。无数据集收集。非 AI。非法律建议。非策略引擎。
## 执行边界系列的一部分
| 仓库 | 层级 | 功能 |
|---|---|---|
| [interpretation-boundary-lab](https://github.com/LalaSkye/interpretation-boundary-lab) | 上游边界 | 针对解释的 10 规则准入门控 |
| [dual-boundary-admissibility-lab](https://github.com/LalaSkye/dual-boundary-admissibility-lab) | 完整走廊 | 具有压力监控和 C 区旋转的双边界模型 |
| [execution-boundary-lab](https://github.com/LalaSkye/execution-boundary-lab) | 执行边界 | 演示缺乏上游治理时的级联故障 |
| [stop-machine](https://github.com/LalaSkye/stop-machine) | 控制原语 | 确定性的三态停止控制器 |
| [constraint-workshop](https://github.com/LalaSkye/constraint-workshop) | 控制原语 | 权限门控、不变性试金石、停止机器 |
| [csgr-lab](https://github.com/LalaSkye/csgr-lab) | 度量 | 收缩稳定性与漂移度量 |
| [invariant-lock](https://github.com/LalaSkye/invariant-lock) | 漂移预防 | 除非版本递增,否则拒绝执行 |
| [policy-lint](https://github.com/LalaSkye/policy-lint) | 策略验证 | 用于治理声明的确定性 Linter |
| [deterministic-lexicon](https://github.com/LalaSkye/deterministic-lexicon) | 词汇表 | 固定术语、精确匹配、无推理 |
## 许可证
Apache 2.0。参见 `LICENSE`。
标签:DevSecOps, JSONLines, Python, 上游代理, 云安全监控, 安全态势, 文本分析, 无依赖, 无后门, 模糊语言检测, 治理与风险, 瑞士军刀, 策略合规, 轻量级工具, 零信任, 静态分析