通过大语言模型(LLM)识别与修复风险代码
Source :
mp.weixin.qq.com
Author :
无恒实验室
一直以来,“漏洞”作为一种典型的风险管理对象,链接了动态扫描(DAST)、静态扫描(SAST)等风险发现工具和企业风险修复流程。但围绕漏洞建立的“风险发现”和“风险修复”两者间存在天然矛盾,且随着风险治理从事后移向事前而加剧。一方面,风险发现时机前移,距离线上实际状态更远,增加了“漏洞”可利用性和危害的评估难度,发现潜在问题的数量级上升;另一方面,漏洞修复流程实施成本高昂,依赖安全与业务双方人工分析、协同修复,且往往优先处理可利用性高且危害明确的漏洞;矛盾加剧反而会阻塞前移后的风险治理。 无恒实验室尝试将风险管理对象从传统“漏洞”转变为“风险代码”,并联合代码智能团队尝试利用 LLM 实现“风险代码自动发现与修复闭环”,降低治理成本、提升治理效率。 “风险代码”指由于存在“缺陷”有概率引发线上漏洞的代码,是构成代码漏洞的必要不充分条件。而“校验缺失”是最常见的风险代码类型之一。由于缺少对关键变量进行关系校验、值域校验、类型校验、模式校验等必要合法性检查,会导致非法请求数据进入业务流程,造成安全危害。