RD / 培训

安全代码审计课程(一对一)

学会像攻击者一样阅读陌生的代码库:把不可信输入一路追踪到出问题的那一行代码,证明漏洞可被利用,并写出开发人员愿意接受的修复。一对一在线授课,按您的节奏进行。

首次 20 分钟的水平评估通话免费。学习计划和开课日期在通话之后商定。

适合人群

  • 希望从黑盒测试转向源代码审计的渗透测试工程师和漏洞赏金猎人。
  • 需要一套可重复的审计方法、并希望学会分辨扫描器结果的应用安全工程师。
  • 负责审阅 Pull Request、希望在合并前发现安全缺陷的高级开发人员和技术负责人。

学完后您能做到

  • 梳理陌生的代码仓库:入口点、信任边界,以及值得投入时间的代码。
  • 把不可信输入从源头追踪到危险的使用点,并区分真实漏洞与扫描器误报。
  • 发现工具会遗漏的身份认证、授权、租户隔离和业务逻辑缺陷。
  • 在本地实验环境中证明可利用性,并用产品负责人能够接受的方式论证风险等级。
  • 通过补丁对比以及自定义的 Semgrep 或 CodeQL 查询,找出已知漏洞的变体。
  • 写出包含根本原因、证据和修复方案的发现,并判断拟议的修复是否站得住脚。

先修要求

  • 能熟练阅读 JavaScript/TypeScript、PHP、Java 或 Python 中至少一种语言的代码。
  • 了解 HTTP 以及常见的 Web 漏洞类型,达到 OWASP Top 10 的水平。
  • 会使用 git、Docker 和命令行,并能够以英语学习。我们会先进行简短的水平评估,让学习计划适合您。

课程大纲

共八个模块。您的学习计划会按照适合您水平的顺序和深度来学习:已掌握的内容快速带过,需要的地方多花时间。

  1. 01从安全角度阅读陌生代码库把一个从未见过的代码仓库,变成一张攻击者能够触达哪些部分的地图。
    • 入口点:路由、控制器、后台任务、Webhook 和消息消费者
    • 隐藏路由和中间件的框架约定
    • 一页纸的威胁模型:资产、参与者和信任边界
    • 在有限时间内把审计精力放在风险所在之处
  2. 02源、汇与数据流追踪不可信输入,直到它造成破坏的地方。
    • 手动进行从源到汇的追踪,包括二阶数据流
    • 校验、净化和编码,以及各自在什么情况下起保护作用
    • SQL、命令、模板、文件路径、SSRF 和反序列化等危险汇点
    • 分辨 SAST 结果:确认、排除,还是深入调查
  3. 03身份认证与会话审计决定“用户是谁”的那部分代码。
    • 登录、注册、密码重置和多因素认证流程
    • 令牌与会话的生命周期:签发、校验、过期和吊销
    • JWT 校验错误,以 fast-jwt 的补丁链为案例
    • OAuth 和 OpenID Connect 中的重定向、state 和 audience 校验
  4. 04授权与租户隔离找到那个缺失的检查——它让一个客户能够访问另一个客户的数据。
    • 处理函数、中间件和 ORM 查询中的对象级与功能级检查(BOLA、BFLA、IDOR)
    • 批量赋值与过度提交
    • 查询、缓存和后台任务中的租户范围限定
    • GraphQL 解析器和管理端点
  5. 05业务逻辑、状态与并发找出破坏产品所依赖规则的代码。
    • 不变量:必须始终成立的条件,以及破坏它们的代码
    • 支付、优惠券和配额中的竞态条件
    • 信任客户端提交的价格、角色和标识符
    • 算术问题:溢出、截断和移位宽度(CVE-2025-37858)
  6. 06解析器、平台与供应链审视您的代码对周围一切所做的假设。
    • 路径规范化与解析器差异(CVE-2026-21589、CVE-2026-104935)
    • 查找失败后消失的检查(CVE-2024-26855)
    • React2Shell 之后的服务端渲染边界
    • Axios npm 投毒事件之后的依赖、构建脚本和锁文件
  7. 07证明可利用性与影响从一行可疑代码,走到一个经确认、已排好优先级的发现。
    • 前提条件、可达性和攻击者可控性
    • 在本地实验环境中完成最小化验证
    • 结合 CVSS 和业务背景评定风险等级
    • 使用 Semgrep 和 CodeQL 进行补丁对比和变体分析
  8. 08修复、报告与 AI 编写的代码让漏洞得到修复,并且不再复发。
    • 开发人员愿意接受的发现:位置、根本原因、证据和修复
    • 审查拟议的修复及其回归测试
    • 能够消除整类缺陷的安全默认设置
    • 审查 AI 生成的代码,并核实 AI 审查工具给出的结论

