hyperpolymath/pons
GitHub: hyperpolymath/pons
pons 是一款基于 Rust 和 tree-sitter 的深度静态扫描器,通过数据流和 typestate 分析标记代码中的无用功、自我矛盾与缺失逃生舱,并以诚实的证据等级呈现每一项发现。
Stars: 1 | Forks: 0
// SPDX-License-Identifier: CC-BY-SA-4.0
= pons
:toc: preamble
*pons* —— 取自 _pons asinorum_(欧几里得 I.5,“笨蛋的桥梁”),这是历史上用于区分真正理解与死记硬背的测试。它是一个轻量级的、多语言的静态扫描器,专门标记那些数学家和计算专家一眼就能看出、而普通程序员却容易忽略的一小部分错误——即*无用功*、*自我矛盾*和*缺失的逃生舱*——并为每一项发现提供诚实的标签,以表明证据的强度。
作为 https://github.com/hyperpolymath/panic-attack[panic-attack] 的设计伴侣:panic-attack 侧重于广度(49 种语言,安全/panic 弱点,行级模式 + 关系推理);pons 侧重于深度(少数几种语言,解析树 + 真实的数据流 + typestate,浪费/矛盾的代码坏味道)。参见 link:docs/adr/0004-companion-to-panic-attack.adoc[ADR-0004]。
== 状态
*规划已完成;实现尚未开始。* 此仓库目前包含已批准的 v0.1.0 计划,其编写方式使得实施智能体能够执行它,而无需重新讨论任何设计问题。
按以下顺序阅读:
. link:docs/pons-kickoff.adoc[启动文档] —— 使命、两个物种、可判定性之墙、四个证据等级、初始目录。
. link:docs/adr/0001-substrate.adoc[ADR-0001] —— 底层基础决策(tree-sitter 原生 + Rust)。*已决定;请勿重新试探。*
. link:docs/adr/0002-t1-language-and-cfg.adoc[ADR-0002] —— T1 语言(Python)以及完整的 CFG + 数据流设计。
. link:docs/adr/0003-protocol-spec-and-typestate.adoc[ADR-0003] —— T2 协议规范格式(TOML)和 typestate 语义。
. link:docs/adr/0004-companion-to-panic-attack.adoc[ADR-0004] —— 相对于 panic-attack 的定位。
. link:docs/PLAN.adoc[*PLAN.adoc*] —— 逐里程碑的实现计划,包含验收关卡和附录(数据流方程、查询指南、JSON schema、SARIF 映射、依赖锁定)。
== 一行契约
*绝不可将启发式方法伪装成证明。* 每一项发现都带有一个证据类别(`HEURISTIC` / `DATAFLOW` / `PROTOCOL` / `SPECULATIVE`),并且 `SPECULATIVE` 发现在所有输出格式中都会被视觉上降级。每条规则都附带一个能证伪它的负向语料库;如果一条规则在其自身的负向语料库上触发,它将被降级或移除,这由 CI 强制执行。
== 作者
Jonathan D.A. Jewell.
== 许可证
根据工件类型采用双重许可(于 2026-07-08 批准):
* *源代码* —— `MPL-2.0`(`LICENSE`, `LICENSES/MPL-2.0.txt`)。
* *文档、散文和 wiki* —— `CC-BY-SA-4.0`
(`docs/LICENSE`, `LICENSES/CC-BY-SA-4.0.txt`)。
每个文件都带有一个 SPDX 标头,声明适用上述两项中的哪一项。
标签:DNS重绑定攻击, Python安全, Rust, Tree-sitter, 云安全监控, 可视化界面, 网络流量审计, 逆向工具, 静态代码扫描器, 静态分析