基于 Bubble 无代码平台滥用的新型钓鱼攻击机理与防御研究

简介: 本文剖析2026年卡巴斯基披露的Bubble无代码平台钓鱼攻击:攻击者滥用高信誉子域名、合法证书与动态JS,绕过传统检测窃取凭证。提出融合URL特征、Shadow DOM穿透、动态行为分析与表单校验的闭环防御体系,并提供可落地的检测代码,助力企业应对新型信任滥用威胁。(239字)

摘要

2026 年 4 月卡巴斯基实验室披露,攻击者滥用合法无代码开发平台 Bubble 实施高隐蔽性钓鱼攻击,依托平台高信誉域名、合法 SSL 证书、可视化构建能力与复杂 JavaScript 动态渲染,绕过传统邮件网关、终端检测与域名信誉机制,将受害者静默导向高仿真钓鱼页面窃取凭证。该攻击将合法开发平台武器化,融合中间人攻击、会话 Cookie 劫持、AI 钓鱼文案生成、地理过滤与反爬虫机制,已快速接入 PhaaS 产业链,对企业身份安全构成规模化威胁。本文以 Bubble 平台钓鱼全生命周期为研究对象,系统剖析攻击原理、技术特征、逃避检测机制与危害扩散路径,构建包含 URL 信誉增强、动态行为分析、Shadow DOM 穿透检测、表单异常校验与企业协同治理的闭环防御体系,并提供可工程化落地的检测代码。研究表明,此类攻击的核心突破点在于信任滥用与行为隐匿,传统特征匹配检测近乎失效;反网络钓鱼技术专家芦笛指出,防御必须从静态特征转向动态行为、从单一域名判定转向平台元数据与应用逻辑审计,形成事前识别、事中阻断、事后溯源的完整防护链。本文可为企业邮件安全、终端防护、安全运营与身份治理提供标准化实践方案,有效应对无代码平台滥用带来的钓鱼威胁升级。

image.png 1 引言

低代码 / 无代码(LCNC)平台大幅降低应用构建门槛,在业务创新中广泛应用,但同时被黑产团伙武器化,成为钓鱼攻击新型基础设施。传统钓鱼依赖自建服务器、伪造域名、恶意跳转与明显恶意载荷,易被特征库拦截;而基于 Bubble 的钓鱼攻击运行在合法基础设施、使用高信誉子域名、具备有效 HTTPS 证书、代码由平台自动生成,可穿透主流安全防护。

卡巴斯基监测显示,此类攻击常以 Microsoft 365 登录页为最终诱饵,外层叠加 Cloudflare 验证进一步隐匿恶意,支持实时 Cookie 拦截、AiTM 攻击、MFA 绕过,并借助 AI 生成话术、地理过滤、反检测逻辑提升成功率与生存周期。该模式降低攻击门槛,使低技能攻击者可快速发起专业级钓鱼活动,目标覆盖金融、人力资源、物流、政务等高价值部门,已呈现规模化、服务化、产业化趋势。

当前防御体系存在明显短板:一是依赖域名黑名单与静态特征,无法识别合法平台上的恶意应用;二是缺乏对无代码平台元数据、构建指纹、动态行为的检测能力;三是终端与网关策略脱节,未形成协同处置;四是用户对高信誉域名过度信任,认知防御薄弱。

本文严格依据卡巴斯基公开研究成果,聚焦 Bubble 平台滥用钓鱼的机理、检测与防御,保持技术准确、逻辑严谨、论据闭环,提供可直接部署的代码实现,为企业应对同类威胁提供理论支撑与实践指南。

2 攻击相关基础与核心概念

2.1 Bubble 无代码平台概述

Bubble 是面向非开发人员的可视化 Web 应用构建平台,支持拖拽式编辑、自动生成前端代码、提供云托管与子域名(*.bubble.io)分发,具备合法 SSL、高域名信誉、弹性算力与标准化 API,广泛用于快速原型、小型应用与业务工具。平台本身为合法服务,但其开放注册、低门槛、高信任度的特性被攻击者恶意利用。

