中文

你的代码秘密属于我:神经代码补全工具可记忆硬编码凭证

密码学与安全 2024-05-21 v2

摘要

神经代码补全工具(NCCTs)重塑了软件工程领域,其基于语言建模技术构建,能准确建议上下文相关的代码片段。然而,语言模型可能在推理时以适当提示逐字输出训练数据。这种记忆特性引发了NCCTs关于硬编码凭证泄露的隐私担忧,可能导致对应用、系统或网络的未授权访问。因此,为回答NCCTs是否会泄露硬编码凭证,我们提出一种称为硬编码凭证揭示器(HCR)的评估工具。HCR基于带凭证的GitHub代码文件构造测试提示以揭示NCCTs的记忆现象。随后,HCR设计四种过滤器以滤除格式错误的凭证。最后,HCR直接检查一组非敏感凭证的有效性。我们将HCR应用于评估三类代表性NCCTs:商业NCCTs、开源模型以及具备代码补全能力的聊天机器人。实验结果表明,NCCTs不仅能返回其训练数据的精确片段,还会无意泄露额外的秘密字符串。值得注意的是,实验中识别出了两个有效凭证。因此,HCR提出了关于商业NCCTs训练数据中硬编码凭证潜在泄露的严重隐私担忧。所有工件和数据已发布于https://github.com/HCR-Repo/HCR以供未来研究。

关键词

引用

@article{arxiv.2309.07639,
  title  = {Your Code Secret Belongs to Me: Neural Code Completion Tools Can Memorize Hard-Coded Credentials},
  author = {Yizhan Huang and Yichen Li and Weibin Wu and Jianping Zhang and Michael R. Lyu},
  journal= {arXiv preprint arXiv:2309.07639},
  year   = {2024}
}

备注

Accepted by FSE '24