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

【网安AIGC专题】46篇前沿代码大模型论文、24篇论文阅读笔记汇总
网安AIGC专题 写在最前面一些碎碎念课程简介 0、课程导论1、应用 - 代码生成2、应用 - 漏洞检测3、应用 - 程序修复4、应用 - 生成测试5、应用 - 其他6、模型介绍7、模型增强8、数据集9、模型安全 写在最前面 本文为邹德清教授的《网络安全专题》课堂笔记系列的文章,…...

如何在Simulink中使用syms?换个思路解决报错:Function ‘syms‘ not supported for code generation.
问题描述 在Simulink中的User defined function使用syms函数,报错simulink无法使用外部函数。 具体来说: 我想在Predefined function定义如下符号函数作为输入信号,在后续模块传入函数参数赋值,以实现一次定义多次使用…...

论文导读 | 10月专题内容精选:人的预测
编者按 本次论文导读,编者选择了10月份OR和MS上与"人的预测"有关的三篇文章,分别涉及群体智慧的提取,个体序列预测的评估,以及决策者对风险的扭曲感知在分布式鲁棒优化中的应用。其中,从基于"生成式可能…...

深度学习18
卷积层 查看每个数据 使用tensorboard查看 池化层 使用数据集进行训练 创建实例,使用tensorboard进行显示 最大池化保留了图片信息,神经网络训练的数据量大大减小,可以加快训练 非线性激活 非线性激活为神经网络加入了一些非线性的特质…...

Mysql数据库 18.Mysql SQL优化
SQL优化 一、插入优化 多条插入语句,影响执行效率 优化方案 1、批量插入: 在一条insert语句中多条数据,但是如果数据量过大,也不能完全使用一条语句语句,建议数据量为一次性插入1000条以下的数据 如果数据量多大&…...

[AutoSAR 存储] 汽车智能座舱的存储需求
公知及经验整理,原创保护,禁止转载。 专栏 《AutoSAR 存储》 <<<< 返回总目录 <<<< 1 智能座舱的发展: 1.1 发展历史 车辆信息娱乐系统的发展可以分为三个阶段。 机械化阶段 在上世纪90年代,车辆仪表盘…...
大数据-之LibrA数据库系统告警处理(ALM-37006 Coordinator进程异常)
告警解释 当出现如下情况时,产生该告警: CN所在机器发生硬件故障(断电、硬盘损坏等)。CN实例数据目录中的postgresql.conf配置文件不存在或者其中某个配置参数不正确。CN实例线程无法监听IP,或者无法绑定监听端口。C…...
python 列表的操作
增加 # append 在已有的列表末尾插入一个值 list1[张三,李四] list1.append(王二) print(list1)# expand 在已有的列表末尾追加一个列表 list1 [love,peace,keep] list2 [beautiful,string] list1.extend(list2) print(list1)# insert 在指定位置插入一个值list1 [love,peac…...

Vue快速实践总结 · 上篇
文章目录 模板语法数据绑定事件处理计算属性监视属性(监听器)条件渲染列表渲染数据监视原理内置指令总结生命周期组件化编程组件使用步骤组件的嵌套this指向单文件组件ref、props 脚手架(Vue CLI)render函数 参考自己的Vue专栏以及Vue官方文档 模板语法 …...

外汇天眼:香港监管机构对AMTD Global Markets Limited启动法律诉讼
香港证监会(SFC)已经启动了法律程序,要求首次审裁法院调查AMTD Global Markets Limited(AMTD,目前以orientiert XYZ Securities Limited为名)及其前高管在与首次公开发行(IPO)相关的…...

OpenCV入门教程
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

84基于matlab的数字图像处理
基于matlab的数字图像处理,数据可更换自己的,程序已调通,可直接运行。 84matlab数字图像处理图像增强 (xiaohongshu.com)https://www.xiaohongshu.com/explore/656219d80000000032034dea...

jQuery_09 事件的绑定与使用(on)
jQuery使用on绑定事件 jQuery可以给dom对象添加事件 在程序执行期间动态的处理事件 1. $("选择器").事件名称(事件处理函数) $("选择器") : 选择0或者多个dom对象 给他们添加事件 事件名称:就是js中事件名称去掉on的部分 比如单击…...

详解Java中的泛型(泛型的语法,擦除机制,泛型的上界)
目录 一.什么是泛型 二.Java中为什么要使用泛型 三.泛型的语法 四.泛型类的使用 五.泛型的编译机制(擦除机制) 六.泛型的上界 一.什么是泛型 泛型(Generics)是Java SE 5中引入的一个新特性,可以使Java中的类和方…...

数据结构算法-贪心算法
引言 贪心:人只要有 “需求“ ,都会有有点“贪“, 这种“贪“是一种选择,或者“”取舍“ RTS(即时战略)游戏: 帝国时代里 首先确保拥有足够的人口 足够的粮食,足够的战略资源 足够的…...

【云备份】数据管理模块
文章目录 1. 数据管理模块要管理什么数据?2. 数据管理模块如何管理数据?3. 数据管理模块的具体实现BackupInfo 数据信息类NewBackupInfo —— 获取各项属性信息 DataManager 数据管理类构造函数析构函数insert —— 新增update —— 修改GetOneByURL——…...

C++ :const修饰成员函数
常函数: 常函数: 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改 属性可修改: class Person { public: void showPerson() …...

论文阅读:“Model-based teeth reconstruction”
文章目录 AbstractIntroductionTeeth Prior ModelData PreparationParametric Teeth Model Teeth FittingTeeth Boundary Extraction Reference Abstract 近年来,基于图像的人脸重建方法日趋成熟。这些方法可以捕捉整个面部或面部特定区域(如头发、眼睛…...
Web 安全之证书透明(Certificate Transparency)详解
目录 证书透明性的概念 数字证书和颁发机构 证书透明的起源 证书透明的工作原理 证书透明的实现方法 证书透明的优点 浏览器和客户端对证书透明的支持情况 小结 证书透明(Certificate Transparency, CT)是网络安全领域中的一个重要概念ÿ…...

智能优化算法应用:基于蜻蜓算法无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于蜻蜓算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蜻蜓算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜻蜓算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...