夜雨聆风学习资料网

ARTICLE · 1087547

为什么AI找出了100个漏洞,最后可能一个都交不上去?

为什么AI找出了100个漏洞,最后可能一个都交不上去?

近些年来,AI安全工具变得越来越多。

特别是当一部分AI Agent开启代码分析,浏览器,HTTP请求,扫描器后,其呈现出的感觉更为明显。

以往需自己慢慢找的物件,现在被扔给AI。

走一遍。

几十个的结果。

再跑一回。

上百个的结果。

有时看着满屏:

❝

疑似SQL注入。

❝

疑似是越权。

❝

疑似SSF。

❝

疑似有敏感信息被泄露。

刚开始或许还挺兴奋的。

卧槽,这么多漏洞?

但是当你真正打算整理这些漏洞的时候,情况就出现了。

为什么AI明明找出100个漏洞却最终一个都没有交上?

实际原因极简单。

AI所找到的很多时候仅仅是:

值得你去观赏的东西。

而非是:

“已经能够提交出来的漏洞”

此两个概念差得十分远。

一,AI所发现的是疑点,并非是结论。

这是众多初次使用AI安全工具时最容易被忽略的事情。

比如AI对一段代码进行分析,随后将其告知你:

察觉到疑似SQL的注入情况:用户输入参数 user_id ↓进入查询函数 ↓拼接SQL语句 ↓疑似存在注入风险

你看到此处是否特别容易感觉到:

有。

直接就提交。

但是真正开展渗透测试的时候,首要反应通常并非提交。

而是持续问:

真的能够注入?

输入是否是用户可掌控的?

是否存在参数过滤情况?

有无ORM的处理?

数据库是什么?

此查询是否存在涉及危险执行途径的情况?

能否稳定复现?

有没有真实影响?

在这些物品尚未被确认之前它最多仅能算作一个:疑点。

二,AI很容易把看起来像是漏洞的东西当作漏洞

这实际上和AI的工作模式存在关联。

AI十分擅长从众多信息当中去寻找契合某一种模式的事物。

比如看见:

sql = " SELECT * FROM usersW ERE id = " + user_id

它轻易就会跟你说:

❝

这里有SQL注入的风险。

此判断不可以说错。

但是渗透测试确实需要持续往前推进。

例如:

从哪里来的user_id ?

有没有运用其他的函数?

进入此处之前有无校验?

此函数是否仅仅只有内部的服务才能够被调用?

数据库的账号有哪些权限?

最终所带来的影响是如何的?

因此你会察觉到:

漏洞识别仅仅是首要的步骤。

真正困难的是后续验证。

三,最为棘手的问题是误报

若你使用过各类扫描器,你实际上应该十分熟悉这个物件。

扫描器的报告里面常常出现:

高危:像SQL注入中危:似似越权中危情况敏感信息被泄露低危是安全配置的问题

结果开启一看:

有些乃误报。

有些乃重复之事。

部分根本无法运用。

还有部分虽然确实有问题,但是实际产生的影响十分有限。

AI时代实际上也是一样。

甚至由于AI可一次处理数量更多的目标,误报的数量也有可能一同增多。

以往你一天能够看到20个成果。

现在AI给你整出200个。

效率实在是太高了。

但你是否曾想过:

谁来验证那200个的结果?

四,100个成果,最为麻烦的是筛选

假设AI确实给你找到100个疑似的漏洞。

接下来通常不是:

100个漏洞↓写100份报告↓提交

现实更或许是:

100个疑似问题        ↓去重        ↓排除误报        ↓人工验证        ↓确认影响        ↓判断是否重复        ↓判断是否符合漏洞规则        ↓整理复现过程        ↓提交

走到最终。

或许仅剩几个。

乃至一个皆没有。

这并不意味AI没有用处。

正好相反。

AI帮助你完成了许多之前的搜索事宜。

只是最终真正具有价值的部分工作还需要人完成。

五,还有一个非常现实的事情:你能不能去证明?

漏洞报表不是:

我觉得这里存在问题。

亦不是:

AI说这里有漏洞。

也不是:

代码看上去好像存在风险。

真正漏洞报告得有证据。

比如你察觉到一个类似越权的问题。

你不可只说:

对ID进行修改之后可以去访问别的用户的相关数据。

你需要阐释:

普通用户A ↓访问自己的资源 ↓修改资源标识 ↓服务端未正确校验资源归属 ↓获取用户B的数据

此刻问题便变得十分明晰。

你证明不是:

“这里存在一个ID的参数”

但是:

“攻击者可以跨越原本应该具备的权限界限。”

此乃漏洞。

六,众多AI报告存在一个问题,只讲技术而不讲影响。

这是我认为非常容易被忽视的一个方面。

AI很喜爱描述:

❝

参数能够控制。

用户输入就进入某个函数。

存在危险的调用。

❝

有敏感的数据。

但漏洞报告实际关注的,是一个非常关键的事情:

所以?

此问题很实际。

例如:

某接口返回一个用户的名称。

是否属于敏感信息。

不一定

要是返回的话:

用户名手机号邮箱

或许需要结合特定场景来进行判断。

要是返回的话:

身份证信息银行卡信息内部凭证访问Token用户隐私数据

情况明显又不同。

因此:

技术现象对安全产生的影响。

漏洞价值在很多时候正好就在这个影响之上。

七,还存在一种情形:确实存在问题但不契合提交的规则

这个更为现实。

假设你确实找到了一件事情。

也可以复现。

影响也有。

