VibeCoding正在制造新一代影子应用

admin 2026-06-26 07:33:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: VibeCoding通过自然语言生成应用降低了软件开发门槛,但导致新一代影子应用激增,引发严重安全风险。核心问题在于责任断层与安全治理缺失,常见漏洞包括鉴权缺失、密钥硬编码、数据库配置宽松及供应链风险。建议安全团队建立应用登记机制、分级治理策略、安全模板嵌入,并加强主动发现能力,而非简单禁止。 综合评分: 87 文章分类: 安全建设,应用安全,安全意识,解决方案,供应链安全


cover_image

Vibe Coding 正在制造新一代影子应用

原创

NowSec NowSec

NowSec

2026年6月24日 08:00 陕西

在小说阅读器读本章

去阅读

过去,企业安全团队最头疼的影子 IT,可能是一张没人登记的 Excel 表、一个临时搭建的共享网盘、一个业务部门自己买的 SaaS 工具,或者一个没有经过审批的低代码平台。

这些东西的问题很明确: 不在资产台账里,不在权限体系里,不在审计范围里,也不在安全团队的视野里。

但现在,新的变化出现了。

业务人员不再只是偷偷买一个 SaaS,也不只是用低代码平台搭一个表单。 他们开始用 AI 直接生成应用。

这就是 Vibe Coding 带来的新问题。

它让任何人都可以用自然语言描述需求,然后快速生成一个能跑起来的网站、后台、表单、数据看板、自动化脚本,甚至是一个完整的小型业务系统。

这听起来像一次生产力释放。

但从安全角度看,它也可能正在制造新一代影子应用。


一、Vibe Coding 真正改变的不是写代码,而是「谁能生产软件」

过去,软件开发有门槛。

哪怕只是做一个简单的后台页面,也需要有人懂前端、后端、数据库、部署、鉴权、日志、接口、异常处理。

这套门槛虽然降低了效率,但也形成了一种天然的安全缓冲。

因为只要进入正式开发流程,至少会经过一些基本环节:

  • 需求评审;
  • 技术设计;
  • 代码仓库;
  • 测试环境;
  • 上线流程;
  • 账号权限;
  • 监控告警;
  • 安全扫描;
  • 运维交接。

这些流程不一定完美,但至少让软件进入了组织的管理视野。

Vibe Coding 改变了这一点。

它让「写代码」这件事从专业开发者手里扩散到了更多普通用户手里。

市场人员可以生成一个活动报名系统。 运营人员可以生成一个数据录入后台。 财务人员可以生成一个报表汇总页面。 产品经理可以生成一个原型工具。 安全人员也可以生成一个日志分析脚本。

从效率角度看,这很诱人。

但问题在于: 当软件生产能力被下放之后,软件治理能力有没有同步下放?

答案通常是没有。

会写提示词,不代表懂安全架构。 能让页面跑起来,不代表知道怎么做鉴权。 能连接数据库,不代表知道怎么保护数据。 能部署到公网,不代表知道暴露面意味着什么。

这就是 Vibe Coding 的核心矛盾:

它降低了软件生产门槛,却没有同步降低安全治理门槛。


二、新一代影子应用,比过去的影子 IT 更危险

传统影子 IT 的风险主要来自「未经批准使用外部工具」。

比如员工私自使用网盘、在线表格、协作平台,把企业数据传到外部服务里。

安全团队至少还能从几个方向治理:

  • 识别访问域名;
  • 管控 SaaS 使用;
  • 限制文件外传;
  • 做 CASB 或 DLP;
  • 做账号统一认证;
  • 做终端和网关审计。

但 Vibe Coding 生成的影子应用更复杂。

因为它不是一个固定的外部 SaaS,而是一个被快速生成、随时修改、随时部署的小型系统。

它可能部署在:

  • 个人云服务器;
  • Vercel、Netlify、Cloudflare Pages;
  • GitHub Pages;
  • Firebase、Supabase;
  • 企业内部测试服务器;
  • 某台开发机;
  • 一个临时容器;
  • 一个没人知道的二级域名。