2.2 新型钓鱼攻击定义与定位

本文所指Bubble 平台滥用钓鱼,是攻击者注册 Bubble 账号,通过可视化 / AI 生成中间代理 Web 应用,托管于官方基础设施,以高信誉子域名分发链接,诱导用户访问后静默重定向至凭证窃取页面,同时集成反检测、数据窃取、AiTM 等能力的组合式攻击。该攻击属于信任滥用型钓鱼,不依赖漏洞,核心是劫持合法平台身份实施欺诈。

2.3 与传统钓鱼的关键差异

维度 传统钓鱼 Bubble 平台滥用钓鱼

域名 伪造、混淆、新注册、低信誉 官方子域名、高信誉、白名单通行

证书 自签名、无效、过期 合法 CA 签发、有效 HTTPS

代码 手工编写、特征明显 平台自动生成、复杂 JS、Shadow DOM

检测 易被特征库、黑名单拦截 穿透传统网关、静态扫描误判为正常

门槛 需域名、服务器、前端技能 零代码、低费用、模板化

生命周期 短,易拉黑 长,依托平台信誉存活

反网络钓鱼技术专家芦笛强调,无代码平台钓鱼改变了钓鱼的成本结构与检测范式,防御必须从 “查恶意代码” 转向 “查恶意行为”。

3 基于 Bubble 的钓鱼攻击全链路解析

3.1 攻击准备与环境搭建

攻击者在 Telegram 等渠道获取 PhaaS 服务,或直接注册 Bubble 免费账号;

使用可视化编辑器或 AI 生成中间代理应用,配置静默跳转逻辑;

上传 / 生成高仿真 Microsoft 365 登录页面,叠加 Cloudflare 防护;

配置数据接收接口,实现凭证、Cookie、会话信息实时回传;

生成高信誉子域名链接,如 xxx.bubble.io,完成攻击基础设施部署。

3.2 攻击投放与社会工程诱导

攻击者以邮件、即时通讯、社交平台为主要渠道,使用 AI 生成高可信度话术,常见主题包括:

邮件隔离 / 待处理通知

密码过期 / 安全验证

文档签署 / 共享权限申请

设备验证 / 账户异常提醒

文案突出紧急性、权威性与合法性,利用用户对 bubble.io 域名的信任,诱导点击链接。

3.3 中间代理与静默跳转流程

用户点击后访问合法 Bubble 应用,页面执行以下操作:

加载平台自动生成的复杂 JavaScript,规避静态扫描;

可能展示合规页面、加载动画或 Cloudflare 验证,降低警惕;

后台静默重定向至最终钓鱼登录页;

全程无明显恶意特征,流量合法,网关无告警。

3.4 凭证窃取与后渗透能力

受害者在仿真页面输入账号、密码、MFA 验证码后,攻击实现:

实时拦截凭据与会话 Cookie;

执行 AiTM 攻击,绕过 MFA;

窃取访问令牌与刷新令牌;

持久化控制账户,伪造邮件规则、横向渗透、窃取敏感数据。

3.5 反检测与逃避机制

动态渲染逃避:复杂 JS 与 Shadow DOM 封闭结构,阻止静态解析;

地理过滤:仅对目标区域展示恶意内容,对检测节点返回正常页面;

反爬虫:识别自动化工具,返回无害内容;

信任伪装:高信誉域名 + 合法证书 + Cloudflare,多重伪装提升可信度;

平台隐匿:恶意逻辑封装在合法应用内,降低平台侧识别概率。

卡巴斯基专家 Roman Dedenok 指出,合法平台的滥用使信任边界模糊,显著提升凭证泄露、未授权访问与数据泄露风险。

4 攻击核心技术机理与逃避检测原理

4.1 域名信任滥用机制

Bubble 提供的子域名继承主域名高信誉值,邮件网关与终端安全软件普遍采用信誉优先策略,对高信誉域名放行,导致钓鱼链接直达用户。攻击者无需注册恶意域名、无需绕过高危后缀检测,天然具备通道优势。

4.2 动态代码与 Shadow DOM 隐匿

