mazdiaz/LLM-Package-Hallucinations-and-Registry-Abuse
GitHub: mazdiaz/LLM-Package-Hallucinations-and-Registry-Abuse
该研究项目系统调查 LLM 代码生成中「包幻觉」现象的频率,评估由此引发的供应链抢注攻击面,并探索基于分类器的缓解方案。
Stars: 0 | Forks: 0
# LLM 包幻觉与注册表滥用
调查大型语言模型推荐不存在的软件包的频率,以及由此产生的供应链攻击面的研究。
## 问题
生成代码的 LLM 经常会发出引用在真实 registry 中不存在的包的 `import` 语句。攻击者可以使用恶意代码注册这些幻觉出来的名称;遵循模型建议的用户将成为受害者。这种现象——“包幻觉”或“slopsquatting”——是一种新兴的软件供应链威胁。
## 研究问题
- **RQ1**:最先进的 LLM 在 Python、JavaScript、Go 和 Rust 生态系统中产生包幻觉的频率是多少?
- **RQ2**:目前有多少比例的幻觉包名称是可以注册的(未被声明的),从而量化实际的攻击面?
- **RQ3**:现有的 registry 防抢注防御机制(PyPI 名称策略,npm 垃圾检测)能否捕获由幻觉驱动的注册行为?
- **RQ4**:一个基于包元数据 + 代码上下文的轻量级分类器能否在执行前标记出幻觉?
## 研究方法
1. 在标准代码生成基准(HumanEval+、DS-1000、SWE-bench-lite)上运行 N 个 LLM。
2. 提取所有包引用(`import`、`require`、`use`、`#include`)。
3. 将每一个与实时的 registry 快照(PyPI、npm、Go proxy、crates.io)进行比对解析。
4. 分类:真实 / 幻觉 / 拼写错误变体。
5. 检查幻觉名称的可注册性(只读操作 —— 不进行任何注册)。
6. 训练并评估缓解分类器。
## 数据来源
| 来源 | 用途 |
|--------|---------|
| PyPI Simple API | Python 包基准数据 |
| npm registry | JavaScript 包基准数据 |
| deps.dev API | 跨 registry 元数据 |
| OSV.dev | 漏洞数据 |
| HumanEval+, DS-1000, SWE-bench-lite | 编程任务 |
## 状态
提案阶段 —— 见 `paper/proposal.md`。
## 伦理
- 研究人员不进行任何包注册。
- 幻觉名称列表在发表前仅与受影响的 registry 共享。
- 遵循负责任的漏洞披露时间表。
## 许可证
MIT —— 见 [LICENSE](LICENSE)。
标签:DLL 劫持, 代码生成, 供应链攻击, 可视化界面, 大语言模型, 威胁情报, 学术研究, 开发者工具, 数据可视化, 日志审计, 渗透测试工具, 误配置预防, 软件供应链安全, 远程方法调用, 逆向工具, 配置审计