更麻烦的是,这些应用可能不是孤立的。

它们会连接真实业务数据。

例如:

  • 连接企业数据库;
  • 读取内部 API;
  • 调用飞书、企业微信、钉钉接口;
  • 连接 CRM、ERP、BI 系统;
  • 存储客户信息;
  • 处理订单数据;
  • 上传合同、发票、身份信息;
  • 保存 API Key、Token、Cookie。

过去的影子 IT,很多时候是「数据被搬到了外部工具」。

现在的影子应用,则可能是「一个未知系统接入了内部数据」。

这类风险更难被发现,也更难被评估。

因为它不是简单的工具使用问题,而是一个完整的软件系统生命周期问题。


三、Vibe Coding 最大的问题不是「代码烂」,而是「责任断层」

很多人讨论 Vibe Coding 安全风险时,喜欢说 AI 生成的代码不安全。

这当然是事实的一部分。

AI 可能生成 SQL 注入、XSS、弱鉴权、硬编码密钥、错误的权限控制、错误的 CORS 配置、错误的文件上传逻辑。

但如果只讨论代码质量,问题就被说浅了。

真正的问题是责任断层。

传统开发中,一个系统上线后,通常能找到责任链:

需求是谁提的?
代码是谁写的?
谁做的测试?
谁批准上线?
谁负责运维?
谁处理漏洞?
谁负责数据安全?

而 Vibe Coding 生成的影子应用,责任链经常是断的。

一个业务人员可能只是想解决一个临时问题:

「帮我做一个可以上传 Excel 并统计结果的小工具。」

AI 很快生成了页面、接口和数据库结构。 用户觉得能跑,就部署了。 同事觉得好用,就开始使用。 数据越积越多,功能越改越多。 最后它从「临时工具」变成了「事实上的业务系统」。

但没人真正回答这些问题:

  • 这个系统是否应该存在?
  • 数据应该保存多久?
  • 谁能访问?
  • 有没有权限分级?
  • 有没有日志?
  • 有没有备份?
  • 有没有漏洞扫描?
  • 有没有依赖管理?
  • 出问题谁负责?
  • 离职后谁接手?
  • 如果泄露客户数据,谁承担后果?

影子应用最危险的地方,不是它一开始有多复杂。

而是它一开始看起来太简单。

简单到所有人都觉得没必要走流程。 简单到它可以绕过安全团队。 简单到它悄悄长成了一个没人管理的生产系统。


四、AI 生成应用常见的安全问题

Vibe Coding 生成的应用,最常见的问题并不新。

它们大多还是传统 Web 安全问题,只是出现得更快、更分散、更难治理。

1. 没有真正的鉴权

很多 AI 生成的应用,默认只实现「看起来能登录」的逻辑。

例如:

  • 前端判断是否登录;
  • 后端接口没有校验;
  • 任意用户可以访问管理接口;
  • 用户 ID 可以被直接修改;
  • 只有页面隐藏,没有权限控制;
  • 管理员入口没有额外保护。

这类问题属于典型的访问控制缺陷。

它不一定显眼,但一旦应用接入真实数据,风险就很大。


2. API Key 和 Token 硬编码

Vibe Coding 很容易生成「为了快速跑通」的代码。

为了方便,它可能把密钥直接写进:

  • 前端代码;
  • 配置文件;
  • GitHub 仓库;
  • 环境变量示例;
  • 日志输出;
  • 浏览器本地存储;
  • 客户端请求参数。

这在原型阶段似乎问题不大,但一旦部署到公网,就可能直接变成凭证泄露。

尤其是当应用连接大模型 API、云数据库、对象存储、企业内部接口时,一个泄露的 Key 可能带来真实成本和数据风险。


3. 数据库规则过宽

很多 Vibe Coding 工具喜欢搭配 Firebase、Supabase、MongoDB Atlas 等云数据库。

问题在于,非专业用户经常不理解数据库访问规则。

他们只关心:

页面能不能读到数据?

表单能不能提交成功?

为了让功能跑通,规则可能被设置得非常宽松。

