# ON TROJAN SIGNATURES IN LARGE LANGUAGE MODELS OF CODE

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FftqSOv5y7tYvMeQSaDrh%2Fimage.png?alt=media&#x26;token=4ab6048a-4214-4d97-8d4c-8f38f4557b52" alt=""><figcaption></figcaption></figure>

## 阅读总结报告

### 1. 研究背景

本研究探讨了大型代码语言模型（Large Language Models, LLMs）中的特洛伊签名（Trojan signatures）问题。特洛伊签名是指在模型参数（权重）中可以检测到的特洛伊模型（被恶意植入后门的模型）与非特洛伊模型之间的显著差异。这种差异可以用于检测模型是否被特洛伊化。在计算机视觉领域，已有研究通过分析图像模型的权重发现了特洛伊签名。然而，随着LLMs在软件开发中的广泛应用，如漏洞检测、代码克隆检测、代码补全和代码总结等，确保这些模型的安全性变得尤为重要。因此，本研究旨在探索特洛伊签名是否能够泛化到代码的LLMs中。

### 2. 过去方案和缺点

过去的研究提出了一种通过分析模型权重来检测特洛伊模型的方法，这种方法被称为白盒检测方法。这种方法的优点是轻量级，不需要事先了解数据集或特洛伊触发器的类型，也不需要资源密集型的计算（如重新训练/推理）。然而，这些方法通常需要整个训练集来识别被污染的样本，或者依赖于模型依赖的评分函数来确定输入中的触发器，这限制了它们的实用性。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FABDNRwEmbPJzbzDJ7GNm%2Fimage.png?alt=media&#x26;token=d0315146-7817-4eee-a0c6-a9a4dc6d1fde" alt=""><figcaption></figcaption></figure>

### 3. 本文方案和步骤

本文首先介绍了基于先前研究的特洛伊签名提取方法，并使用了两个分类任务（缺陷检测和克隆检测）的模型和数据集来评估这种方法在代码LLMs中的适用性。研究者尝试复现先前研究的结果，并对自己的模型进行了两种微调设置：一种是所有权重都进行训练的传统设置，另一种是仅训练分类器权重而保持预训练权重不变的设置。研究者使用高斯核密度估计（KDE）来生成平滑的权重分布图，并寻找特洛伊类别的权重是否出现侧向偏移。

### 4. 本文创新点与贡献

本文的主要创新点在于首次尝试将基于权重的特洛伊签名检测技术应用于代码的LLMs。研究发现，与图像模型相比，代码模型在权重上显示出更大的顽固性，即使在更明确的设置下（如冻结预训练权重进行微调）也难以检测到特洛伊签名。这一发现表明，仅从权重分析检测特洛伊化代码模型是一个难题。

### 5. 本文实验

实验部分，研究者对两个二元分类任务（克隆检测和缺陷检测）的九个特洛伊模型进行了分析。使用了TrojanedCM Repository中的CodeT5, CodeT5+, CodeBERT和PLBART等模型，并在Devign C/C++和BigCloneBench Java数据集上进行了微调。实验结果显示，无论是全权重微调还是冻结预训练权重的微调，特洛伊类别的权重分布都没有显示出预期的侧向偏移。

### 6. 实验结论

实验结果表明，特洛伊签名在代码LLMs中并不适用，这些模型在权重上隐藏特洛伊迹象的能力非常强。这可能是由于代码模型的规模远大于图像模型，或者是因为代码触发器比图像触发器更加隐蔽，因此在权重上留下的痕迹更小。

### 7. 全文结论

全文的结论是，尽管特洛伊签名在图像模型中是一个有效的检测手段，但在代码LLMs中，这种方法似乎并不适用。研究者指出，未来的研究需要进一步探索其他白盒技术来检测代码模型中的特洛伊攻击，并考虑更多的编程任务、模型和触发器类型。

### 阅读总结

本研究通过实验发现，特洛伊签名在大型代码语言模型中的检测面临挑战，这为未来在代码安全领域的研究提供了新的方向。研究结果强调了在设计和部署LLMs时需要考虑的安全措施，以及开发新的防御策略来对抗潜在的特洛伊攻击的重要性。
