Vignat:基于图注意力网络学习代码语义的漏洞识别
密码学与安全
2023-11-01 v1 人工智能
摘要
漏洞识别对于保护软件系统免受网络攻击至关重要。然而,大型项目拥有超过数百万行代码,复杂的依赖关系使得传统的静态与动态方法难以实施。此外,各类漏洞的语义结构差异巨大且可能同时出现,使得通用的基于规则的方法难以扩展。在本文中,我们提出\textit{Vignat},一种基于注意力的新型框架,通过学习代码的图级语义表示来识别漏洞。我们以细粒度用代码属性图(CPGs)表示代码,并使用图注意力网络(GATs)进行漏洞检测。结果表明,Vignat能在源自流行C库的可靠数据集上达到的准确率。此外,我们GATs的可解释性为漏洞模式提供了有价值的见解。
引用
@article{arxiv.2310.20067,
title = {Vignat: Vulnerability identification by learning code semantics via graph attention networks},
author = {Shuo Liu and Gail Kaiser},
journal= {arXiv preprint arXiv:2310.20067},
year = {2023}
}