KnottNefarious/infinity-fugue-engine
GitHub: KnottNefarious/infinity-fugue-engine
基于数学对位法构建的 Python 静态分析引擎,通过形式化推理统一处理安全漏洞检测与代码质量问题。
Stars: 0 | Forks: 0
# infinity-fugue-engine
🫀🫀🫀🫀🫀🫀🫀🫀🫀🫀🫀🫀
基于数学对位法构建的 Python 代码分析引擎(支持移动端)——利用生成函数、Banach 收敛和路径敏感污点分析进行安全与质量不协和检测。
# Infinity × Fugue — 统一代码分析引擎 🎼
完全基于单一元数学框架构建的 Python 代码分析引擎 —— **数学对位法**。不是在 Linter 之上添加数学,而是数学本身*即是*分析。
## 在线演示 💾
👉 部署到 Replit 并访问 Web 界面以即时分析代码。
[](https://unified-engine--KnottNefarious.replit.app)
## 功能
同时在两个维度上分析 Python 代码:🐍⛎
**安全不协和** —— 通过证明 Γ 无法建立“汇点 S 处的输入是安全的”来发现漏洞:🧮
- SQL 注入
- 命令注入
- 路径遍历
- 跨站脚本攻击 (XSS)
- 服务端请求伪造 (SSRF)
- 不安全的反序列化
- 不安全的直接对象引用 (IDOR)
- 缺失授权
**结构不协和** —— 通过证明逻辑矛盾来发现代码质量问题:
- 不可达代码(在 return, raise, 常量为 false 的条件之后)
- 未使用的变量(具备作用域感知和闭包感知能力)
- 无效赋值(在首次读取前被覆盖)
**数学分析** —— 每次运行都会产生:
- G(x) = Σ aₙxⁿ — 深度索引生成函数(结构指纹)
- K(x) 归一化 — 基于压缩的 Kolmogorov 复杂度
- Halstead 指标 — 体积、难度、工作量、预估 Bug 数
- Banach 收敛 — 跨运行的 Jaccard 距离追踪
- 结构转位 — 程序间的同构检测
## 框架
每个分析阶段都精确对应五个原始推理动作之一:
| 动作 | 数学 | 引擎阶段 |
|---------------|-----------------------------------------------|-------------------------------------------------------|
| Subject | G(x) = Σ aₙxⁿ | SubjectExtractor — 读取结构形状,而非值 |
| Dissonance. | Γ ⊢ φ ⟺ ¬(Γ ∪ {¬φ} consistent). | DissonanceDetector + PathSensitiveTaintAnalyzer. |
| Transposition | F : C ≅ D | TranspositionFinder — 结构 DNA 匹配. |
| Resolution | lim \|Sₙ − L\| < ε | ResolutionPredictor — Banach 不动点收敛 |
| Compression. | K(x) = min{\|p\| : U(p) = x} | KolmogorovComplexity + HalsteadMetrics |
安全分析不是第六件事。它是**全深度的 Dissonance** —— 同一种形式结构,应用于一类更难的逻辑矛盾:程序与其用户之间的安全契约。
## 一个基于形式数学的污点分析和 Python 安全扫描器,提供静态分析功能。
## 快速开始
### Replit
1. 将此仓库导入 Replit
2. 点击 **Run** — Replit 读取 `.replit` 并自动启动
3. 在 Replit 浏览器窗格中打开 Web 界面
### 本地
```
git clone https://github.com/YOUR_USERNAME/infinity-fugue-engine
cd infinity-fugue-engine
pip install -r requirements.txt
python app.py
# 打开 http://localhost:5000
```
## API
### `POST /api/analyze`
```
{ "code": "def view():\n uid = request.args.get('id')\n cursor.execute('SELECT * FROM t WHERE id = ' + uid)" }
```
返回完整报告:安全发现、结构问题、K(x)、Halstead、G(x)、收敛序列、修复预测。
### `POST /api/compare`
```
{ "code_a": "...", "code_b": "..." }
```
返回结构转位分析:类型相似度、深度相似度、调用图相似度、结论(同构 / 相似 / 分歧)。
### `GET /api/health`
## 返回引擎状态、运行次数、收敛历史长度。
## 架构
meta_code/
├── taint.py 路径敏感污点分析 (CFG × TaintState)
├── sinks.py 安全汇点定义 — 全部 8 种漏洞类型
├── meta_engine.py 7 阶段编排器(用于收敛追踪的单例)
├── resolution.py Banach 不动点收敛,Jaccard 距离
├── core.py 数据结构:Finding, Issue, DissonanceReport
├── subject.py G(x) 生成函数,结构指纹
├── dissonance.py CFG + ScopeTree + ShadowAnalyzer
├── compression.py 归一化 K(x) + Halstead 指标
├── transposition.py 结构比较:类型 + 深度 + 调用图
└── execution.py 沙箱运行时验证
### 单例设计
引擎在服务器启动时实例化一次,而非在请求处理程序内部实例化。这使得 Banach 收敛具有意义 —— 每次分析运行的历史记录在服务器的整个生命周期内累积,Jaccard 距离序列是真实的。
### 路径敏感污点
污点分析使用 CFG × TaintState 乘积构造。在程序中的每个点,污点状态逐路径携带:
- abort() 和 raise 是路径终止符 —— 它们正确传播授权守卫
- BinOp 从任一操作数返回污点(修复了最常见的注入盲点)
- 所有函数体均被无条件分析 —— 包括 Flask @app.route 函数
## 测试 2️⃣➕2️⃣🟰❔
bash
python tests/test_suite.py
跨 10 个类别的 93 项测试:
|测试类型. |数量|✓|
|---------------------------|--------------|-|
|- 污点源 |(7 tests) |✓|
|- 污点传播 |(8 tests). |✓|
|- 汇点检测. |(18 tests) |✓|
|- 误报. |(8 tests). |✓|
|- 路径敏感 |(4 tests). |✓|
|- 过程间 |(4 tests). |✓|
|- 结构质量. |(11 tests). |✓|
|- 数学 |(11 tests). |✓|
|- 流水线 / 集成 3 |(9 tests). |✓|
|- 边缘情况 |(13 tests). |✓|
全部 93 项通过。🤯
## 数学基础 🧠
- **生成函数** — Flajolet & Sedgewick, *Analytic Combinatorics* (2009)
- **形式逻辑 Γ ⊢ φ** — 矢列演算; Gentzen (1935)
- **Kolmogorov 复杂度** — Kolmogorov (1965), Chaitin (1966)
- **Halstead 指标** — Maurice Halstead, *Elements of Software Science* (1977)
- **Banach 不动点定理** — Stefan Banach (1922)
- **Jaccard 距离** — 严格度量; 自反、对称、满足三角不等式
- **范畴函子 F: C ≅ D** — Mac Lane & Eilenberg (1945)
- **数据流分析** — Kildall (1973); CFG × TaintState 乘积构造
## 许可证 🪪
MIT
![]() |
![]() |
标签:Banach空间, CISA项目, IDE插件, PE 加载器, Python代码分析, SAST, SecOps, SQL注入检测, SSRF检测, URL发现, XSS检测, 不可达代码, 云安全架构, 元数学, 反演, 命令注入, 安全检测, 开发安全, 数学建模, 生成函数, 盲注攻击, 符号执行, 路径敏感分析, 路径遍历, 逆向工具, 错误基检测, 静态代码分析