例如:

所有人可读
所有人可写
登录用户可读所有数据
前端直接操作数据库

这类配置在演示时很方便,在生产环境则非常危险。


4. 缺少输入校验

AI 生成的代码很容易只覆盖「正常输入」。

用户输入什么,系统就按什么处理。

结果就是:

  • SQL 注入;
  • 命令注入;
  • XSS;
  • SSRF;
  • 任意文件上传;
  • 路径穿越;
  • 模板注入;
  • 反序列化风险。

这些不是新漏洞。

但 Vibe Coding 会让这些老问题以更低成本、更高频率出现在大量小应用里。


5. 没有日志和审计

很多 Vibe Coding 应用只关注功能完成,不关注运行后的可观测性。

一旦出问题,很难回答:

  • 谁登录过?
  • 谁导出了数据?
  • 谁修改了配置?
  • 谁删除了记录?
  • 哪个 IP 访问了后台?
  • 哪个接口被异常调用?
  • 哪个版本引入了问题?

没有日志,就没有调查能力。

对安全团队来说,一个没有日志的系统,几乎就是一个黑盒。


6. 依赖和供应链不可控

AI 生成代码时,经常会引入第三方库。

用户可能并不知道这些库是什么、谁维护、是否过期、是否有漏洞、是否存在恶意包风险。

更现实的问题是:

  • AI 可能推荐已经废弃的库;
  • 可能生成错误的安装命令;
  • 可能引入不必要的依赖;
  • 可能没有锁定版本;
  • 可能忽略许可证风险;
  • 可能把测试依赖带到生产环境。

当每个业务人员都能生成应用时,每个人都可能无意间引入一条新的供应链风险。


五、为什么安全团队很难发现这些影子应用?

Vibe Coding 生成的影子应用很难治理,因为它绕开了传统安全团队的监控路径。

第一,它不一定经过代码仓库

很多组织的安全扫描依赖 Git 仓库、CI/CD 流水线、制品仓库。

但影子应用可能直接在 AI 工具里生成,然后复制到云平台部署。

没有仓库,就没有代码扫描。 没有流水线,就没有安全门禁。 没有制品管理,就没有版本追踪。


第二,它不一定使用企业域名

安全团队可以监控企业主域名和备案资产,但影子应用可能挂在第三方平台的随机域名下。

例如:

xxx.vercel.app
xxx.netlify.app
xxx.pages.dev
xxx.firebaseapp.com

这些域名不一定出现在企业资产台账里。

但它们可能正在处理企业数据。


第三,它不一定有标准流量特征

传统安全设备更容易识别明确的业务系统、固定域名、固定 API。

影子应用可能访问量很小,只被几个部门内部人员使用。

它没有明显攻击流量,也没有大规模访问特征。

但正因为小,它更容易长期潜伏在组织外部。


第四,它可能被认为「不是正式系统」

这是最常见的治理盲区。

业务部门会说:

只是一个临时工具。

只是内部几个人用。

只是一个测试页面。

只是一个数据看板。

没有真正上线。

但安全风险并不关心你怎么定义它。

只要它处理真实数据、连接真实系统、暴露在真实网络里,它就是一个真实资产。


六、Vibe Coding 不是问题本身,失控才是问题

批判 Vibe Coding 很容易。

但完全禁止 Vibe Coding 并不现实,也不一定正确。

因为它确实解决了很多真实问题:

  • 原型验证更快;
  • 小工具开发成本更低;
  • 业务人员可以自助解决问题;
  • 开发资源不再被大量低价值需求占用;
  • 个人和小团队的创造力被释放。

真正的问题不是「业务人员不该做工具」。

真正的问题是:

组织还在用旧的软件治理方式,面对新的软件生产方式。

过去,安全团队默认软件来自开发团队。 现在,软件可能来自任何一个会写提示词的人。

过去,安全团队守的是代码仓库和上线流程。 现在,安全团队还要关注 AI 工具、云端托管平台、低代码平台、个人自动化脚本和临时应用。

过去,影子 IT 主要是「私自使用工具」。 现在,影子 IT 变成了「私自生成系统」。

