CLNX: Bridging Code and Natural Language for C/C++ Vulnerability-Contributing Commits Identification

要約

大規模言語モデル (LLM) は、脆弱性の特定において大きな期待を集めています。
C/C++ は過去 10 年間のオープンソース ソフトウェア (OSS) の脆弱性の半分を占めており、OSS の更新は主にコミットを通じて行われるため、C/C++ 脆弱性の原因となるコミット (VCC) を特定する LLM の能力を強化することが不可欠です。
ただし、現在の研究は主に、大規模なコード データセットで LLM をさらに事前トレーニングすることに焦点を当てていますが、これはリソースを大量に消費し、効率性の課題を引き起こします。
このペーパーでは、軽量な方法で C/C++ VCC を識別する BERT ベースの LLM の機能を強化します。
私たちは、C/C++ プログラムと LLM 間の通信を容易にするブリッジとして CodeLinguaNexus (CLNX) を提案します。
CLNX は、コミットに基づいて、重要な詳細を維持しながら、ソース コードをより自然な表現に効率的に変換します。
具体的には、CLNX は最初に構造レベルの自然化を適用して複雑なプログラムを分解し、次にトークン レベルの自然化を適用して複雑なシンボルを解釈します。
25,872 個の C/C++ 関数とそのコミットの公開データセットで CLNX を評価します。
結果は、CLNX が C/C++ VCC の識別における LLM のパフォーマンスを大幅に向上させることを示しています。
さらに、CLNX を搭載した CodeBERT は新たな最先端技術を実現し、現実世界で 38 件の OSS 脆弱性を特定します。

要約(オリジナル)

Large Language Models (LLMs) have shown great promise in vulnerability identification. As C/C++ comprises half of the Open-Source Software (OSS) vulnerabilities over the past decade and updates in OSS mainly occur through commits, enhancing LLMs’ ability to identify C/C++ Vulnerability-Contributing Commits (VCCs) is essential. However, current studies primarily focus on further pre-training LLMs on massive code datasets, which is resource-intensive and poses efficiency challenges. In this paper, we enhance the ability of BERT-based LLMs to identify C/C++ VCCs in a lightweight manner. We propose CodeLinguaNexus (CLNX) as a bridge facilitating communication between C/C++ programs and LLMs. Based on commits, CLNX efficiently converts the source code into a more natural representation while preserving key details. Specifically, CLNX first applies structure-level naturalization to decompose complex programs, followed by token-level naturalization to interpret complex symbols. We evaluate CLNX on public datasets of 25,872 C/C++ functions with their commits. The results show that CLNX significantly enhances the performance of LLMs on identifying C/C++ VCCs. Moreover, CLNX-equipped CodeBERT achieves new state-of-the-art and identifies 38 OSS vulnerabilities in the real world.

arxiv情報

著者 Zeqing Qin,Yiwei Wu,Lansheng Han
発行日 2024-09-11 16:49:46+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: 68M25, cs.AI, cs.CR パーマリンク