Patcy-AI/patcypay-assist
GitHub: Patcy-AI/patcypay-assist
一个以 AI 银行助手为场景的 OWASP LLM Top 10 安全实验室,让用户在漏洞版与安全版之间切换,亲手体验并修复十三种真实的大模型应用层攻击。
Stars: 0 | Forks: 0
# PatcyPay Assist — Fintech AI 助手安全实验室
**构建 → 破坏 → 防御,在应用层进行。** 一个连接到数据库和资金流转工具的现实主义 AI 银行助手——构建时存在漏洞,随后进行攻击,最后进行强化。这是
[`ai-agent-security-lab`](https://github.com/Patcy-AI/ai-agent-security-lab) 的配套项目,前者涵盖了
提示层。而这个项目涵盖了当 AI agent 接触真实客户数据时会引发什么破坏。
**🔗 在线演示:** https://patcypay-assist.vercel.app — 使用 `alice / alice123` 登录,然后切换
构建版本 (`Shift+M`) 并尝试破坏它。攻击手册:[`ATTACK_SCRIPT.md`](ATTACK_SCRIPT.md)。
`ai-security` · `llm-security` · `owasp-llm` · `fastapi` · `supabase` · `rls` · `react` ·
`broken-authorization` · `sql-injection` · `excessive-agency` · `sensitive-data-disclosure`
## 技术栈
- **前端:** React (Vite) + Tailwind — 浏览器永远不会接触数据库或 LLM 密钥。
- **后端:** FastAPI (Python) — 信任边界;掌握着 AI agent 和所有密钥。
- **数据库:** Supabase (Postgres) 带有 **Row Level Security**。
- **LLM:** Groq (免费托管)。
## 演示的攻击(每一个都已修复并验证)
你在一个现实的银行 UI 界前,用纯英文亲自输入攻击指令——没有预设的
按钮。同样的提示词在安全构建版本中会被拦截,而在易受攻击的版本中则会得逞。
本实验室涵盖了**整个 OWASP LMS Top 10 (2025)**——横跨所有十个类别的十三种攻击。
| # | 攻击 | OWASP LLM 2025 | CWE |
|---|---|---|---|
| PP-001 | 通过模型输出进行 SQL injection | LLM05 | CWE-89 |
| PP-002 | 失效的授权 / 跨租户读取 (IDOR) | LLM06 | CWE-639 / 862 |
| PP-003 | 失效的函数级授权(列出所有账户) | LLM06 | CWE-862 |
| PP-004 | Prompt injection / 提权 | LLM01 | CWE-1427 |
| PP-005 | Excessive agency — 未经授权的资金转移 | LLM06 | CWE-285 |
| PP-006 | 敏感信息泄露 — 跨客户 PII | LLM02 | CWE-200 / 639 |
| PP-007 | 大规模 PII 泄露 — 导出所有客户数据 | LLM02 | CWE-200 / 862 |
| PP-008 | System prompt 泄露 — config + 内部 token | LLM07 | CWE-200 / 1427 |
| PP-009 | 通过被投毒的检索文档进行间接 prompt injection | LLM01 / LLM08 | CWE-1427 |
| PP-010 | 通过攻击者控制的存储备注进行数据投毒 | LLM04 | CWE-1427 / 20 |
| PP-011 | 混淆(base64)的 injection 绕过输入防护 | LLM01 | CWE-1427 |
| PP-012 | 虚假信息 — 伪造的金融事实 | LLM09 | CWE-241 |
| PP-013 | 无限制消耗 — denial of wallet | LLM10 | CWE-770 |
*(LLM03 供应链在威胁模型中于治理/来源级别进行涵盖。)*
所有十三项攻击在每次推送时都会自动运行 (`python attacks/attack_suite.py`, 13/13),如果有任何修复发生回归,CI 将会
失败。20 个单元测试覆盖了这些组件 (`tests/test_backend.py`)。
## 文档
- **[`ATTACK_CATALOG.md`](ATTACK_CATALOG.md)** — 每一次攻击:精确的输入 → 缺失了什么 → 修复方案 → OWASP LLM / CWE / MITRE ATLAS 映射。
- **[`THREAT_MODEL.md`](THREAT_MODEL.md)** — 资产、信任边界、攻击者画像、STRIDE + 完整的 OWASP LLM Top 10 攻击面。
- **[`COMPLIANCE_AND_GOVERNANCE.md`](COMPLIANCE_AND_GOVERNANCE.md)** — PCI-DSS / GLBA / GDPR / SOC 2 + NIST AI RMF / EU AI Act / ISO 42001。
- **[`ATTACK_SCRIPT.md`](ATTACK_SCRIPT.md)** — 在线演示操作手册(输入此内容 / 说此内容)。
- **[`VIDEO_SCRIPT.md`](VIDEO_SCRIPT.md)** — 边破坏边教学视频脚本。
## 状态
查看 [`BUILDING_PLAN.md`](BUILDING_PLAN.md) 了解计划和已验证的来源,并查看
[`ARCHITECTURE_REVIEW.md`](ARCHITECTURE_REVIEW.md) 获取与生产级全栈应用的真实对比。
- [x] 计划 + 已验证来源
- [x] 数据库 schema + RLS 策略 (`db/schema.sql`, `db/seed.sql`)
- [x] FastAPI 后端(易受攻击 + 安全)— 已测试
- [x] 真实的 JWT 认证 (`backend/auth.py`) + rate limiting + 严格的 CORS
- [x] 事务性资金转账
- [x] React 前端(登录 + 漏洞/安全切换)
- [x] 攻击套件 + 自动生成的安全报告 (`attacks/`, `reports/`)
- [x] 单元测试 (`tests/`) + GitHub Actions CI + `Dockerfile`
- [x] 逼真的银行 UI + 合成客户 PII + 自由输入攻击
- [x] 上线部署 (Vercel 前端 + Render 后端) + 推送至 GitHub
## 作者
Peace Maikasuwa — 我构建并保护 AI agent,涵盖提示层和应用层。
标签:AV绕过, CISA项目, FastAPI, OWASP LLM Top 10, React, Supabase, Syscalls, 大模型安全, 安全靶场, 测试用例, 漏洞攻防, 请求拦截, 逆向工具