ShachTzu/ran-bar-zik-security-skill

GitHub: ShachTzu/ran-bar-zik-security-skill

一个基于 Ran Bar-Zik「安全开发十诫」的 Claude skill,用于在开发流程中对代码进行自动化安全审查并生成可操作的修复建议。

Stars: 0 | Forks: 0

# ran-bar-zik — 基于“十诫”的安全审查 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) 一个 Claude skill(Claude Code / Claude Desktop),用于根据 **Ran Bar-Zik 的十诫** 审查代码——他是一名安全开发者和记者,其反复强调的核心观点是:大多数“黑客攻击”并非魔术: 发送到客户端的所有内容都是可见的,并且可以通过 F12 进行编辑。这个 skill 旨在赶在持有开发者工具的人发现之前,提前捕获这些漏洞。 *这是一个基于 Ran Bar-Zik 的安全 Web 开发十诫来审查代码的 Claude skill。报告默认使用希伯来语,可根据请求使用英语。* ## 安装 ``` git clone https://github.com/ShachTzu/ran-bar-zik-security-skill.git cp -r ran-bar-zik-security-skill/skills/ran-bar-zik ~/.claude/skills/ ``` 对于单个项目:`cp -r skills/ran-bar-zik .claude/skills/` ## 使用说明 ``` /ran-bar-zik # סקירה של השינויים הנוכחיים (ברירת מחדל) /ran-bar-zik src/api # סקירה של נתיב /ran-bar-zik pr 42 # סקירה של PR /ran-bar-zik fix # סקירה ואז תיקון הממצאים הקריטיים /ran-bar-zik xss # סקירה ממוקדת בדיבר אחד (xss/idor/secrets/deps/privacy/llm) /ran-bar-zik harden # מה חסר: CSP, HSTS, cookie flags, rate-limit, CI scans /ran-bar-zik explain 4 # מצב לימוד — הסבר דיבר בודד /ran-bar-zik checklist # צ'ק-ליסט markdown ל-PR /ran-bar-zik community # דגשים לאפליקציית קהילה עם UGC + CSV ``` 在不带参数的情况下,该 skill 会自行选择目标:未提交的更改 ← 当前分支与 `main` 的 diff ← 项目中的敏感文件。在尝试自行发现目标之前,它不会询问“要审查什么?”。 ## 十诫 | # | 诫律 | 捕获内容 | |---|---|---| | 1 | 不可信任客户端 | JS 中的安全决策、隐藏字段、客户端中的 `if (isAdmin)` | | 2 | 所有输入皆是恶意的 | SQL/NoSQL injection、path traversal、open redirect、CSV | | 3 | 根据上下文过滤输出 | XSS:`innerHTML`、`dangerouslySetInnerHTML`、`javascript:` | | 4 | 检查每个对象的权限 | IDOR — 未经所有权检查的 `GET /doc/:id` | | 5 | 机密信息不得存放在客户端 | bundle 中的密钥、git 中的 `.env`、`NEXT_PUBLIC_*_SECRET` | | 6 | “不是被黑了——是泄露了” | `res.json(user)`、`SELECT *`、无限制的 exports | | 7 | 加密一切 | 用于密码的 md5/sha1、无 flags 的 cookies、`alg:none` | | 8 | 供应链 | 无 lockfile、无 SRI 的 CDN、存在漏洞的依赖 | | 9 | 保护你的 LLM | prompt injection、输出到 `innerHTML`/`exec` 的模型内容 | | 10 | 隐私与责任 | 发送给客户端的 stack traces、日志中的 PII、无 rate-limit | ## 工作原理 1. `scripts/scan.sh` 扫描危险信号(10 个类别,使用 ripgrep 并以 grep 作为 fallback)。 其输出是**线索,而非最终发现**。 2. Agent 会结合上下文阅读每条线索——例如针对常量的 `innerHTML` 并不构成发现。 3. 每一项发现都会包含 `文件:行号`、**具体的利用场景**,以及作为 diff 的修复建议。没有利用场景 = 不算发现。 4. 裁决:通过 / 有条件通过 / 失败。 ``` skills/ran-bar-zik/scripts/test_scan.sh # PASS [grep]: 检测到 12/12 个部分,clean file 无输出 # PASS [rg]: 检测到 12/12 个部分,clean file 无输出 ``` 检查会在**两个引擎下运行**。这并非多此一举:`rg` (Rust regex) 和 `grep -E` (POSIX ERE) 接受不同的方言(dialects),在早期版本中,有一个正则表达式仅被 `rg` 拒绝——`2>/dev/null` 吞掉了错误,导致整个类别看起来是“干净”的。如今,被拒绝的表达式会显眼地打印出来(`PATTERN FAILED`),并且脚本会以退出码 2 退出。 ## 目录结构 ``` skills/ran-bar-zik/ ├── SKILL.md # הפעולה הראשית, תת-פקודות, פורמט הדוח ├── references/ │ ├── commandments.md # פירוט מלא + דוגמאות רע→טוב לכל דיבר │ ├── harden.md # CSP, headers, cookies, rate-limit, CI │ └── community-app.md # דגשים לאפליקציית קהילה עם UGC ו-CSV └── scripts/ ├── scan.sh # סורק דגלים אדומים └── test_scan.sh # בדיקה עצמית ``` ## 局限性 `scan.sh` 本质上是 grep,而不是 AST——它会遗漏混淆代码和跨文件的流程。因此,结合上下文进行阅读的步骤是必须的,而非装饰性的。该审查**不能替代渗透测试(pentest)**或全面的安全审计。 ## 参考依据 ### Ran Bar-Zik 是谁 Ran Bar-Zik 是一名资深 Web 开发者、CyberArk 的高级软件架构师、《TheMarker》(Haaretz 集团)的技术记者,以及 Ono 学院的讲师。[^about][^wiki] 自 2008 年起,他一直在运营“Internet Israel”博客——这是一个每周更新的希伯来语编程博客 [^about]——并编写了一系列希伯来语编程教材。[^books] 他最为人熟知的是作为 white-hat,曾揭露过以色列机构的多起安全漏洞和信息泄露事件。[^wiki] ### 澄清:这不是一份官方列表 **Bar-Zik 并未发布过名为“十诫”的文档。** 在他的资料中搜索并未找到这样的列表。这里的数字十以及表述方式**是我们的总结**,提炼自他在文章和揭露事件中反复强调的信息,并将其打包成一个可供 Agent 进行审查的检查清单。本项目与其无隶属关系,未经其审查,也不代表其立场。表述上的任何错误均归咎于我们,而非他。 ### 哪些内容直接源自他的工作 | 来源 | 衍生出的诫律 | |---|---| | 揭露 **Elector** 应用程序(2020 年):利库德集团的选民数据库包含 **6,453,254** 名以色列人的详细信息,且仅可通过浏览器直接访问 [^wiki][^elector] | **诫律 1** — “黑客工具就是浏览器” | | **“我们没有被黑,只是泄露了——Elector 事件的技术教训”**[^elector] | **诫律 6** — 该口号,以及“没有入侵痕迹并不能证明信息未发生泄露”的洞察 | | 《TheMarker》的“Captain Internet”系列:**Beit Shemesh 市政系统**暴露了居民的残疾百分比和精神疾病信息(2025 年)[^bs];大麻销售网站上 **超过 40 万份**包含医疗信息的文档(2024 年)[^cannabis] | **诫律 6 和 10** — 最小化暴露面和以色列的 PII。同样的重复模式:任何拥有浏览器的人都可以访问敏感信息,而不需要任何人进行“黑客攻击”。 | 由此也引出了 skill 中的规则:**速度换不来安全**:将数据或授权决策转移到客户端的优化是一种倒退,而不是改进。 ### 哪些内容源自外部标准 为了确保检查清单不仅仅是主观意见,其余的诫律均映射到了公认的标准上: | 诫律 | 标准 | |---|---| | 4 | OWASP A01:2021 — Broken Access Control[^owasp-a01] | | 2, 3 | OWASP A03:2021 — Injection(包含 XSS)[^owasp] | | 7 | OWASP A02:2021 — Cryptographic Failures · A05 — Security Misconfiguration[^owasp] | | 8 | OWASP A06:2021 — Vulnerable and Outdated Components[^owasp] | | 10 | OWASP A09:2021 — Security Logging and Monitoring Failures[^owasp] | | 9 | OWASP Top 10 for LLM Applications — LLM01 Prompt Injection · LLM05 Improper Output Handling[^owasp-llm] | | 10 | 隐私保护条例(数据安全),5777-2017[^privacy] — 访问控制、权限、文档记录和安全事件报告的义务 | ## 来源 [^about]: [关于 Ran Bar-Zik 和 Internet Israel](https://internet-israel.com/about/),internet-israel.com。 [^wiki]: [Ran Bar-Zik](https://he.wikipedia.org/wiki/%D7%A8%D7%9F_%D7%91%D7%A8-%D7%96%D7%99%D7%A7),希伯来语维基百科。 [^books]: [希伯来语开发书籍](https://hebdevbook.com/),hebdevbook.com。 [^elector]: Ran Bar-Zik,[我们没有黑,只是泄露了——Elector 事件的技术教训](https://internet-israel.com/פיתוח-אינטרנט/בניית-אתרי-אינטרנט-למפתחים/לא-פרצו-לנו-רק-דלף-לנו-לקחים-טכניים-מפר/),Internet Israel。 [^bs]: Ran Bar-Zik,[残疾百分比和精神疾病:Beit Shemesh 市政系统暴露了居民的敏感信息](https://www.themarker.com/captain-internet/2025-08-25/ty-article/.premium/00000198-e064-d9a7-add9-e2e51a110000),Captain Internet,TheMarker,2025年8月25日(付费内容)。 [^cannabis]: Ran Bar-Zik,[超过40万份文档:大麻销售网站泄露了个人隐私和敏感医疗信息](https://www.themarker.com/captain-internet/2024-09-15/ty-article/.premium/00000191-e15d-d084-a5db-eb5f16230000),Captain Internet,TheMarker,2024年9月15日(付费内容)。 [^owasp]: [OWASP Top 10:2021](https://owasp.org/Top10/2021/),OWASP Foundation。 [^owasp-a01]: [A01:2021 — Broken Access Control](https://owasp.org/Top10/2021/A01_2021-Broken_Access_Control/),OWASP Top 10:2021。 [^owasp-llm]: [OWASP Top 10 for LLM Applications](https://genai.owasp.org/llm-top-10/),OWASP Gen AI Security Project。 [^privacy]: [隐私保护条例(数据安全),5777-2017](https://www.nevo.co.il/law_html/law00/144811.htm),Nevo。另请参阅隐私保护局网站上的 [条例页面](https://www.gov.il/he/pages/data_security_regulation)。 所有链接均于 2026 年 7 月 21 日验证。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。该 skill 是独立实现,不隶属于 Ran Bar-Zik。
标签:AI技能, CISA项目, Claude, Cutter, CVE检测, DevSecOps, DNS 反向解析, XML 请求, 上游代理, 代码安全审查, 安全开发, 错误基检测, 静态代码分析