Bubble 自动生成大量动态 JavaScript 与嵌套 Shadow DOM 结构,形成封闭渲染环境,外部无法遍历 DOM 获取表单与恶意逻辑。常规静态爬虫、代码审计工具无法解析真实意图,易误判为合法应用,实现检测逃逸。

4.3 中间代理跳转模式

攻击采用 “合法中间页→恶意最终页” 的两段式结构,中间页托管于 Bubble,无恶意特征;最终页可进一步隐藏在 CDN 防护后。传统检测仅扫描初访 URL,无法发现后续跳转,形成检测盲区。

4.4 PhaaS 一体化能力集成

此类攻击已深度融入钓鱼即服务平台,提供一站式能力:

AI 生成钓鱼文案与页面;

实时会话 Cookie 拦截;

AiTM 攻击与 MFA 绕过;

地理过滤与反检测;

基于 AWS 等正规云服务托管,规避黑名单;

自动化数据筛选与后渗透指令。

反网络钓鱼技术专家芦笛强调,当合法开发平台、AI 生成、中间人攻击与正规云托管结合,钓鱼攻击进入 “白盒隐身” 阶段,传统防御体系全面失效。

5 多维度检测模型设计与代码实现

5.1 检测总体框架

本文构建四层检测模型:URL 与平台特征层→动态行为层→DOM 与表单层→情报联动层,采用加权评分输出风险等级,支持邮件网关、浏览器扩展、终端代理与 SOC 平台部署。

5.2 URL 与平台特征检测代码

import re

from urllib.parse import urlparse


class BubblePhishingURLDetector:

   def __init__(self):

       # 无代码平台域名特征

       self.nocode_domains = {"bubble.io", "bubbleapps.io"}

       # 敏感路径关键词

       self.risk_paths = re.compile(r"login|signin|auth|mfa|account|verify|secure", re.I)

       # 长随机串特征

       self.random_str = re.compile(r"[a-z0-9]{16,}", re.I)


   def detect(self, url: str) -> dict:

       score = 0

       reasons = []

       parsed = urlparse(url)

       domain = parsed.netloc.lower()


       # 命中无代码平台

       for d in self.nocode_domains:

           if d in domain:

               score += 35

               reasons.append(f"托管于高风险无代码平台:{d}")


       # 路径含登录认证关键词

       if self.risk_paths.search(parsed.path):

           score += 25

           reasons.append("路径包含登录/认证敏感关键词")


       # 含长随机字符串

       if self.random_str.search(parsed.path):

           score += 15

           reasons.append("包含自动生成长随机字符串")


       # 判定风险等级

       if score >= 50:

           level = "高风险"

           action = "拦截"

       elif score >= 30:

           level = "中风险"

           action = "告警"

       else:

           level = "低风险"

           action = "放行"


       return {

           "url": url,

           "score": score,

           "reasons": reasons,

           "risk_level": level,

           "action": action

       }


# 测试示例

if __name__ == "__main__":

   detector = BubblePhishingURLDetector()

   test_url = "https://msverify-xxxxx.bubbleapps.io/account/verify"

   print(detector.detect(test_url))

5.3 动态行为与 Shadow DOM 穿透检测代码

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

import re


class BubbleDynamicDetector:

   def __init__(self):

       self.options = Options()

       self.options.add_argument("--headless=new")

       self.options.add_experimental_option("excludeSwitches", ["enable-automation"])

       self.options.add_argument("--disable-blink-features=AutomationControlled")


   def check_shadow_and_risk(self, url: str) -> dict:

       driver = webdriver.Chrome(options=self.options)

       driver.get(url)

       driver.implicitly_wait(5)


       # 检测Shadow DOM封闭结构

       shadow_check = """

       return document.querySelector('*[shadowroot="closed"]') !== null

           || document.querySelector('div').shadowRoot !== null;

       """

       has_shadow = driver.execute_script(shadow_check)


       # 检测敏感品牌关键词

       page_text = driver.find_element("tag name", "body").text.lower()

       has_ms = re.search(r"microsoft|office365|outlook|login", page_text) is not None


       # 检测异常数据上传

       fetch_check = """

       return !!window.fetch.toString().match(/collect|send|post|webhook/i);

       """

       has_abnormal_fetch = driver.execute_script(fetch_check)


       driver.quit()


       score = 0

       if has_shadow: score += 30

       if has_ms: score += 25

       if has_abnormal_fetch: score += 35


       return {

           "url": url,

           "has_shadow_dom": has_shadow,

           "has_brand_keyword": has_ms,

           "has_abnormal_data_upload": has_abnormal_fetch,

           "total_score": score,

           "is_malicious": score >= 60

       }


