leoziondev/ai-supply-chain-audit

GitHub: leoziondev/ai-supply-chain-audit

一款利用 LLM 辅助 DevSecOps 团队进行软件供应链安全与数据泄露事件审计的开源提示词工具包。

Stars: 0 | Forks: 0

![供应链安全审计 Prompt 工具包](https://static.pigsec.cn/wp-content/uploads/repos/cas/c8/c8575641882931604e6e88e3c60d876cdac7149a3982e682ff882d1d56d5f036.svg) # 供应链安全审计 Prompt 工具包 [![License: MIT](https://img.shields.io/badge/license-MIT-16A34A.svg)](LICENSE) [![Security Policy](https://img.shields.io/badge/security-policy-0F766E.svg)](SECURITY.md) [![Validate Content](https://static.pigsec.cn/wp-content/uploads/repos/cas/2a/2ae27f6391d699f53ba468e110f0758c488098b6286930b50219445b8f0ba4f8.svg)](https://github.com/leoziondev/ai-supply-chain-audit/actions/workflows/validate-markdown.yml) [![Agent Ready](https://img.shields.io/badge/agent--ready-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20OpenCode-2563EB.svg)](DISTRIBUTION.md) [![Audit Only](https://img.shields.io/badge/default-audit--only-7C3AED.svg)](skills/supply-chain-audit/references/no-project-mutation.md) [![LGPD Aware](https://img.shields.io/badge/LGPD-aware-0891B2.svg)](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代理, 暗色界面, 请求拦截, 防御加固