是否就一定可以提交?

是不一定的。

由于不同的SRC,漏洞赏金的平台,企业的安全响应的中心,其规则可能存在差异。

某些问题或许属于:

  • 已知问题
  • 重复漏洞
  • 信息级问题
  • 不在奖励范围
  • 第三方组件问题
  • 测试环境问题
  • 不具备实际安全影响
  • 平台明确排除的类型

故而你最终会察觉到:

漏洞的存在以及漏洞可以被有效地提交,这是两个不一样的问题。

这也就是为什么很多真正去挖掘漏洞的人,不只是研究漏洞自身,还得去看目标规则。

八,重复漏洞是AI特别容易碰到的问题。

此场景确实十分典型。

设定一个系统存在50个接口的情况。

AI发现:

接口A :疑似越权。接口B :疑似越权。接口C :疑似越权。接口D :疑似越权。……

你或许以为:

发财了,数十个越权”。

但是实际分析之后发觉:

它们全都运用同一种权限校验的逻辑。

根本上是:

一个根源,多个受到影响的接口。

在这种情形下,你可不能简单地去理解:

有50个完全不相同的漏洞存在。

这便是为什么在安全测试当中经常需要去做:

  • *基因分析。

AI可以跟你说:

❝

“此处有问题”。

但是你得进一步去判断:

这些问题究竟是否属于同一类问题?

九,真正厉害不是让AI找出100个漏洞。

而是让AI寻得100个结果之后,你才知道:

有哪些值得继续去看。

这实际上就涉及到一个非常关键的能力情况:

❝

漏洞挑选。

比如AI给你下面的结果:

疑似XSS疑似SQL注入疑似越权敏感信息泄露弱口令SSRF配置问题

一个刚进入的人或许会:

“全都验证”。

接着开始疯狂奔跑。

但是一个真正开展安全测试工作的人,通常会先对系统架构,业务逻辑,权限模型,数据流等方面的信息进行判断:

哪些结果是值得优先去验证的。

因为时光总是有限。

你不能够无限制地去验证所有的东西。

十,这也就是为什么会用AI和会做安全是两回事。

当下众多人在学习AI安全工具时,极易陷入误区:

觉得Prompt写得还可以。

AI就可以帮助自己完成全部漏洞挖掘的过程。

但真实的问题乃:

你得明白让它去做些什么。

例如:

❝

帮我找一回漏洞。

这是一项极为宽泛的需求。

AI或许会给你许多结果。

但是当你领会系统的时候,你可以再进一步去告知它:

❝

对这个项目权限模型进行解析。

❝

找出所有和资源归属相关的判断接口。

❝

对不同角色去访问这类接口时候的权限差别进行对比。

❝

找出有可能权限校验存在不一致的情况。

此刻AI的效率完全不同。

因为你所给予的已不是一句话:

“帮我寻找漏洞”。

并非是一套清晰的分析走向。

十一,未来或许会出现一个颇具意义的变化

过去做安全的测试:

人找漏洞↓工具辅助

未来或许会越发相似:

AI大量寻找↓产生大量候选结果↓人进行筛选↓AI辅助验证↓人判断影响↓AI辅助整理↓人最终确认

说。

AI或许会让:

“找到一个可能的问题”

此事情越发便宜。

但同时:

“判断这个问题到底有没有价值”

或许会越发重要。

十二,为什么AI找出100个漏洞却最终一个都没有交上?

当下回过头去看,实际上是很好理解的。

由于中间还有比较长的一段时间:

AI发现  ↓疑似问题  ↓人工验证  ↓确认漏洞  ↓判断影响  ↓排除误报  ↓排除重复  ↓确认规则  ↓整理证据  ↓漏洞报告  ↓有效提交

AI能够参与到许多环节之中。

甚至未来参与者的比例或许会越发高涨。

可是:

AI所发现的100个漏洞这个数字自身并不是那么重要的。

真正关键的是:

100个结果当中,

你可不可以找到真正问题。

能否证明其。

能否解释它为何发生。

能不能把它造成的影响说清楚。

能否判定它是否存在重复的情况。

能不能依照目标规则梳理成一份具有有效性的报告?

最后说一句

我当下越发觉得。

未来安全测试或许会呈现出一种颇具意义的状况:

漏洞的发现会越发容易,而漏洞判断则越发重要。

以往一个人每天找到若干个问题已经相当不错。

未来AI或许一会儿就会给出几十个乃至上百个候选的结果。

不过结果越多人的工作不一定就越少。

因为你得应对另外一种问题:

在众多结果当中,哪一个是真实的?

接着往后:

在真实的问题当中,哪一个值得持续去探究?

接着往后:

这个问题究竟会带来什么实际的影响?

所以要是你现在去钻研渗透测试的话,我反倒觉得不要将自身的目标设定成:

我需要让AI帮助我找出更多的漏洞。

更应该去学习的是:

当看到某一结果时,我为何认为其为漏洞?

我准备如何证明?

它究竟对什么产生了作用?

若AI判定错误,我能否察觉?

这些问题或许是AI时代里安全测试工作者真正需要去弥补的能力所在。

但是:

要让AI找到100个疑似漏洞并不困难。

关键之处在于你能否从这100个成果当中,找到真正值得花费时间的事物。

🎁 互动与福利

分享本文到朋友圈,点赞+在看+关注,一键三联,可以凭截图找老师领取

上千学习资料+工具哦

22919c6e4ef945aa9a9cbf0f6df4f6ff

分享后扫码加我!

相关学习资料