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, 大模型安全, 安全靶场, 测试用例, 漏洞攻防, 请求拦截, 逆向工具