leoziondev/ai-supply-chain-audit
GitHub: leoziondev/ai-supply-chain-audit
一款利用 LLM 辅助 DevSecOps 团队进行软件供应链安全与数据泄露事件审计的开源提示词工具包。
Stars: 0 | Forks: 0

# 供应链安全审计 Prompt 工具包
[](LICENSE)
[](SECURITY.md)
[](https://github.com/leoziondev/ai-supply-chain-audit/actions/workflows/validate-markdown.yml)
[](DISTRIBUTION.md)
[](skills/supply-chain-audit/references/no-project-mutation.md)
[](checklists/data-breach-lgpd.md)
面向 DevSecOps 和 AppSec 团队的葡萄牙语工具包,旨在利用 LLM 辅助对现代项目进行审计,重点关注供应链、依赖项恶意软件、npm、Composer/Laravel、CI/CD、全栈 JavaScript 框架、部署平台、容器、数据泄露以及 LGPD 事件响应。
这是一款开源工具包,包含 prompt、checklists、templates、全局 skill 和 adapters,用于对 npm、Composer、Laravel、Node.js、GitHub Actions、Next.js、Vercel、TanStack、容器、SaaS/OAuth 的供应链安全进行审计,并处理 LGPD 事件响应。
其目标是将项目中的实际文件转化为技术性、防御性且可操作的分析。主要的 prompt 并不能替代扫描器、pentest 或事件响应,但有助于组织调查、证据、假设、IOC 和修复工作。
本仓库是工具包的源码。默认情况下,请勿将本仓库 clone 或复制到被审计的项目中。如需长期使用,请安装全局 skill 或使用 `DISTRIBUTION.md` 中描述的 agent adapters。
## 快速链接
- 主 prompt:`prompts/supply-chain-security-audit.md`
- 分发与 agents:`DISTRIBUTION.md`
- 全局 skill:`skills/supply-chain-audit/SKILL.md`
- Checklists:`checklists/`
- 示例:`examples/`
- Templates:`templates/`
- 品牌:`BRAND.md`
- Release checklist:`docs/release-checklist.md`
## 本工具包为何存在
现代审计不能仅仅依赖 CVE。近期的攻击利用了 maintainers、lockfiles、lifecycle hooks、CI/CD、OIDC、SaaS/OAuth、部署平台、个人数据和第三方。本工具包组织了一个“证据优先”的工作流,让 agents 和人工能够审查这些风险,而不会污染被审计的项目。
## 推荐安装
如需长期使用,请将全局 skill 安装到 agent 中,而不是将本仓库复制到被审计的项目中。
```
~/.codex/skills/supply-chain-audit/
```
对于其他 agents,请使用 `adapters/` 中的 templates:
- Codex:`adapters/codex/AGENTS.md`
- Claude Code:`adapters/claude-code/CLAUDE.md`
- Cursor:`adapters/cursor/supply-chain-audit.mdc`
- OpenCode:`adapters/opencode/AGENTS.md` 或 `adapters/opencode/supply-chain-audit-agent.md`
每个项目的配置文件是可选的,只有当团队希望在该仓库中记录指令时才应使用。
## 何时使用
当您需要审查以下内容时,请使用此工具包:
- npm、pnpm、Yarn、Composer 或 Packagist 依赖项。
- 在可疑时间窗口内创建或更新的 lockfiles。
- 包含 `preinstall`、`install`、`postinstall` 脚本或 autoloaders 的包。
- GitHub Actions、GitLab CI、Jenkins、Azure DevOps 或 Bitbucket pipelines。
- 具有对 secrets、cloud credentials、registry tokens 或 deploy keys 访问权限的 Build runners。
- Dockerfiles、镜像、SBOMs、artifacts 和 releases。
- 可能受到被入侵的包、框架漏洞、不安全的 CI/CD 或平台事件影响的 Laravel/PHP、Node.js、Next.js 或 TanStack Start 应用程序。
- 托管在 Vercel 上的项目,且需要审查 env vars、deployments、activity logs、integrations 和 OAuth apps。
- 涉及大规模个人数据的交易市场、外卖配送应用、电子商务和平台,且存在被泄露、勒索或被第三方滥用的嫌疑。
## 涵盖的威胁
该 prompt 旨在考虑近期的攻击和当前的模式,包括:
- npm Typosquatting 窃取 cloud 和 CI/CD 凭据。
- 入侵 maintainers 账户并发布恶意版本。
- npm lifecycle hooks 在安装期间执行 payloads。
- 用于安装 RATs 或 infostealers 的隐藏依赖项。
- 针对 Laravel 的恶意 Packagist/Composer 包。
- 将 `composer.lock` 和 lockfiles 作为证据来源。
- 将 `autoload.files`、service providers 和构建脚本作为执行点。
- Artifact poisoning、workflow poisoning、cache poisoning 和未固定的 actions。
- 窃取 AWS、Vault、GitHub、npm、Composer 和应用程序的 secrets。
- 在全栈框架的 middleware、Server Functions/RSC 和 rewrites 中绕过授权。
- 暴露 env vars、deployments 或平台账户的 SaaS/OAuth 事件。
- 涉及数据泄露、勒索、threat intelligence 中的 dumps、API 滥用、data lake 暴露、CRM/support 暴露以及 LGPD 风险等已声明的事件。
## 涵盖的近期案例
- Vercel 2026 年 4 月事件:SaaS/OAuth 风险,涉及 Google Workspace、Vercel 账户、activity logs、env vars 和可疑的 deployments。在没有证据的情况下,不应将此案例描述为 Vercel 的 npm 包遭到入侵,因为公开公告声明没有证据表明已发布的包被篡改。
- Next.js CVE-2025-29927:当应用程序依赖 middleware 进行 auth 时出现的授权绕过,特别是在 self-hosted apps 或边缘没有缓解措施的应用中。
- Next.js rewrites 中的 request smuggling:在向外部 backends 进行代理的路由中存在风险,要求在 backend 进行 auth,并在无法更新时阻止危险的方法/headers。
- React Server Components CVE-2025-55182:在 `react-server-dom-*` 包以及暴露 Server Functions 或存在漏洞的 RSC 的框架/bundlers 中存在的严重风险。
- TanStack 2026 年 5 月安全公告:42 个 `@tanstack/*` 包中的恶意软件,由涉及 `pull_request_target`、cache poisoning、OIDC trusted publisher 和提取 runner tokens 的链条发布。
- GitHub Actions Pwn Requests:不可信的 PRs、cache/artifact poisoning、权限过高的 tokens 以及界定不清的 trusted publishing。
- 交易市场/外卖配送中声称的事件,例如公开报告的大规模数据勒索,在进行威胁建模时应作为驱动力,直到有经过验证的证据。在没有官方确认、验证样本或内部证据的情况下,不得断定已被入侵。
## 声称的数据泄露事件
当出现关于数据泄露、售卖或勒索的公开声明时,该工具包应协助在建议响应之前对证据的可信度进行分类:
- `声称`:threat intel 报告、论坛、社交媒体或新闻,且没有经过验证的样本。
- `已验证样本`:经过脱敏处理的样本,已与内部系统进行核对,且未重新分发个人数据。
- `内部确认`:日志、记录或技术轨迹证实了访问、复制、导出或数据窃取。
- `官方确认`:公开声明、监管通知或控制者的正式决定。
- `已排除事件`:调查表明数据集是虚假的、被回收的、从其他来源丰富的,或与组织无关。
此类案件在涉及第三方、数据操作者/处理者、SaaS、CRM、支持、BI、data lake、integrations、APIs、CI/CD、凭据、商业伙伴或有权访问个人数据的供应商时,会牵涉到供应链。
公开参考:
- Microsoft:https://www.microsoft.com/en-us/security/blog/2026/05/28/typosquatted-npm-packages-used-steal-cloud-ci-cd-secrets/
- StepSecurity:https://www.stepsecurity.io/blog/20-popular-npm-packages-compromised-chalk-debug-strip-ansi-color-convert-wrap-ansi
- SANS:https://www.sans.org/blog/axios-npm-supply-chain-compromise-malicious-packages-remote-access-trojan
- Secured Intel:https://www.securedintel.com/blog/malicious-packagist-packages-deploying-cross-platform-rats-in-laravel-ecosystems
- Vercel 2026 年 4 月事件:https://vercel.com/kb/bulletin/vercel-april-2026-security-incident
- Next.js CVE-2025-29927:https://github.com/advisories/GHSA-f82v-jwr5-mffw
- Next.js request smuggling:https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8
- React Server Components CVE-2025-55182:https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
- TanStack 安全公告:https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- GitHub Security Lab Pwn Requests:https://securitylab.github.com/resources/github-actions-preventing-pwn-requests/
- npm trusted publishing:https://docs.npmjs.com/trusted-publishers/
## 结构
```
.
+-- .github/
| +-- ISSUE_TEMPLATE/
| +-- workflows/
+-- adapters/
| +-- claude-code/
| +-- codex/
| +-- cursor/
| +-- opencode/
+-- assets/
+-- checklists/
| +-- cicd.md
| +-- composer.md
| +-- container.md
| +-- data-breach-lgpd.md
| +-- github.md
| +-- marketplace-ecommerce.md
| +-- nextjs.md
| +-- npm.md
| +-- tanstack-start.md
| +-- vercel.md
+-- examples/
| +-- cicd-example.md
| +-- github-actions-cache-poisoning-example.md
| +-- laravel-example.md
| +-- marketplace-data-extortion-example.md
| +-- nextjs-vercel-example.md
| +-- nodejs-example.md
| +-- tanstack-supply-chain-example.md
| +-- vercel-incident-response-example.md
+-- prompts/
| +-- supply-chain-security-audit.md
+-- references/
| +-- agent-usage-matrix.md
+-- skills/
| +-- supply-chain-audit/
+-- scripts/
+-- templates/
| +-- audit-report.md
| +-- incident-response.md
+-- BRAND.md
+-- CHANGELOG.md
+-- CONTRIBUTING.md
+-- DISTRIBUTION.md
+-- LICENSE
+-- README.md
+-- SECURITY.md
```
## 如何使用
1. 打开位于 `prompts/supply-chain-security-audit.md` 的主 prompt。
2. 将 prompt 粘贴到您组织授权的 LLM 中。
3. 附上或粘贴被审计项目的相关文件。
4. 要求回复必须使用 prompt 中规定的强制格式:执行摘要、清单、优先级 findings、证据表、缓解计划以及缺失文件。
5. 使用真正的 SAST、SCA、日志、EDR、SIEM、registry metadata、部署平台和人工审查工具,手动验证发现的结果。
## 如何与 agents 配合使用
推荐模式:
- Codex:将 `skills/supply-chain-audit/` 作为全局 skill 安装在 `~/.codex/skills/supply-chain-audit/`。
- Claude Code:将 `adapters/claude-code/CLAUDE.md` 用作全局/用户 memory;仅当团队希望对该规则进行版本控制时才在项目中使用。
- Cursor:使用全局 User Rules;仅在对该规则进行版本控制的 repositories 中将 `adapters/cursor/supply-chain-audit.mdc` 用作 Project Rule。
- OpenCode:在全局配置中使用 `adapters/opencode/AGENTS.md`,或者将 `adapters/opencode/supply-chain-audit-agent.md` 用作仅限审计的 agent。
通用规则:
- 默认情况下,agent 应只读取被审计项目,不得创建文件。
- 在进行分诊之前,agent 不得运行 installs、builds、migrations 或 deploys。
- agent 不得下载 dumps、真实个人数据或来自犯罪论坛的材料。
- agent 在确认事件、泄露或入侵之前,必须对证据进行分类。
有关分发的详细信息,请参阅 `DISTRIBUTION.md` 和 `references/agent-usage-matrix.md`。
## 各技术栈推荐文件
### Node.js / npm
```
package.json
package-lock.json
pnpm-lock.yaml
yarn.lock
npm-shrinkwrap.json
.npmrc
.yarnrc.yml
Dockerfile
docker-compose.yml
.github/workflows/*
src/*
```
### Next.js / Vercel
```
package.json
package-lock.json
pnpm-lock.yaml
next.config.js
middleware.ts
app/**/*
pages/**/*
src/**/*
vercel.json
.vercel/project.json
.github/workflows/*
Vercel activity logs
recent deployment list
environment variable inventory
integration and OAuth app inventory
```
### TanStack Start / Router
```
package.json
package-lock.json
pnpm-lock.yaml
yarn.lock
src/routes/**/*
src/start.ts
vite.config.ts
.github/workflows/*
npm install logs around 2026-05-11 19:20-19:26 UTC, if relevant
```
### Laravel / PHP / Composer
```
composer.json
composer.lock
package.json
package-lock.json
.env.example
config/*
app/Providers/*
app/Console/*
app/Jobs/*
routes/*
Dockerfile
.github/workflows/*
```
### CI/CD 和基础设施
```
.github/workflows/*
.gitlab-ci.yml
Jenkinsfile
azure-pipelines.yml
CODEOWNERS
Dockerfile
docker-compose.yml
helm/*
k8s/*
terraform/*
scripts/*
```
### Marketplace / 电子商务 / LGPD
```
data inventory
data flow diagram
API gateway logs
application logs
WAF/CDN logs
CRM/support audit logs
BI/data lake audit logs
payment provider integration docs
processor/subprocessor inventory
incident timeline
sanitized sample verification notes
ANPD communication draft, if applicable
```
## 推荐工作流
1. 清点语言、package managers、框架、部署平台、lockfiles、CI/CD、容器、个人数据、操作者/处理者、secrets 和信任边界。
2. 在执行任何 build 之前,审查依赖项文件和安装脚本。
3. 查找 hooks、autoloaders、远程下载器、混淆的 payloads、shell 调用和 git 依赖项。
4. 将 lockfiles 与安全公告、撤回的版本、被移除的包以及 maintainer 的变更进行核对。
5. 审查 GitHub Actions 和其他 CI/CD,排查是否存在权限过大、不可信的 PRs、cache/artifact poisoning、OIDC 和 trusted publishing 问题。
6. 审查 Next.js、Vercel 和 TanStack Start,检查 client/server 边界、middleware auth、env vars、deployments 和 Server Functions。
7. 在宣布事件确认之前,根据证据级别对泄露声明进行分类。
8. 生成包含可验证证据的 findings,并按优先级制定缓解计划。
9. 如果极有可能发生入侵,请保留证据并启动事件响应,联系 DPO/法务部门,并开展 ANPD/数据主体的评估。
## 包含的 Artifacts
- 主 prompt:`prompts/supply-chain-security-audit.md`。
- 各场景示例:`examples/`。
- 操作 checklists:`checklists/`。
- 报告 template:`templates/audit-report.md`。
- 事件响应 template:`templates/incident-response.md`。
## 局限性
本工具包不能替代:
- 专业的 pentest。
- S、DAST、SCA、EDR、XDR 或 SIEM。
- 专业的分析人员。
- 在 registry、日志、endpoint、identity provider、部署平台和云中进行验证。
- 正式的事件响应流程。
LLMs 可能会出错、遗漏上下文或推断不正确。在获得技术证据之前,请将所有结论视为假设。
## 授权使用
本材料仅用于防御、授权审计、研究、hardening、事件响应和教育。请勿使用本内容入侵系统、分发恶意软件、窃取凭据或绕过安全控制。
## 贡献
## 许可证
MIT。请参阅 `LICENSE`。
标签:C2, Libemu, MITM代理, 暗色界面, 请求拦截, 防御加固