逮个正着!此模型用了我的代码!评估代码模型中的成员泄露风险
软件工程
2024-10-16 v2 密码学与安全
摘要
鉴于开源项目中可用的大规模源代码数据集以及先进的大语言模型,近期提出了若干代码模型以解决一系列关键软件工程任务,如程序修复与代码补全。代码模型的训练数据来源广泛,不仅包含公开可用的源代码(例如 GitHub 上的开源项目),亦包含公司机密源代码等私有数据,其中可能含有敏感信息(如 SSH 密钥与个人信息)。因此,使用这些代码模型可能引发新的隐私担忧。本文聚焦于使用代码模型中一个关键却未被充分探索的问题:代码模型的成员信息泄露风险几何?成员信息泄露是指攻击者能够推断某一给定数据点是否包含于(即为成员)训练数据中的风险。为回答此问题,我们提出 Gotcha,一种专为代码模型设计的新型成员推断攻击方法。我们探究了代码模型的成员泄露风险。结果揭示了一个令人担忧的事实:成员泄露风险颇高——尽管先前的攻击方法近乎随机猜测,Gotcha 却能以 0.95 的高真正率与 0.10 的低假正率预测数据成员身份。我们还表明,攻击者对受害模型(如模型架构与预训练数据)的了解会影响攻击成功率。进一步分析表明,改变解码策略可缓解成员泄露风险。本研究呼吁更多关注代码模型隐私的理解,并开发更有效的对策以抵御此类攻击。
引用
@article{arxiv.2310.01166,
title = {Gotcha! This Model Uses My Code! Evaluating Membership Leakage Risks in Code Models},
author = {Zhou Yang and Zhipeng Zhao and Chenyu Wang and Jieke Shi and Dongsum Kim and Donggyun Han and David Lo},
journal= {arXiv preprint arXiv:2310.01166},
year = {2024}
}
备注
Accepted by IEEE Transactions on Software Engineering, Camera-Ready Version