这就是变化的本质。


七、安全团队应该怎么应对?

Vibe Coding 的治理,不能只靠一句「不允许」。

越是禁止,越容易转入地下。

更合理的思路是: 允许创新,但要把创新纳入边界。

1. 建立「AI 生成应用登记机制」

不要一上来要求所有小工具都走完整研发流程。

这会让业务部门直接绕开安全。

更可行的是建立轻量登记机制:

  • 应用名称;
  • 创建人;
  • 使用部门;
  • 部署位置;
  • 访问地址;
  • 是否公网可访问;
  • 是否处理敏感数据;
  • 是否连接内部系统;
  • 是否有登录鉴权;
  • 是否有负责人。

先看见,再治理。

没有资产可见性,一切安全策略都是空谈。


2. 按数据敏感度分级治理

不是所有 Vibe Coding 应用都需要同样严格的安全控制。

可以按数据和权限分级:

低风险:不联网、不存储数据、只做个人本地工具
中风险:内部使用、处理一般业务数据
高风险:公网访问、处理客户数据、连接内部系统
极高风险:涉及财务、身份、医疗、交易、生产变更

不同等级对应不同要求。

低风险可以备案即可。 中风险需要基础安全检查。 高风险必须做鉴权、日志、扫描和审批。 极高风险不应由非专业人员直接 Vibe Coding 上线。


3. 给业务人员提供安全模板

如果组织不给安全路径,用户就会自己找路。

与其禁止业务人员使用 AI 生成应用,不如提供安全模板。

例如:

  • 标准登录模板;
  • 权限控制模板;
  • 数据库访问模板;
  • 日志审计模板;
  • 文件上传模板;
  • API Key 管理模板;
  • 安全部署模板;
  • 前后端分离基础框架。

让 AI 在安全模板里生成代码,比让它从零自由发挥更可控。

安全团队不应该只做审批者,也应该成为安全能力提供者。


4. 把安全检查嵌入 AI 开发流程

Vibe Coding 的节奏很快。

如果安全检查还停留在上线前人工评审,就一定跟不上。

更合理的方式是把安全检查前置到 AI 生成过程中。

比如要求用户在提示词中加入:

请检查这个应用是否存在鉴权缺失、越权访问、输入校验不足、密钥硬编码、敏感数据泄露和不安全 CORS 配置。

但仅靠提示词还不够。

更稳妥的是结合工具:

  • 代码扫描;
  • 依赖扫描;
  • Secret 扫描;
  • 容器扫描;
  • API 安全测试;
  • Web 漏洞扫描;
  • 配置基线检查。

AI 可以生成代码,但安全门禁不能只依赖 AI 自己说安全。


5. 对公网发布设置硬门槛

本地工具和公网应用不是一个风险级别。

一个 Vibe Coding 应用如果只在本机运行,风险通常有限。 但只要它发布到公网,就应该触发更高等级的检查。

公网发布前至少要确认:

  • 是否需要登录;
  • 是否存在默认账号;
  • 是否暴露管理接口;
  • 是否存在测试数据;
  • 是否硬编码密钥;
  • 是否允许任意文件上传;
  • 是否存在调试接口;
  • 是否开启 HTTPS;
  • 是否配置访问控制;
  • 是否有基本日志。

「能跑起来」不能等于「能放出去」。


6. 建立影子应用发现能力

安全团队需要主动发现这些应用。

可以从几个方向入手:

  • 监控企业邮箱注册的第三方开发平台;
  • 发现员工创建的 Vercel、Netlify、Firebase 项目;
  • 监控企业数据接口的异常调用来源;
  • 识别访问企业 API 的未知前端;
  • 检查 GitHub 公开仓库中的企业域名、密钥、接口地址;
  • 通过 ASM 发现未知子域名和云端托管资产;
  • 在代理和网关日志中识别未知 AI 开发平台流量。

Vibe Coding 的治理,第一步不是封堵,而是发现。


八、开发者也需要重新理解「能跑」和「能用」的区别