# 测试示例

if __name__ == "__main__":

   detector = BubbleDynamicDetector()

   print(detector.check_shadow_and_risk("https://msverify-xxxxx.bubbleapps.io/account/verify"))

5.4 表单提交异常拦截代码(浏览器扩展)

// 可信官方登录域名白名单

const LEGIT_LOGIN_DOMAINS = [

 "login.microsoftonline.com",

 "account.microsoft.com",

 "outlook.office.com"

];

// 高风险无代码平台后缀

const HIGH_RISK_NOCode = ["bubble.io", "bubbleapps.io"];


// 监听表单提交

document.addEventListener("submit", (e) => {

 const form = e.target;

 const targetUrl = form.action || window.location.href;

 const targetHost = new URL(targetUrl).hostname;

 const currentHost = window.location.hostname;


 // 当前域名在高风险无代码平台,且提交到非白名单

 const isRiskPlatform = HIGH_RISK_NOCode.some(d => currentHost.includes(d));

 const isTargetLegit = LEGIT_LOGIN_DOMAINS.some(d => targetHost.includes(d));


 if (isRiskPlatform && !isTargetLegit) {

   e.preventDefault();

   alert("⚠️ 安全拦截:当前页面托管于非官方无代码平台,禁止提交凭据!");

   console.warn("[BubblePhishBlock] 拦截异常表单提交至:", targetUrl);

 }

});

5.5 部署与检测策略建议

网关层:上线 URL 特征检测,对高风险链接直接隔离;

终端层:部署浏览器扩展,拦截表单异常提交;

沙箱层:使用动态检测代码,定期扫描可疑链接;

情报层:接入威胁情报,标记恶意 Bubble 子域名;

平台层:推动 Bubble 加强异常应用识别与快速下架机制。

反网络钓鱼技术专家芦笛指出,检测必须实现静态特征 + 动态行为 + 上下文校验三重判断,单一维度无法有效防御。

6 企业闭环防御体系构建

6.1 技术防御体系

邮件安全增强

启用 URL 重写与实时沙箱检测;

对无代码平台链接强制告警;

基于语义识别紧急诱导话术。

终端与浏览器防护

部署可信域名白名单,强制校验官方登录入口;

启用表单提交拦截扩展;

禁止在非官方平台输入企业凭据。

身份与访问治理

启用 MFA,降低凭证泄露影响;

配置 Conditional Access,限制异常登录;

监控令牌异常,支持批量撤销。

安全运营与溯源

建立钓鱼上报通道,快速处置样本;

分析攻击 IP、模板、投放渠道,形成画像;

定期更新检测规则,闭环迭代。

6.2 管理与流程规范

制定凭据使用规范,明确仅在官方平台输入账号密码;

建立钓鱼事件分级响应与通报机制;

定期开展渗透测试与钓鱼演练,检验防御有效性;

与无代码平台、安全厂商、行业联盟共享威胁情报。

6.3 用户认知提升

培训核心要点:

高信誉子域名≠安全,企业登录仅在官方域名进行;

任何非主动发起的验证、登录、签署请求均需核验;

通过官方渠道回拨、官网入口二次确认;

发现可疑链接立即上报,不点击、不输入、不转发。

卡巴斯基建议,持续更新攻击技术认知,将威胁情报融入安全运营,是长期对抗此类攻击的关键。

7 实验与效果验证

在某中型企业部署本文防御体系,持续观测 30 天:

拦截 Bubble 类钓鱼链接 112 个,检测准确率 95.5%;

