网安AIGC专题
写在最前面
本文为邹德清教授的《网络安全专题》课堂笔记系列的文章,本次专题主题为大模型。
本系列文章不仅涵盖了46篇关于前沿代码大模型的论文,还包含了24篇深度论文阅读笔记,全面覆盖了代码生成、漏洞检测、程序修复、生成测试等多个应用方向,深刻展示了这些技术如何在网络安全领域中起到革命性作用。同时,本系列还细致地介绍了大模型技术的基础架构、增强策略、关键数据集,以及与网络安全紧密相关的模型安全问题。
本篇博客旨在整理这些宝贵的笔记,方便未来的阅读和研究,同时也希望能够对广大读者产生启发和帮助。让我们一起踏上这场网络安全的未来探索之旅,共同在这个不断变化的领域中寻找属于我们的立足点。
一些碎碎念
纯散养、跨方向的直博开局,幸运的遇到了网络安全专题这门课,于是像每周组会一样在上课。
感谢邹德清、李珍、文明老师的授课,感谢课堂每一位同学的交流,受益匪浅。
带我打开一个全新视角,领略AIGC与大模型技术的革新之旅。同时理解最新的技术成就,发现它们的不足之处,并培养出创新能力。还有一些全英文PPT,“被迫”学了很多英文名词hh
对于我来说,这不仅仅是学术上的成长之旅,更是一次思维和视角的重大转变。通过课堂汇报、论文阅读和交流讨论,我逐渐培养了阅读论文的习惯,并学会了如何形成自己的思路。
这是2023秋季的三个月,也是积极的开始。希望之后的自己能延续每周阅读文献,积极推进科研进度,争取早日毕业!
课程简介
网络安全专题是针对当前热点安全问题进行研讨,通常分成四类热门主题进行介绍和研讨,包括的热门主题有:攻击行为与漏洞分析,分享最新的攻防进展;下一代网络安全,分享物联网、工控网络等相关协议安全、网络防御等技术;动态行为分析,分享内存相关安全以及动态污点技术等;人工智能安全,分享人工智能,人工智能安全应用,以及联邦学习安全等最新知识。
围绕着几个热门主题,在最近五年的信息安全顶尖会议上挑选一些代表性论文,组织学生研讨,启发他们理解最新成果,并发现最新成果的不足,从而达到培养创新能力的目的;另外也提高他们用英文介绍知识,以及进行讨论的能力。
0、课程导论
【网安AIGC专题10.11】软件安全+安全代码大模型
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)
1、应用 - 代码生成
主题论文出处及时间论文笔记Enabling Programming Thinking in Large Language Models Toward Code GenerationarXiv 2023.5.11Self-Edit: Fault-Aware Code Editor for Code GenerationarXiv 2023.5.6Improving Code Example Recommendations on Informal Documentation Using BERT and Query-Aware LSH: A Comparative StudyarXiv 2023.5.4自动程序修复Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code GenerationarXiv 2023.5.2论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)代码生成Self-collaboration Code Generation via ChatGPTarXiv 2023.4.15论文3代码生成:ChatGPT+自协作代码生成+角色扮演(分析员、程序员、测试员)+消融实验、用于MBPP+HumanEval数据集代码生成Improving Code Generation by Training with Natural Language FeedbackarXiv 2023.3.282 ILF利用人类编写的 自然语言反馈 来训练代码生成模型:自动化反馈生成+多步反馈合并+处理多错误反馈+CODEGEN -M ONO 6.1 B modelLearning Performance-Improving Code EditsarXiv 2023.2.15
2、应用 - 漏洞检测
论文出处及时间Large Language Models of Code Fail at Completing Code with Potential BugsarXivLarge Language Models and Simple, Stupid BugsarXiv 2023.3.20Prompting Is All Your Need: Automated Android Bug Replay with Large Language ModelsarXivWhen GPT Meets Program Analysis: Towards Intelligent Detection of Smart Contract Logic Vulnerabilities in GPTScanarXiv
3、应用 - 程序修复
主题论文出处及时间论文笔记Towards Generating Functionally Correct Code Edits from Natural Language Issue DescriptionsarXiv 2023.4.7自动程序修复Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPTarXiv 2023.4.15 ChatRepair:ChatGPT+漏洞定位+补丁生成+补丁验证+APR方法+ChatRepair+不同修复场景+修复效果(韦恩图展示)CCTEST: Testing and Repairing Code Completion SystemsICSE 2023Examining Zero-Shot Vulnerability Repair with Large Language ModelsS&P 2023自动程序修复Automated Program Repair in the Era of Large Pre-trained Language ModelsICSE 2023大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)+生成式模型GPT\CodeX填充式模型CodeT5\INCODER漏洞修复How Effective Are Neural Networks for Fixing Security VulnerabilitiesarXiv论文6(顶会ISSTA 2023):提出新Java漏洞自动修复数据集:数据集 VJBench+大语言模型、APR技术+代码转换方法+LLM和DL-APR模型的挑战与机会自动程序修复Conversational Automated Program RepairarXiv 2023.1.30论文7:Chatgpt/CodeX引入会话式 APR 范例+利用验证反馈+LLM 长期上下文窗口:更智能的反馈机制、更有效的信息合并策略、更复杂的模型结构、鼓励生成多样性静默漏洞修复识别CoLeFunDa-Explainable Silent Vulnerability Fix IdentificationICSE 20238 CoLeFunDa华为团队:静默漏洞检测(识别+多分类)+数据增强、样本扩充+对比学习+微调+结果分析(降维空间,分类错误样本归纳,应用场景优势,有效性威胁分析)
4、应用 - 生成测试
主题论文出处及时间论文笔记No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test GenerationarXiv 2023.5.9Finding Failure-Inducing Test Cases with ChatGPTarXiv 2023.4.30Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPTarXiv 2023.4.4自动化测试Large Language Models are Few-shot Testers: Exploring LLM-based General Bug ReproductionarXiv 2022.9.239 LIBRO方法(ICSE2023顶会自动化测试生成):提示工程+查询LLM+选择、排序、后处理(测试用例函数放入对应测试类中,并解决执行该测试用例所需的依赖)模糊测试Large Language Models are Zero-Shot Fuzzers: Fuzzing Deep-Learning Libraries via Large Language ModelsISSTA 202310 TitanFuzz完全自动化执行基于变异的模糊测试:生成式(如Codex)生成种子程序,逐步提示工程+第一个应用LLM填充模型(如InCoder)+差分测试
5、应用 - 其他
主题论文出处及时间论文笔记信息提取CODEIE: Large Code Generation Models are Better Few-Shot Information ExtractorsarXiv 2023.5.1112 CODEIE用于NER和RE:顶刊OpenAI API调用、CodeX比chatgpt更好:提示工程设计+控制变量对比实验(格式一致性、模型忠实度、细粒度性能)代码搜索On Contrastive Learning of Semantic Similarity for Code to Code SearcharXiv 2023.5.514Cosco跨语言代码搜索代码: (a) 训练阶段 相关程度的对比学习 对源代码(查询+目标代码)和动态运行信息进行编码 (b) 在线查询嵌入与搜索:不必计算相似性生成知识图谱CodeKGC: Code Language Model for Generative Knowledge Graph ConstructionarXiv 2023.4.18软件工程The Scope of ChatGPT in Software Engineering: A Thorough InvestigationarXiv15 ChatGPT在软件工程中的全面作用:程序语法(AST生成、表达式匹配) 静态行为、动态分析(数据依赖和污点分析、指针分析) 提示设计(角色提示、指令提示)代码摘要Improving Few-shot Prompts with Relevant Static Analysis ProductsarXiv17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集代码解释Comparing Code Explanations Created by Students and Large Language ModelsarXiv 2023.4.13论文13:理解和解释代码,GPT-3大型语言模型&学生创建的代码解释比较+错误代码的解释(是否可以发现并改正)代码学习Active Code Learning: Benchmarking Sample-Efficient Training of Code ModelsarXiv 2023.4.811 Coreset-C 主动学习:特征选择+11种采样方法+CodeBERT、GraphCodeBERT+多分类(问题分类)二元分类(克隆检测)非分类任务(代码总结)许可证版权保护CODEIPPROMPT: Intellectual Property Infringement Assessment of Code Language ModelsICML 202316CODEIPPROMPT:顶会ICML’23 从GitHub到AI,探索代码生成的侵权风险与缓解策略的最新进展:训练数据`有限制性许可;模型微调+动态Token过滤LLM4SE综述Large Language Models for Software Engineering: A Systematic Literature ReviewarXiv 2023.9.1218LLM4SE革命性技术揭秘:大型语言模型LLM在软件工程SE领域的全景解析与未来展望 - 探索LLM的多维应用、优化策略与软件管理新视角
6、模型介绍
论文出处及时间StarCoder: may the source be with you!arXiv 2023.5.9Textbooks Are All You NeedarXiv 2023.6.20Analysis of ChatGPT on Source CodearXiv
7、模型增强
主题论文出处及时间论文笔记代码预训练ContraBERT: Enhancing Code Pre-trained Models via Contrastive LearningICSE 202319ContraBERT:顶会ICSE23 数据增强+对比学习+代码预训练模型,提升NLP模型性能与鲁棒性:处理程序变异(变量重命名)持续学习Keeping Pace with Ever-Increasing Data: Towards Continual Learning of Code Intelligence ModelsICSE 202323REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】TRACED: Execution-aware Pre-training for Source CodearXivSymmetry-Preserving Program Representations for Learning Code SemanticsarXiv
8、数据集
主题论文出处及时间论文笔记The Vault: A Comprehensive Multilingual Dataset for Advancing Code Understanding and GenerationarXiv 2023.5.9错误代码补全Large Language Models of Code Fail at Completing Code with Potential BugsNeurIPS 202324 LLM错误代码补全:机器学习顶会NeurIPS‘23 智能体评估:自行构建数据集Buggy-HumanEval、Buggy-FixEval+错误代码补全+修复模型【网安AIGC专题11.22】CCF CLLMSecEval: A Dataset of Natural Language Prompts for Security EvaluationsarXiv 2023.3.1622LLMSecEval数据集及其在评估大模型代码安全中的应用:GPT3和Codex根据LLMSecEval的提示生成代码和代码补全,CodeQL进行安全评估【网安AIGC专题11.22】CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code ModelsICSE 2023数据增强Data Augmentation Approaches for Source Code Models: A Survey arXiv20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
9、模型安全
主题论文出处及时间Multi-target Backdoor Attacks for Code Pre-trained ModelsarXiv对抗攻击Discrete Adversarial Attack to Models of CodePLDI 2023
版权归原作者 是Yu欸 所有, 如有侵权,请联系我们删除。