Vibe Coding 很容易制造一种错觉:

页面出来了,功能跑通了,应用就完成了。

但真正的软件工程并不是这样。

能跑,只代表代码在某个场景下没有立即失败。 能用,则意味着它能在真实环境中稳定、安全、可维护地运行。

中间差了很多东西:

  • 异常处理;
  • 权限控制;
  • 数据保护;
  • 日志审计;
  • 性能边界;
  • 依赖管理;
  • 错误恢复;
  • 备份策略;
  • 升级机制;
  • 安全加固;
  • 运维责任。

Vibe Coding 擅长生成「看起来完成」的东西。

但安全和可靠性往往藏在看不见的地方。

这也是为什么很多 AI 生成应用在演示时效果很好,一进入真实环境就开始暴露问题。


九、Vibe Coding 会改变安全团队的角色

安全团队不能只停留在过去的模式里:

等项目立项 → 等代码提交 → 等安全测试 → 等上线审批

因为 Vibe Coding 的出现意味着,很多应用可能根本不会经过这些流程。

安全团队需要从「关卡型安全」转向「平台型安全」。

也就是说,不只是拦截,还要提供能力。

例如:

  • 提供安全提示词模板;
  • 提供安全应用脚手架;
  • 提供统一鉴权组件;
  • 提供日志接入模板;
  • 提供密钥管理服务;
  • 提供自动化扫描流水线;
  • 提供轻量应用登记入口;
  • 提供风险分级发布策略。

过去安全团队问的是:

这个系统能不能上线?

未来安全团队还要问:

业务人员自己生成系统时,怎样才能默认安全?

这是一种角色变化。

安全不再只是最后一道门,而应该成为 AI 开发过程中的默认能力。


十、Vibe Coding 最终会走向哪里?

Vibe Coding 不会消失。

原因很简单: 它确实太方便了。

只要业务需求还在增长,只要开发资源仍然有限,只要 AI 工具继续进步,越来越多的人就会用自然语言生成软件。

这不是安全团队能单方面阻止的趋势。

真正的问题是,组织能不能建立新的治理模式。

未来可能会出现三类应用:

第一类:个人本地工具

这类应用风险较低,主要解决个人效率问题。

例如脚本、数据处理工具、本地可视化页面。

治理重点是避免敏感数据外传和密钥泄露。

第二类:团队内部工具

这类应用风险中等,可能处理部门数据,服务多个用户。

治理重点是鉴权、权限、日志、数据分级和负责人机制。

第三类:事实生产系统

这类应用风险最高,可能连接真实业务系统,处理客户数据,甚至影响交易和生产流程。

这类系统不能仅靠 Vibe Coding 个人维护,必须纳入正式研发、安全和运维体系。

关键不在于它是不是 AI 生成的。

关键在于它承担了什么业务责任。

只要承担了真实责任,就必须接受真实治理。


结语:新一代影子应用已经出现

Vibe Coding 最大的价值,是让更多人拥有了创造软件的能力。

但它最大的风险,也是让更多人拥有了创造软件的能力。

过去,软件开发的门槛挡住了一部分效率,也挡住了一部分风险。 现在,门槛降低了,效率释放了,风险也开始扩散了。

新一代影子应用不会总是以「黑客工具」的样子出现。

它可能是一个很好看的报名页面。 可能是一个临时数据看板。 可能是一个自动生成日报的小工具。 可能是一个连接数据库的内部后台。 可能是一个业务部门自己做的客户查询系统。

它们一开始都很小。 小到没人审批。 小到没人登记。 小到没人觉得它是资产。

但只要它连接了真实数据、暴露在真实网络里、承载了真实业务流程,它就不再只是一个「小工具」。

它就是一个系统。

而系统,就必须被治理。

Vibe Coding 不是洪水猛兽。

真正危险的是: 组织已经进入人人都能生成软件的时代,但安全治理还停留在只有开发团队才会写代码的时代。

这才是新一代影子应用的根源。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:NowSec NowSec NowSec《Vibe Coding 正在制造新一代影子应用》

评论:0   参与:  0