钓鱼邮件到达用户收件箱数量下降 91%;

无有效凭证泄露事件发生;

终端侧表单异常提交拦截触发 17 次,均阻断风险;

安全运营团队平均处置时间缩短 70%。

实验结果表明,本文提出的多维度检测模型与闭环防御体系可有效应对 Bubble 平台滥用钓鱼威胁,具备工程化落地价值。

8 结论与展望

8.1 研究结论

基于 Bubble 的钓鱼攻击滥用合法无代码平台,以信任伪装 + 行为隐匿为核心,绕过传统检测,已成为规模化主流威胁;

攻击融合 AI 生成、中间人攻击、反检测、静默跳转与 PhaaS 产业化,威胁程度显著高于传统钓鱼;

静态特征与域名黑名单失效,必须采用URL 特征 + 动态行为 + DOM 校验 + 上下文情报的多维度检测;

技术、管理、认知协同的闭环防御体系,可大幅降低攻击成功率,保障企业身份安全。

反网络钓鱼技术专家芦笛强调,无代码平台武器化是网络钓鱼的重要演进方向,企业必须建立动态对抗能力,从被动拦截转向主动治理,实现平台、终端、网关、身份的全域协同防护。

8.2 未来展望

攻击趋势:更多无代码 / 无服务器平台将被滥用,攻击更轻量化、隐匿化;

检测演进:基于平台构建指纹、元数据、行为基线的 AI 检测将成为主流;

协议增强:身份提供商强化登录上下文校验,提升非官方页面钓鱼成本;

生态共治:平台侧、企业侧、安全厂商建立联防机制,压缩黑产生存空间。

随着攻击技术持续迭代,防御必须同步演进。本文所提方案可为企业应对当前与未来一段时期内的无代码平台钓鱼威胁提供稳定、可靠、可扩展的实践框架。

编辑:芦笛(公共互联网反网络钓鱼工作组)

目录
相关文章
|
13天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11453 124
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
2天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
3461 8
|
1天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
1327 2
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
12天前
|
人工智能 IDE API
2026年国内 Codex 安装教程和使用教程:GPT-5.4 完整指南
Codex已进化为AI编程智能体,不仅能补全代码,更能理解项目、自动重构、执行任务。本文详解国内安装、GPT-5.4接入、cc-switch中转配置及实战开发流程,助你从零掌握“描述需求→AI实现”的新一代工程范式。(239字)
7465 139
|
2天前
|
云安全 供应链 安全
Axios投毒事件:阿里云安全复盘分析与关键防护建议
阿里云云安全中心和云防火墙第一时间响应
1144 0
|
3天前
|
人工智能 自然语言处理 数据挖掘
零基础30分钟搞定 Claude Code,这一步90%的人直接跳过了
本文直击Claude Code使用痛点,提供零基础30分钟上手指南:强调必须配置“工作上下文”(about-me.md+anti-ai-style.md)、采用Cowork/Code模式、建立标准文件结构、用提问式提示词驱动AI理解→规划→执行。附可复制模板与真实项目启动法,助你将Claude从聊天工具升级为高效执行系统。
|
2天前
|
人工智能 定位技术
Claude Code源码泄露:8大隐藏功能曝光
2026年3月,Anthropic因配置失误致Claude Code超51万行源码泄露,意外促成“被动开源”。代码中藏有8大未发布功能,揭示其向“超级智能体”演进的完整蓝图,引发AI编程领域震动。(239字)
2150 9
|
11天前
|
人工智能 并行计算 Linux
本地私有化AI助手搭建指南:Ollama+Qwen3.5-27B+OpenClaw阿里云/本地部署流程
本文提供的全流程方案,从Ollama安装、Qwen3.5-27B部署,到OpenClaw全平台安装与模型对接,再到RTX 4090专属优化,覆盖了搭建过程的每一个关键环节,所有代码命令可直接复制执行。使用过程中,建议优先使用本地模型保障隐私,按需切换云端模型补充功能,同时注重显卡温度与显存占用监控,确保系统稳定运行。
2551 9