OpenAI 与 Hacktron 达成合作,查找其系统中的漏洞。阅读公告。

跳到正文 Hacktron 登录 [S]
Hacktron 登录 [S] 客户案例 博客 文档 联系我们 登录

hackajob 的全代码库安全上下文


hackajob
Hacktron Review

, , X, LinkedIn

分享

hackajob 的全代码库安全上下文

XLinkedIn
1分钟
81.1%
已分类处理的问题中需要处理的比例
92 个问题
已解决

“难点从来不是投入不够,也不是能力不够。

“难在上下文。每次审查都要把这么多上下文装在脑子里,谁都做不到,两个人一起看也一样。”

Dragos Dimitriu
合规负责人

关于 hackajob

hackajob 成立于 2014 年,其 AI 招聘技术服务于 50 多个行业的 200 多家公司,包括 American Express、Tesco、Barclays、HSBC 和 Sainsbury’s。

旗舰产品 Archer 为企业招聘团队寻找、触达并筛选候选人。它的人才库包括 150 万名经过审核的候选人和超过 8 亿份已索引的档案,每天对照实时招聘需求筛选 25 万名候选人。

在这样的规模下,按客户划分的数据,授权控制尤为关键。

挑战:审查人看到的是 diff,不是调用图

hackajob 原本就有一套严格的审查流程。每个 PR 至少由两名工程师审查,且都不是作者本人。瓶颈不在审查投入,而在每位审查人能掌握多少系统上下文。

“审查人看到的是 diff,不是完整的调用图。所以漏掉的问题,通常要追踪一次改动如何与系统其他地方的代码交互,才能看出来。”

Dragos Dimitriu
合规负责人

解决方案:每个 PR 持续审查

现在,hackajob 的每个 PR 都会经过 Hacktron Review。Hacktron 在整个代码库中追踪每次改动,在审查流程中报出问题,修复后再重新扫描。hackajob 还设置了严重程度阈值,Hacktron 发现超过阈值的问题时,直接阻止合并。

“Hacktron 发现的问题,比人工过一遍实际能发现的多。而且每个 PR 都跑,不只是被标为涉及安全的那些。

“现在我们每周跑 200 到 250 次扫描,覆盖的项目还在增加。这里面包括修复后的重扫,但这个量,靠人工按这个深度是审不过来的。”

Dragos Dimitriu
合规负责人

问题分析

hackajob 从 2026 年 6 月首次使用 Hacktron 审查至今:

1,846 个 PR295 个问题中已分类处理 143 个98 个真实漏洞18 个已接受风险27 个误报54 个高危44 个中危 1,846 个 PR295 个问题中已分类处理 143 个98 个真实漏洞18 个已接受风险27 个误报54 个高危44 个中危

已分类处理的 143 个问题中,81.1% 属实,不是噪音。

对象级越权导致跨客户数据泄露(高危)

Hacktron 在一个为 Archer 新增助手聊天功能的 PR 中,发现了一个高危的对象级越权漏洞。

该接口对 book 范围的请求校验了所有权,但对 account 和 cohort 范围的请求没有校验。普通用户只要传入其他客户的标识符,就能越过自己的授权范围,拿到该客户的沟通记录和情感分析数据。

// A book scope may only be the caller's own book unless they're an admin.
if (
parsed.data.scope.kind === "book" &&
parsed.data.scope.ownerEmail !== user.email &&
!user.isAdmin
) {
return new Response("Forbidden", { status: 403 });
}
// <- no equivalent check existed for "account" or "cohort" scopes

单看改动的文件,逻辑前后一致。Hacktron 对比了不同范围类型的授权行为,问题才暴露出来。

“diff 里看不出任何问题。正因为这样,不管审查人经验多丰富,这种问题在人工审查中都容易漏掉。”

Dragos Dimitriu
合规负责人

Hacktron 在问题进入主分支之前就把它拦了下来。hackajob 在同一个 PR 里不到一小时就完成修复:抽出一个共享的授权函数,并为受影响的路径补上回归测试。

成效:全代码库的安全上下文

现在,每个 PR 都会经过同样覆盖全代码库的安全审查。分类处理和合并的决定权仍在工程师手里,Hacktron 提供系统上下文,让他们在代码进入主分支之前做出判断。

“Hacktron 在 PR 阶段就把它拦下了,所以它根本没进主分支。

“我们看重的就是这一点。”

Dragos Dimitriu
合规负责人

客户案例

联系我们

预约演示或免费试用。

[↓] [↑] 按 [enter] 打开
菜单
[M]
菜单下一项
[J]
菜单上一项
[K]
搜索
[F]
提问
[A]
登录
[S]
复制页面
[C]
收听
[L]
两端对齐
[R]
语言
[G]
深色模式
[D]
高对比度
[H]
快捷键
[I]
关闭
[Esc]