实操练习

追踪实验

对我为课程准备的应用进行有指导的审计,您将沿着真实的框架代码追踪输入,直到存在漏洞的那一行。

变体挖掘

从开源项目中一个已发布的补丁出发,在该项目存在漏洞的版本中寻找其他地方的同类错误。

修复审查

判断拟议的修复是消除了根本原因,还是只掩盖了报告中的表象,并编写能证明这一点的测试。

结业考核

审计一个多租户 Web 应用

在限定时间内审计一个为课程开发的应用,提供源代码和可运行的副本。您需要撰写一份专业的漏洞发现报告,并在最后一次课上与我一起复盘。

考核标准

  • 入口点和信任边界的覆盖图
  • 附证据和复现步骤的已确认发现
  • 每个发现的根本原因判断正确
  • 产品负责人能够理解的风险等级论证
  • 附带测试、能消除根因的修复
  • 误报少,并与待确认问题清楚区分

这门课程的不同之处

一位学员,一位讲师

每次课程都由我亲自授课,学习计划跟随您的进度,而不是固定的课表。

真实案例,而不是玩具代码

您审计的是已公开漏洞的代码,其中有些由我亲自分析或修复,另外还有为课程准备的应用。

方法先于工具

扫描器只在其擅长的方面使用。您将学会判断它们的结果,并发现它们无法建模的问题。

使用的工具

  • ripgrep
  • VS Code
  • git log / blame / diff
  • Semgrep
  • CodeQL
  • Docker
  • Burp Suite Community / Caido
  • Debugger

标准与参考资料

现在就能阅读的案例

关于本课程的问题

需要掌握哪些编程语言?

实验使用 TypeScript/Node.js、PHP 和 Java,原生代码案例使用 C。您需要能熟练阅读其中一种;审计方法可以在不同语言之间迁移,我们也会专门练习这一点。

需要多长时间?

取决于您的起点水平以及课程之间可投入的时间。我们会在初始评估后制定计划,并根据您的进展随时调整。

这和备考 OSWE 一样吗?

不一样。OSWE 通过考试认证白盒漏洞利用能力。本课程在个人指导下教授审计方法、根因分析和修复质量。两者有很多技能重叠,本课程也是进行任何白盒工作的良好准备。

需要购买商业扫描器吗?

不需要。课程中的所有内容都使用免费的开源工具。

什么时候可以开始?

发一条简短的消息,说明您的水平和目标。我会在三天内回复,安排一次免费的 20 分钟水平评估通话,之后再商定您的学习计划和开课日期。

费用是多少?

每门课程 1,490 美元,包含约 10 次每次 90 分钟的一对一课程,以及实验、练习批改、结业考核和证书。两门课程合计 2,690 美元,单次 90 分钟课程 150 美元。

一对一培训是怎么进行的?

我们在线上进行直播课程。两次课程之间,您完成我根据您的水平布置的实验和练习,下次课上我们一起复盘结果。进度跟随您的学习情况,而不是固定的课表。

课程使用什么语言?

国际学员以英语授课。母语为阿拉伯语的学员可以选择阿拉伯语或英语;阿拉伯语课程会保留您在工具、报告和招聘信息中会看到的英文术语。

有线下课程吗?

没有。所有课程、实验、练习和反馈都在线上进行。

能拿到证书吗?

通过结业考核后,您将获得一份结业证书。证书由我本人颁发,并不是 OSWE 这类行业认证。雇主真正可以查看的,是您的工作成果本身:您的最终报告。

实操练习合法吗?

合法。所有实操内容都使用我为课程准备的应用,以及已发布安全公告的特定版本开源项目,并且都运行在您自己的电脑上。您永远不会去测试不属于您、或未获书面授权的系统。

如果我需要更多时间怎么办?

如果需要比计划更多的课时,每增加一次课程收费 150 美元,并会事先与您商定。

下一步

接下来学习结合源代码的 Web 与 API 渗透测试课程。

08联系

准备好开始了吗?

发一条简短的消息:想学哪门课程、您目前的水平,以及希望学会什么。课程以英语授课(母语为阿拉伯语者可选阿拉伯语)。我会在三天内回复,安排您的免费评估通话。