khasky/public-client-leak-audit

GitHub: khasky/public-client-leak-audit

一个 Claude Code 安全审计技能,用于在客户端公开发布前扫描并修复后端信息泄露、机密暴露和过度披露等安全风险。

Stars: 0 | Forks: 0

# 公共客户端泄露审计 一个用于审计面向公众的客户端的 Claude agent skill,使其公开表面保持_自包含_ —— 仅揭示其发起的调用和交换的数据,而不暴露任何关于后端运作方式的信息。 任何发布给用户并与私有后端通信的客户端——浏览器扩展、移动或桌面应用、单页 Web 应用、CLI、SDK、开源客户端——都不可避免地会暴露其自身的源代码。真正的风险在于那些_超出_不可避免范围的内容:解释服务器逻辑的注释、披露的速率限制和反滥用机制、后端技术栈和基础设施名称、私有仓库路径、记录服务器行为的测试脚手架,以及距离发布仅一步之遥的机密信息。这些对于攻击者来说都是免费的侦察情报,也是进行滥用的杠杆。 此 skill 将一次真实的审计转化为可重复的方法:**界定公共/私有边界 → 扫描泄露 → 加固客户端 → 修复 → 验证 → 报告。** ## 检查内容 - **披露泄露** —— 私有仓库/路径、后端技术栈和基础设施标识符、反滥用/速率限制/配额机制、身份验证和账户内部机制、机密信息(存在于代码树中以及距发布仅一步之遥的信息)、对后端行为进行编码的测试/e2e 代码、解释服务器的注释、硬编码服务器策略的死代码,以及描述后端架构的文档/提交信息。 - **客户端加固** —— 权限/作用域最小化、IPC/消息发送者和来源验证、auth-token 存储和出口、DOM/XSS 接收点、网络层来源锁定、构建时配置控制(确保生产构建无法被重定向或打包机密信息)、源码包清理、远程配置/代码验证,以及供应链快速检查。 - **API 过度披露** —— 将_必要最小集_(endpoint、payload 结构、`status → UI` 映射)与_过度披露_(服务器端处理、客户端不需要的限制、它从未调用的 endpoint)区分开来。 ## 核心理念 以及它应用于注释、字符串和文档的**重写规则**: ## 文件 ``` SKILL.md # the method Claude follows (loaded when the skill triggers) references/ leak-taxonomy.md # what to hunt, why it matters, starter search patterns rewrite-rules.md # the comment/string rewrite rule + before/after examples client-hardening.md # client-side security checklist report-template.md # output report structure scripts/ leak-sweep.sh # parameterized ripgrep sweep to seed the audit ``` `SKILL.md` 保持精简;`references/` 文件按需读取。`scripts/leak-sweep.sh` 执行首轮扫描 —— 使用产品自身的私有词汇自定义其 `PRODUCT_TERMS`。 ## 安装 Claude Code 会在 `skills/` 目录下发现 skill。克隆或复制此仓库,以便 skill 文件夹存放于该目录下: ``` # 个人(所有项目) git clone ~/.claude/skills/public-client-leak-audit # 或按项目 git clone .claude/skills/public-client-leak-audit ``` 该目录的顶层必须包含 `SKILL.md`。重启 Claude Code(或重新加载 skill)以使其识别新增的内容。 ## 使用 只需用自己的话提问 —— 此 skill 由意图触发,而不是依靠特定的魔法命令: - “在开源之前,审计此仓库中是否存在任何泄露后端细节的内容。” - “该扩展程序是否披露了我们的速率限制或服务器内部机制?” - “发布此客户端安全吗?检查机密信息和注释。” - “客户端安全审查 —— 权限、消息处理程序、token 处理。” Claude 会首先界定公共/私有边界(它可能会询问您的私有后端/技术栈是什么 —— 这正是让扫描精准的原因),运行扫描,在上下文中读取命中结果,应用重写规则进行修复,根据您的构建/测试进行验证,并交回一份按严重程度排序的报告,其中包含后续建议(轮换机密信息、git 历史记录暴露、推迟权衡的事项)。 您也可以独立运行扫描: ``` scripts/leak-sweep.sh path/to/public/client ``` ## 范围与意图 设计上偏向防御:它旨在减小客户端的公开攻击面并对其进行加固。它不会构建漏洞利用程序。请在您拥有或被授权审计的代码上运行它。 ## 许可证 MIT —— 详情见 [LICENSE](LICENSE)。
标签:AI Agent技能, API安全, Cutter, JSON输出, StruQ, 安全合规, 实时处理, 客户端安全审计, 提示注入防御, 机密信息泄露检测, 源代码安全, 网络代理, 防御加固