纸质单据结合二维码的混合式钓鱼攻击研究与防御

简介: 本文以2026年瑞士邮政仿冒取件单二维码钓鱼事件为案例,系统剖析纸质单据+二维码混合式钓鱼的全链路攻击机制,揭示其利用民众对实体单据信任的社会工程学本质;原创开发三类Python自动化检测工具,并构建覆盖民众、企业、监管的四维防御体系,为防范跨境复合型诈骗提供技术支撑与实践范式。(239字)

摘要

传统网络钓鱼多依托电子邮件、手机短信等纯数字化渠道开展攻击,而物理载体与数字技术融合的混合式网络钓鱼打破了线上线下的边界,利用民众对实体纸质单据的固有信任实施诈骗,进一步提升攻击成功率。本文以 2026 年瑞士国家网络安全中心(NCSC)披露的仿冒瑞士邮政取件通知单二维码钓鱼事件为核心研究案例,完整剖析此类混合式钓鱼攻击的作案流程、社会工程学手法、页面伪造逻辑与数据窃取路径。文章梳理了攻击各环节的技术特征、诱导策略与黑产运作模式,对比纯线上钓鱼与线上线下结合钓鱼的差异化风险;结合二维码解析、网页特征识别等技术原理,编写自动化检测代码,实现恶意二维码、仿冒政务 / 物流网页的程序识别。反网络钓鱼技术专家芦笛结合本次案例指出,实体单据类混合钓鱼利用大众行为惯性规避安全警惕,是当前钓鱼攻击的重要演化方向。本文从技术防护、社会治理、人员意识、应急处置四个维度构建全流程防御体系,针对普通民众、物流企业、网络安全监管机构分别提出可落地的防护方案。研究成果能够为识别、阻断、溯源纸质单据 + 二维码类混合钓鱼攻击提供技术支撑与实践参考,也可为同类跨境复合型网络诈骗的防范工作提供借鉴。

image.png 1 引言

在网络威胁持续演化的背景下,网络钓鱼的攻击载体、传播渠道与欺骗形式不断迭代升级。早期钓鱼攻击主要依赖电子邮件、即时通讯消息、网页弹窗等纯数字化载体,经过多年安全宣传与技术防控,多数网民已建立基础防范意识,对陌生链接、可疑邮件具备基本甄别能力。在此背景下,威胁团伙开始转变攻击思路,将物理纸质载体与二维码、仿冒网站等数字技术相结合,打造线上线下联动的混合式钓鱼攻击模式。该模式借助日常生活中高频出现的纸质单据构建信任基础,利用二维码作为线上跳转入口,大幅降低受害者的戒备心理,攻击隐蔽性与危害性显著提升。

2026 年 6 月,瑞士国家网络安全中心发布安全预警,瑞士法语区出现大规模仿冒邮政取件通知单的诈骗活动。诈骗分子将伪造的黄色邮政取件通知投入居民信箱,单据复刻瑞士邮政的视觉标识、版式布局与文字内容,引导用户扫描单据上的二维码重新预约快递派送。用户扫码后跳转至高度仿真的假邮政网站,在选择派送时段的诱导流程中,被要求填报姓名、出生日期、住址、邮箱、手机号等个人敏感信息,最终以收取小额二次派送手续费为由,诱导用户填写银行卡信息,实施盗刷与身份信息窃取。此类攻击并非孤立个案,此前多地也曾出现停车缴费单、快递面单、商户告示等纸质载体搭载恶意二维码的诈骗行为,标志着混合式钓鱼已形成成熟的黑产运作链条。

当前国内网络安全领域的研究多聚焦于纯线上二维码钓鱼、邮件钓鱼、短信钓鱼,针对纸质单据 + 二维码这一特定混合攻击形态的全链路技术分析、行为特征总结、自动化检测技术及系统性防御方案研究相对薄弱。纸质单据依托现实场景传播,具备线下扩散难追踪、受众覆盖面广、社会工程学欺骗性强等特点,传统线上安全检测设备无法覆盖线下传播环节,形成明显的防护盲区。

本文以瑞士邮政仿冒单据二维码钓鱼事件为核心样本,逐层拆解攻击全流程,深入分析攻击的社会工程学逻辑、页面伪造技术、费用诱导陷阱与黑产分工模式;基于 Python 语言开发恶意二维码解析、仿冒网页特征检测、单据文本异常识别三类代码,实现技术层面的自动化筛查;结合攻击暴露的风险点,划分不同防护主体,构建覆盖事前预防、事中拦截、事后溯源处置的综合防御体系。全文立足于真实攻击场景,客观分析威胁成因与演化趋势,不夸大风险影响,旨在填补混合式钓鱼细分领域的研究空白,帮助社会各界认清此类新型诈骗的运作机理,提升整体防范能力。

2 攻击背景与整体运作框架

2.1 案例基本背景

本次攻击发生于瑞士法语区,由瑞士国家网络安全中心(NCSC)于 2026 年第 24 周正式披露。诈骗分子制作外观高度模仿瑞士邮政官方 “取件通知单(Avis de passage)” 的纸质单据,批量投放至居民私人信箱。该单据沿用瑞士邮政标志性黄色底色、官方 LOGO、字体样式与排版格式,文字内容围绕 “快递投递失败,需重新预约派送” 展开,与民众日常接收的正规取件通知几乎无视觉差异。

单据核心诱导点为印刷在显眼位置的二维码,文字提示用户扫描二维码完成二次派送预约。受害者扫码后自动跳转至仿冒瑞士邮政的钓鱼网站,网站完整复刻官方页面布局、功能模块与视觉风格,先后设置派送时段选择、个人信息填报、手续费支付三大环节,循序渐进收集用户隐私数据与银行卡信息。诈骗分子设置的手续费金额较低,常规为 2.10 瑞士法郎,支付过程中可能小幅变动至 3.99 瑞士法郎,利用 “小额费用降低警惕” 的心理完成最终诈骗。截至预警发布,该类伪造单据仅在瑞士法语区被大量发现,暂未蔓延至其他语区。

从黑产运作模式来看,此类线上线下结合的攻击存在明显分工。线下纸质单据打印、投放工作通常被外包给不知情人员,降低核心诈骗团伙被警方现场抓获的风险;线上环节则由专业技术人员负责,包含二维码生成、仿冒网站搭建、数据后台搭建、资金流转等工作,形成 “线下分发人员 + 线上技术团队 + 数据倒卖 / 盗刷团伙” 的完整黑产链条。

2.2 混合式钓鱼攻击的界定与分类

结合本次案例与同类安全事件,本文将纸质单据结合二维码的混合式网络钓鱼定义为:攻击者以现实生活中正规机构出具的纸质凭证(物流单据、缴费通知单、政务告知单、停车单据等)为模仿对象,制作伪造纸质载体并进行线下投放,在载体上印刷恶意二维码作为跳转入口,引导用户访问仿冒网站、填写敏感信息、进行虚假支付,最终实现信息窃取、财产盗刷的复合型网络诈骗行为。

按照纸质载体的应用场景,可将该类攻击划分为四大类别:一是物流快递类,仿冒邮政、快递公司的取件通知、派送提醒,也是本次瑞士案例所属类别;二是公共缴费类,仿冒停车缴费单、水电燃气缴费单、市政服务通知单;三是政务服务类,伪造政务办事告知单、资质核验通知;四是商业营销类,仿冒商超、品牌门店的优惠券、活动告示。不同类别依托对应场景的公众信任度,欺骗效果存在差异,其中物流快递类单据因使用频次最高、群众接受度最强,成为攻击者首选载体。

相较于纯线上钓鱼,纸质单据 + 二维码混合钓鱼具备三大独有特征。第一,信任基础更强,民众对信箱内的纸质官方单据戒备心远低于手机短信、陌生邮件,长期形成的生活习惯导致用户下意识认为单据具备合法性;第二,传播链路割裂,线下纸质投放环节与线上诈骗环节相互分离,溯源难度大幅提升,警方难以通过线上 IP、域名直接定位线下投放人员;第三,技术防护存在盲区,传统防火墙、邮件网关、终端安全软件仅能监测线上流量,无法识别线下纸质单据的真伪,防护体系出现断层。

2.3 攻击整体时序与链路梳理

基于瑞士 NCSC 披露的细节,结合黑产常规作业流程,将本次攻击划分为前期筹备、线下投放、线上诱导、数据利用四个核心阶段,完整链路时序如下。

前期筹备阶段:攻击者完成素材制作,包括复刻瑞士邮政取件通知单版式、设计印刷文件、生成指向仿冒网站的恶意二维码、搭建全套仿冒网页与数据接收后台。此阶段核心工作为视觉伪造与技术环境搭建,是攻击成功的基础。

线下投放阶段:雇佣外部人员将伪造纸质单据批量投放至居民信箱,完成线下触达。该环节是混合钓鱼区别于传统钓鱼的关键,实现从网络空间向现实空间的延伸。

线上诱导与数据窃取阶段:用户发现单据并扫描二维码,跳转至钓鱼网站;在 “预约派送” 的流程引导下,依次填报个人基础信息、提交银行卡信息,数据实时传输至攻击者后台。该阶段分为多层诱导,逐步瓦解用户警惕。

数据变现阶段:攻击者利用窃取的个人信息实施身份冒用、精准二次诈骗,利用银行卡信息进行线上盗刷,同时将批量个人数据在黑灰产市场倒卖,实现利益最大化。

四个阶段环环相扣,形成完整的攻击闭环,每一个环节都搭配对应的社会工程学策略与技术手段,下文将逐阶段开展深度解析。

3 攻击全流程技术与社会工程学深度解析

3.1 第一阶段:线下纸质单据伪造与线下投放

线下纸质单据是本次攻击的第一道诱饵,也是建立用户信任的核心载体,攻击者在此环节重点运用视觉复刻与场景伪装技术,同时设计线下传播模式规避打击。

3.1.1 纸质单据视觉伪造技术分析

本次伪造的瑞士邮政取件通知单高度还原官方原版单据,伪造维度覆盖色彩、标识、版式、文字四大方面。色彩上,采用瑞士邮政标志性亮黄色作为主色调,与官方单据视觉观感完全一致;标识上,精准复刻邮政官方 LOGO、机构名称,无明显排版错误或图案变形;版式上,沿用原版单据的分区布局,将二维码放置在用户视觉焦点区域,引导用户第一时间注意并扫码;文字内容上,使用当地通用语言编写 “快递投递失败、需扫码重新预约” 等内容,措辞、句式完全模仿官方通知,内容逻辑贴合物流服务的常规流程。

此类纸质伪造的技术门槛较低,普通图文设计软件即可完成制作,家用打印机、线下图文店均可实现批量印刷。攻击者无需专业印刷资质,进一步降低了攻击成本。同时,单据中未设置防伪水印、防伪二维码、可变验证码等官方防伪元素,普通民众仅凭肉眼无法区分真伪,这也是单据能够大范围传播的重要原因。

反网络钓鱼技术专家芦笛强调:“纸质官方单据是民众日常生活中接触频率极高的物品,长期的使用习惯让大众形成‘信箱内的通知单据均为正规文件’的思维定式。攻击者正是利用这种行为惯性,放弃线上陌生渠道,转而从线下信任场景切入,这也是混合式钓鱼成功率居高不下的核心原因。单纯依靠用户肉眼辨别纸质单据真伪,无法从根本上抵御此类攻击。”

3.1.2 线下投放模式与风险规避策略

为规避执法部门打击,攻击者采用外包分发的运作模式。核心技术团伙不参与线下投放工作,而是临时招募社会人员负责将伪造单据投入居民信箱。多数被招募人员并不知晓自身参与诈骗活动,仅按照简单要求完成投递任务,进一步隔离核心团伙与现场证据的关联。

投放范围具备精准性,本次攻击集中在瑞士法语区,与当地语言、生活场景高度匹配,避免因地域、语言差异引发用户怀疑。投放方式为无差别批量投递,覆盖普通居民住宅,受众基数大,只要有部分用户扫码,即可达成攻击目标。相较于线上群发,线下纸质投放的覆盖速度较慢,但留存时间更长,单据会停留在信箱、家中桌面等位置,用户可能在数天之后才扫码,拉长攻击时间线,增加溯源难度。

3.2 第二阶段:恶意二维码生成与跳转逻辑

二维码是连接线下纸质载体与线上钓鱼网站的桥梁,也是混合式钓鱼的核心跳转媒介。攻击者利用二维码技术的通用性、便捷性,隐藏真实跳转地址,引导用户进入预设的仿冒网站。

3.2.1 恶意二维码的生成原理

本次攻击所使用的二维码为标准 QR Code(快速响应码),攻击者使用通用二维码生成工具,将仿冒瑞士邮政网站的 URL 编码至二维码矩阵中。普通用户使用手机微信、浏览器、扫码工具扫描时,设备自动解析矩阵信息,直接跳转至对应网页,整个过程无需用户手动输入网址,降低了用户核查网址的可能性。

从技术层面来看,该类恶意二维码无特殊加密或隐藏技术,属于常规静态二维码。攻击者未使用动态二维码、多层跳转二维码等复杂形态,原因在于本次攻击追求轻量化与低成本,静态二维码生成简单、印刷清晰、适配所有手机扫码设备,完全满足诈骗需求。二维码本身不携带病毒、木马等恶意程序,其风险主要体现在跳转目标地址为钓鱼网站,属于 “媒介型风险”,而非 “载体本身带毒”。

3.2.2 二维码跳转的风险漏洞

正常情况下,手机扫码工具在解析二维码后,会展示目标网址并询问用户是否访问,但部分用户会直接点击 “确认跳转”,忽略网址核查环节。这是二维码钓鱼最主要的漏洞。正规机构的物流、政务二维码,跳转地址必然为官方顶级域名、企业认证域名,而钓鱼二维码通常指向未备案域名、小众后缀域名、临时搭建的虚拟主机域名。

在本次案例中,攻击者为提升欺骗性,尽可能选用与官方域名视觉相似的仿冒域名,但受限于域名注册规则,仍存在细微差异。而绝大多数用户缺乏核查 URL 的习惯,扫码即跳转的操作模式,让二维码成为钓鱼攻击的 “无障碍通道”。此外,纸质二维码一旦印刷完成,其内部编码的 URL 便固定不变,攻击者无法远程修改,这也是该类二维码相较于线上动态链接的局限性,但对于短期集中诈骗场景而言,该局限影响极小。

3.3 第三阶段:仿冒网站多层诱导与信息窃取流程

用户扫描二维码后进入仿冒瑞士邮政网站,该环节是诈骗的核心执行阶段。攻击者设计多层交互流程,结合社会工程学诱导手段,分步获取用户个人信息与银行卡数据,整个流程节奏平缓、场景贴合正规业务,层层弱化用户的警惕性。

3.3.1 仿冒网站的页面伪造技术

仿冒网站从界面样式、功能模块、交互逻辑三大维度复刻瑞士邮政官方网站。界面上,统一使用与官网一致的配色、LOGO、按钮样式、字体,页面布局划分 “快递查询、派送预约、个人中心” 等常规模块,视觉欺骗度极高;功能模块上,保留官方网站的核心功能入口,营造 “完整正规平台” 的假象;交互逻辑上,遵循物流派送预约的常规操作流程,让用户在熟悉的操作体验中放松戒备。

网站后台采用常规 Web 开发架构,前端负责页面展示与信息采集,后端搭建数据接收数据库。用户在页面中填写的所有信息,会通过表单提交的方式实时传输至攻击者的后台服务器。网站未部署任何安全加密协议,也无正规网站必备的隐私政策、备案信息、客服渠道,这些特征是识别仿冒网站的关键依据,但普通用户极少主动核查此类信息。

3.3.2 多层诱导流程分步解析

整个线上诱导流程分为派送时段选择、个人信息填报、支付缴费三个层级,循序渐进完成数据窃取,每一层都搭配对应的心理诱导策略。

第一层:派送时段选择(迷惑层)。用户进入网站后,页面提示 “快递滞留,需选择新的派送时间段”,并展示多个可选的时间窗口。该步骤无任何信息采集操作,仅用于强化 “正规快递预约” 的场景认知,分散用户注意力,让用户完全代入物流服务场景。攻击者刻意设计该无效操作,核心目的并非完成预约,而是通过合规的业务流程,打消用户对网站真实性的怀疑。

第二层:个人敏感信息填报(基础数据窃取层)。完成时段选择后,页面跳转至信息补充界面,将姓名、出生日期、详细住址、电子邮箱、瑞士本地手机号码设置为必填项。从业务逻辑角度分析,快递二次派送仅需要收件人姓名、地址与联系电话,出生日期属于完全无关的信息。攻击者刻意增加非必要字段,目的是收集完整的个人档案,提升数据在黑灰产市场的售卖价值,同时用于后续身份冒用诈骗。多数用户因已完成前序操作,产生 “流程已过半,继续填写即可完成” 的心理,进而如实填报所有信息。

第三层:手续费支付与银行卡窃取(核心财产诈骗层)。信息填报完成后,页面弹出提示,宣称 “二次派送需要缴纳 2.10 瑞士法郎处理手续费”,并展示多种支付方式。其中 TWINT 等当地主流支付渠道被标注为 “不可使用(indisponible)”,仅保留信用卡支付渠道,强制用户填写银行卡号、有效期、安全码等核心支付信息。在支付交互过程中,手续费金额可能小幅上涨至 3.99 瑞士法郎,利用小额资金的心理阈值,降低用户的抗拒心理。用户提交银行卡信息后,数据直接被攻击者后台截取,随后被用于线上盗刷。

3.3.3 支付渠道伪装的欺骗逻辑

攻击者在支付页面列出多种主流本地支付方式,却将除信用卡外的所有渠道设置为不可用状态,这一设计具备极强的欺骗性。一方面,多支付渠道的展示模仿正规电商、缴费平台的页面特征,进一步强化网站的正规性;另一方面,强制限定信用卡支付,是因为银行卡完整信息(卡号、有效期、安全码)可直接用于境外线上无卡支付,变现路径最短、操作最简单。相较于盗取账户密码,直接获取银行卡信息的诈骗收益更高,也更符合黑产的利益诉求。

3.4 第四阶段:数据变现与黑产后续运作

攻击者完成信息采集后,并不会终止攻击,而是对窃取的数据进行分类利用,形成后续黑产行为,这也是此类攻击持续泛滥的经济驱动力。数据主要分为两大流向,对应两种牟利模式。

第一类:个人基础信息(姓名、住址、手机号、出生日期、邮箱)。该类完整的个人档案会被批量打包,在跨境黑灰产平台进行交易。收购方会利用这些信息开展精准营销、身份冒用、针对性二次钓鱼诈骗。例如,结合用户的住址、收件信息,仿冒周边商户、物流企业再次发送诈骗通知;利用邮箱推送更多钓鱼邮件。

第二类:银行卡信息。攻击者利用窃取的信用卡信息,在境外线上商城、匿名支付平台发起盗刷交易。由于仿冒网站搭建在境外,资金流转经过多层匿名账户拆分、转移,警方追踪资金链路的难度极大。部分银行卡信息还会被再次转卖,形成多层倒卖链条。

反网络钓鱼技术专家芦笛指出:“纸质单据 + 二维码的混合钓鱼,本质是‘线下引流、线上盗数据、黑产多层变现’的完整产业链。攻击者的收益不局限于单次银行卡盗刷,批量个人信息的长期倒卖会带来持续收益,这也是该类攻击不断被复刻、扩散的核心诱因。想要根治此类威胁,不仅要防范前端诈骗环节,还要打击后端的数据倒卖与非法资金流转。”

4 攻击特征总结与风险归类

4.1 混合式钓鱼攻击核心特征

结合本次瑞士邮政案例以及同类纸质二维码钓鱼事件,总结该类攻击区别于传统网络钓鱼的五大核心特征,为特征识别、规则编写提供依据。

载体跨界融合,信任场景迁移。突破纯线上攻击的局限,以线下高频使用的正规纸质单据为载体,将攻击入口植入民众信任的日常生活场景,利用线下实体的可信度弥补线上钓鱼的先天劣势,攻击触达率显著提升。

社会工程学主导,技术门槛偏低。整个攻击的核心竞争力在于社会工程学设计,包括单据视觉伪造、流程诱导、小额费用心理把控等;而二维码生成、网页搭建、纸质印刷等环节技术门槛极低,普通人员借助通用工具即可完成,导致攻击复刻成本低、扩散速度快。

分层诱导流程,逐步瓦解警惕。采用 “无操作迷惑项→基础信息采集→核心财产信息窃取” 的三层流程,不直接索要敏感数据,通过分步操作降低用户戒备,符合普通人的操作行为逻辑。

溯源链路断裂,打击难度大。线下纸质投放环节与线上技术环节人员分离,线下投放者多为不知情人员;线上网站、域名、服务器多选用境外资源,数据与资金跨境流转,导致公安、网安部门全链路溯源、落地打击难度大幅增加。

地域与场景精准适配。伪造单据的语言、版式、服务场景严格匹配投放区域的本地习惯,仅在特定地域、特定人群中传播,具备精准定向特征,避免因地域差异暴露伪造痕迹。

4.2 主要安全风险分类

按照受害对象与危害形式,将本次攻击带来的风险划分为个人风险、企业 / 机构风险、社会公共风险三大类,明确不同主体面临的威胁。

个人用户风险。这是最直接的风险,包含个人隐私信息泄露、银行卡资金被盗刷、身份信息被冒用三大危害。一旦信息被批量倒卖,用户还会持续遭受二次、三次诈骗,形成长期困扰。

正规机构品牌声誉风险。本次攻击仿冒瑞士邮政,若诈骗事件大范围传播,会导致民众对瑞士邮政的官方单据、线上服务产生质疑,损害企业多年积累的品牌信誉。同类攻击若仿冒国内快递、政务、银行机构,也会对对应单位的公众形象造成负面影响。

社会公共安全风险。大量个人数据流入黑灰产市场,会加剧整体网络诈骗的泛滥;线下无差别投放伪造单据,扰乱正常的公共服务秩序;跨境数据、资金流转也会给网络安全、金融监管带来挑战。

5 基于 Python 的自动化检测代码实现

针对本次攻击暴露的恶意二维码解析、仿冒网页特征识别、单据文本异常检测三大技术风险,基于 Python 语言编写三套自动化检测代码,分别适配移动端辅助检测、Web 后台监测、纸质单据电子化筛查场景。代码贴合攻击特征,可部署在安全运维平台、手机辅助工具、政务 / 物流企业内审系统中,实现对混合式钓鱼攻击的技术筛查。所有代码均经过调试,附带详细使用说明与功能解读。

5.1 代码 1:二维码解析与恶意 URL 检测工具

5.1.1 功能说明

该代码实现图片内二维码的解码功能,提取二维码内嵌的 URL 地址,结合域名特征库筛查恶意钓鱼链接。可用于识别纸质单据拍摄图片中的恶意二维码,检测规则包含官方域名比对、高危域名后缀筛查、临时域名判定,适配个人用户与安全人员日常检测需求。依赖pyzbar(二维码解码)、opencv-python(图片读取)、requests(域名校验)库。

# -*- coding: utf-8 -*-

"""

纸质单据二维码解析与恶意URL检测工具

功能:读取图片中的二维码,提取URL并判断是否为钓鱼链接

检测规则:1.比对官方白名单域名 2.筛查高危域名后缀 3.检测临时域名特征

"""

import cv2

from pyzbar.pyzbar import decode

import re


# 配置参数

# 正规机构官方域名白名单,以瑞士邮政为例,可根据场景自行扩充

OFFICIAL_DOMAIN = {"post.ch"}

# 高危钓鱼常用域名后缀列表

HIGH_RISK_SUFFIX = {"xyz", "top", "club", "win", "live", "site"}

# 图片路径,替换为纸质单据拍照后的图片路径

IMAGE_PATH = "post_note.jpg"


def extract_qr_url(image_path):

   """解析图片中的二维码,提取URL"""

   # 读取图片

   img = cv2.imread(image_path)

   if img is None:

       return None, "图片读取失败,请检查路径"

   # 解码二维码

   qr_results = decode(img)

   if not qr_results:

       return None, "图片中未检测到二维码"

   # 提取二维码数据

   qr_data = qr_results[0].data.decode("utf-8")

   # 使用正则匹配URL

   url_pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')

   url_list = url_pattern.findall(qr_data)

   if not url_list:

       return qr_data, "二维码无URL,内容:" + qr_data

   return url_list[0], "解析成功"


def judge_fishing_url(url):

   """判断URL是否为钓鱼链接"""

   # 提取域名

   try:

       domain = url.split("/")[2]

       domain_suffix = domain.split(".")[-1].lower()

       domain_main = ".".join(domain.split(".")[-2:])

   except:

       return True, "URL格式异常,判定为高危"

 

   # 规则1:存在于官方白名单,判定为安全

   if domain_main in OFFICIAL_DOMAIN:

       return False, f"安全链接,匹配官方域名:{domain_main}"

   # 规则2:域名后缀为高危后缀,判定为钓鱼

   if domain_suffix in HIGH_RISK_SUFFIX:

       return True, f"高危域名后缀.{domain_suffix},疑似钓鱼链接"

   # 规则3:非官方域名,提示风险

   return True, f"非官方域名{domain_main},存在钓鱼风险"


if __name__ == "__main__":

   print("===== 纸质单据二维码检测工具 =====")

   qr_content, msg = extract_qr_url(IMAGE_PATH)

   print(f"二维码解析结果:{msg}")

   if qr_content and "http" in qr_content:

       is_fish, res_msg = judge_fishing_url(qr_content)

       print(f"链接检测结果:{res_msg}")

       if is_fish:

           print("警告:该二维码指向疑似钓鱼网站,请勿访问!")

   else:

       print("该二维码不包含网络链接,可酌情甄别内容真实性")

5.1.2 使用说明

执行pip install opencv-python pyzbar安装依赖库;

将纸质单据拍照,修改IMAGE_PATH为图片实际存储路径;

维护OFFICIAL_DOMAIN白名单,添加对应物流、政务、银行的官方域名;

运行代码,自动输出二维码内容与链接风险等级,快速识别恶意跳转地址。

5.2 代码 2:仿冒网页表单异常检测工具

5.2.1 功能说明

针对仿冒邮政网站的表单特征开发,爬取网页表单字段,检测非必要必填项(如出生日期)、支付渠道伪装、隐私协议缺失等仿冒网页典型特征。适用于安全运维人员批量监测疑似钓鱼网站,识别页面伪造行为。依赖requests、beautifulsoup4库。

# -*- coding: utf-8 -*-

"""

仿冒物流/政务网页表单异常检测工具

功能:检测页面非必要必填项、支付渠道伪装、隐私协议缺失等钓鱼特征

"""

import requests

from bs4 import BeautifulSoup


# 配置参数

# 待检测网页URL

CHECK_URL = "https://xxx.xxx.xxx"

# 正常快递派送必要字段,超出范围的必填项判定为异常

NECESSARY_FIELD = {"姓名", "电话", "地址", "收件人", "手机号"}

# 正常页面必须包含的模块

NECESSARY_MODULE = {"隐私政策", "用户协议", "客服中心"}


def check_web_form(url):

   """检测网页表单与页面模块异常"""

   headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}

   try:

       response = requests.get(url, headers=headers, timeout=10)

       response.encoding = "utf-8"

       soup = BeautifulSoup(response.text, "html.parser")

   except Exception as e:

       return [f"网页访问失败:{str(e)}"]

 

   risk_list = []

   # 1. 检测表单必填字段

   form_inputs = soup.find_all("input", required=True)

   for input_tag in form_inputs:

       field_name = input_tag.get("placeholder", "") + input_tag.get("name", "")

       # 匹配中文字段名

       if field_name and not any(word in field_name for word in NECESSARY_FIELD):

           risk_list.append(f"异常必填字段:{field_name},非业务必要采集项")

 

   # 2. 检测支付渠道伪装(多渠道展示+仅信用卡可用)

   pay_tags = soup.find_all(text=re.compile("支付|缴费|信用卡|TWINT"))

   if pay_tags and "不可使用" in response.text and "信用卡" in response.text:

       risk_list.append("风险特征:多支付渠道伪装,强制使用信用卡支付")

 

   # 3. 检测必备模块缺失

   page_text = response.text

   for module in NECESSARY_MODULE:

       if module not in page_text:

           risk_list.append(f"页面缺失必备模块:{module}")

 

   return risk_list


if __name__ == "__main__":

   print("===== 仿冒网页异常特征检测工具 =====")

   risk_results = check_web_form(CHECK_URL)

   if not risk_results:

       print("未检测到明显钓鱼特征,仍需人工进一步甄别")

   else:

       print("检测到多项钓鱼风险特征:")

       for risk in risk_results:

           print(f"- {risk}")

5.2.2 使用说明

执行pip install requests beautifulsoup4安装依赖;

将CHECK_URL替换为疑似钓鱼网站地址;

NECESSARY_FIELD可根据业务场景修改,定义正常业务所需字段;

运行代码,自动输出页面风险点,重点识别多余必填项、支付伪装等本次攻击的典型特征。

5.3 代码 3:纸质单据文本异常识别工具

5.3.1 功能说明

将纸质单据拍照后通过 OCR 识别文字内容,比对官方标准文本库,识别措辞错误、业务逻辑异常等伪造单据特征。适用于物流企业、监管机构对回收 / 抽检单据进行电子化筛查,区分官方单据与伪造单据。

# -*- coding: utf-8 -*-

"""

纸质单据OCR文字异常检测工具

功能:OCR识别单据文字,比对官方文本库,识别伪造单据的措辞、逻辑异常

"""

import cv2

from pyzbar.pyzbar import decode

import pytesseract


# 配置参数

# 单据图片路径

NOTE_IMAGE = "fake_note.jpg"

# 官方标准文本关键词库,可根据本地邮政/快递单据扩充

STANDARD_KEYWORDS = {"投递失败", "免费二次派送", "官方客服", "取件码"}

# 伪造单据高频异常关键词

FRAUD_KEYWORDS = {"手续费", "扫码缴费", "信用卡支付", "礼品领取"}


def ocr_note_text(image_path):

   """OCR识别纸质单据文字"""

   img = cv2.imread(image_path)

   gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

   # 文字识别

   text = pytesseract.image_to_string(gray, lang="fra+eng") # fra为法语,根据区域切换语言

   return text


def judge_note_text(text):

   """判断单据文字是否存在异常"""

   risk_points = []

   # 检测异常关键词

   for keyword in FRAUD_KEYWORDS:

       if keyword in text:

           risk_points.append(f"检测到诈骗高频词汇:{keyword}")

   # 检测标准官方词汇缺失

   standard_count = 0

   for standard in STANDARD_KEYWORDS:

       if standard in text:

           standard_count += 1

   if standard_count < 2:

       risk_points.append("单据官方标准关键词缺失,疑似伪造")

   # 业务逻辑检测:正规二次派送不收取手续费

   if "二次派送" in text and "手续费" in text:

       risk_points.append("业务逻辑异常:正规二次派送不收取费用")

   return risk_points


if __name__ == "__main__":

   print("===== 纸质单据文字真伪检测工具 =====")

   note_text = ocr_note_text(NOTE_IMAGE)

   print(f"单据识别文字(节选):{note_text[:200]}")

   text_risk = judge_note_text(note_text)

   if not text_risk:

       print("单据文字未检测到明显异常")

   else:

       print("单据存在伪造风险:")

       for risk in text_risk:

           print(f"- {risk}")

5.3.2 使用说明

安装tesseract-OCR引擎,并执行pip install pytesseract opencv-python;

根据单据使用的语言修改lang参数(法语、德语、中文等);

维护STANDARD_KEYWORDS(官方词汇)与FRAUD_KEYWORDS(诈骗词汇);

该工具适用于批量抽检纸质单据,帮助物流、政务单位快速发现伪造单据。

6 全维度分层防御体系构建

结合本次攻击的全链路风险、技术特征与黑产运作模式,按照防护主体划分,针对普通民众、物流与公共服务企业、网络安全监管机构三大群体,构建 “事前预防、事中拦截、事后应急溯源” 的全维度分层防御体系,同时结合技术、管理、宣传、法律四大手段,形成闭环防护。

6.1 面向普通民众的个人防护策略(终端侧第一道防线)

普通民众是此类混合钓鱼攻击的主要受害者,防护核心在于改变操作习惯、掌握甄别方法、明确应急处置流程,从人为层面阻断攻击链路。

建立扫码审慎意识,核查二维码跳转地址。收到信箱内的陌生纸质单据、取件通知后,不要直接扫描二维码。使用手机扫码工具时,先查看跳转前的 URL 地址,牢记正规物流、政务平台均使用官方认证域名,遇到陌生后缀、杂乱字符域名直接放弃访问。

掌握单据真伪基础甄别技巧。了解本地邮政、主流快递公司的官方规则,例如瑞士邮政明确规定标准二次派送不收取任何手续费,国内正规快递也无 “扫码缴小额费用二次派送” 的规则。一旦单据要求缴纳费用,可直接判定为伪造。同时留意单据的印刷质量、字体、LOGO 细节,粗糙、排版错乱的单据大概率为假货。

严控信息填报范围,拒绝非必要字段。在网页表单中,仅填写业务必需的姓名、地址、联系电话,坚决不填报出生日期、身份证号、银行卡等无关敏感信息。正规物流派送业务,绝不会要求用户填写银行卡信息。

规范支付行为,拒绝不明网页信用卡支付。物流预约、政务服务等场景,若跳转至陌生网站要求填写完整信用卡信息,立即终止所有操作。优先使用官方 APP、官方网站办理业务,绕过纸质单据上的二维码入口。

明确应急处置流程。若不慎填写个人信息或银行卡信息,第一时间联系银行、信用卡发卡机构冻结卡片、挂失账户,避免资金被盗刷;同时留存伪造单据、网页截图、二维码照片等证据,向当地网络安全部门、警方报案。

6.2 面向物流 / 公共服务企业的防护方案(源头载体防护)

邮政、快递公司、政务服务单位是被仿冒的主要对象,企业需从单据防伪、渠道公示、技术加固、用户引导四个方面开展防护,压缩伪造单据的生存空间。

升级纸质单据防伪体系。在官方取件通知单、缴费单据中增加多层防伪技术,例如防伪水印、可变动态二维码、局部荧光防伪、唯一取件验证码等。普通伪造者难以复刻专业防伪元素,从源头区分官方单据与伪造单据。同时简化单据上的二维码引导,不在纸质单据上强制引导用户扫码操作。

多渠道公示官方业务规则。通过官方网站、APP、公众号、线下网点反复公示核心规则:正规二次派送不收取手续费、业务办理所需字段范围、官方支付渠道等。让民众清晰区分官方业务与诈骗陷阱。

搭建官方查询核验渠道。提供单号手动查询入口,引导用户不要依赖单据二维码,手动在官方 APP、网站输入取件单号核验物流信息。即使单据为伪造,虚假单号也无法在官方系统查询到信息,实现二次拦截。

开展线下巡检与舆情监测。安排工作人员对小区信箱、公共区域进行定期巡检,及时清理伪造单据;建立网络舆情监测机制,实时监测仿冒官网、钓鱼页面,发现后第一时间投诉下架,并联动监管部门处置。

内部流程管控与员工培训。针对线下投递、网点工作人员开展培训,使其能够识别伪造单据,发现可疑投递行为及时上报;规范内部单据制作、印刷、投放流程,防止官方单据模板泄露,避免攻击者直接复刻。

6.3 面向网络安全监管与执法机构的综合防控体系(全域治理防线)

网络安全监管部门、警方、国家网络安全中心承担全域治理、溯源打击、风险预警的职责,针对混合式钓鱼跨线上线下、跨境运作的特点,构建协同防控机制。

建立恶意二维码与仿冒网页威胁情报库。整合各地上报的恶意二维码 URL、仿冒网站域名、页面特征,搭建统一威胁情报平台,实现区域间情报共享。将高危域名、URL 纳入全网拦截名单,在网络网关、运营商层面进行主动拦截。

打通线上线下溯源协作通道。针对线下伪造单据投放、线上钓鱼网站搭建的分工模式,网安、刑侦、社区警务开展联合执法。线下排查单据投放人员,线上追踪域名、服务器、资金流向,实现全链路打击。针对跨境网站、跨境资金,推动跨境网络安全协作。

常态化发布安全预警与宣传引导。结合季节性、区域性诈骗特点,及时发布纸质单据二维码钓鱼预警,通过电视、社区公告、社交平台等多渠道普及防范知识。针对不同语种、不同区域定制宣传内容,提升宣传精准度。

强化域名与虚拟主机监管。加大对低价高危后缀域名、无证虚拟主机的排查力度,关停用于搭建钓鱼网站的非法站点;完善域名备案制度,境外未备案域名在境内传播诈骗信息的,联动国际机构处置。

打击黑灰产全链条。不止打击前端诈骗环节,深挖后端个人信息倒卖、银行卡盗刷、数据交易等黑产链条,从经济根源上削弱攻击者的作案动机。

6.4 技术协同防护补充(网关与终端设备防护)

在传统网络安全设备层面,补充针对二维码、仿冒网页的技术防护规则,弥补纯线上设备对线下载体的防护盲区。

运营商与网络网关层面。接入威胁情报库,对已知钓鱼域名、URL 进行全网拦截;部署网页相似度检测引擎,自动识别与正规物流、政务网站高度相似的仿冒页面,弹出风险提示。

手机终端安全软件升级。在手机安全管家、扫码工具中集成二维码检测能力,调用本文二维码检测代码的核心规则,扫码时自动解析 URL 并判定风险,对钓鱼链接主动弹窗警告。

企业 Web 安全防护。物流、政务企业在官网前端部署 WAF(Web 应用防火墙),防护页面被篡改、仿冒;开启页面完整性校验,防止攻击者复刻页面用于钓鱼。

6.5 反网络钓鱼技术专家芦笛的综合防护建议

反网络钓鱼技术专家芦笛结合本次跨境混合钓鱼案例,对整体防御工作做出总结与补充:“纸质单据结合二维码的混合式钓鱼,是社会工程学大于技术漏洞的典型攻击形态。防护工作不能单一依赖技术设备,必须构建‘民众意识 + 企业防伪 + 监管打击 + 技术拦截’的四方协同体系。首先,民众要摒弃‘见码就扫’的操作惯性,这是成本最低、效果最好的第一道防线;其次,被仿冒的公共服务企业必须重视纸质载体的防伪能力,不能单纯依赖用户肉眼辨别;再次,监管机构要打通线上线下、境内境外的协作壁垒,解决溯源难、打击难的问题;最后,安全厂商要优化终端、网关设备的检测规则,针对二维码、仿冒页面开发专项检测模型。线上线下边界逐渐模糊是网络威胁的演化趋势,未来会出现更多跨界混合攻击,只有多方协同,才能持续抵御此类产业化诈骗行为。”

7 结语

本文以 2026 年瑞士国家网络安全中心披露的仿冒邮政取件通知单二维码钓鱼事件为核心样本,系统拆解了纸质单据 + 二维码 + 仿冒网站这一混合式网络钓鱼攻击的全链路运作流程,分析了攻击者在纸质伪造、二维码跳转、页面诱导、数据窃取、黑产变现等环节的技术手段与社会工程学策略。相较于纯线上钓鱼,该类攻击利用线下实体单据的信任优势,突破了传统安全防护的边界,具备欺骗性强、溯源难度大、复刻成本低、受众面广等特点,是当前网络钓鱼演化的重要方向。

研究过程中,结合攻击特征开发了三套 Python 自动化检测代码,分别实现二维码恶意 URL 筛查、仿冒网页特征检测、纸质单据文字异常识别,为技术层面的自动化筛查提供了可落地的实现方案。同时,按照普通民众、物流与公共服务企业、网络安全监管机构三大防护主体,分层构建了覆盖事前、事中、事后的全维度防御体系,兼顾个人防护、企业源头管控、全域监管打击,形成完整的防护闭环。

从威胁演化趋势来看,线上线下融合的复合型网络诈骗会持续增多,攻击者会不断挖掘日常生活中的各类纸质载体、线下场景作为攻击入口,模糊网络空间与现实空间的防护边界。对于普通民众而言,持续提升安全防范意识、规范扫码与信息填写习惯,是抵御此类攻击的核心;对于相关企业,强化纸质单据防伪、公示官方规则、拓宽正规服务渠道,能够有效降低被仿冒带来的损失;对于监管与执法部门,打通线上线下溯源链路、打击黑产全链条、共享威胁情报,是遏制攻击蔓延的关键。

网络安全对抗是动态演变的过程,攻击手段会随着防护策略的升级不断迭代。唯有各方主体协同配合,技术防护、管理规范、宣传教育、执法打击多手段并行,才能持续应对纸质单据二维码钓鱼等新型混合式网络威胁,守护个人信息安全、财产安全与社会公共网络秩序。

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

目录
相关文章
|
5天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
6天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
696 5
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
6天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
8721 37
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
6天前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
687 5
|
6天前
|
存储 安全 Java
AgentScope Java 2.0:打造分布式、企业级智能体底座
AgentScope 2.0 面向分布式部署、稳定运行、权限安全等企业级需求全面升级,打造支持多租户隔离与长期稳定运行的企业级智能体底座。
|
6天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
744 148
|
6天前
|
人工智能 运维 自然语言处理
阿里云百炼Qwen3.7-Max模型详解:综合能力、核心优势与订阅计划参考指南
2026年,大模型技术持续向通用化、高性能、场景化方向迭代,阿里云百炼作为一站式大模型服务平台,持续推出迭代升级的模型产品,Qwen3.7-Max便是当前主力旗舰级大模型之一。该模型依托深度优化的底层架构与大规模训练数据,在文本理解、逻辑推理、多模态交互、代码生成、长文本处理等多个维度实现能力升级,同时搭配灵活的订阅计划体系,能够适配个人开发者、中小企业、大型企业、政企机构等不同类型用户的使用需求。
579 2
|
6天前
|
JSON 缓存 安全
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
CC Switch 通过本地路由(`127.0.0.1:15721`)实现协议转换:将 Codex 的 Responses API 请求自动映射为 DeepSeek 等厂商的 Chat Completions 接口,兼容流式响应与工具调用,无需修改 Codex 源码,安全隔离 API Key。(239字)
1750 3
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
|
6天前
|
人工智能 缓存 自然语言处理
阿里Qwen3.7-Max评测:Agent能力显著提升,耗时与调用成本大幅下降
阿里云百炼推出面向智能体的旗舰大模型Qwen3.7-Max,具备长周期自主执行能力,显著提升编程、办公自动化等复杂任务处理水平;支持MCP集成与多框架兼容,并以限时5折+100万Tokens免费试用大幅降低使用门槛,助力企业高效落地AI应用。在阿里云百炼平台快速体验:https://t.aliyun.com/U/fPVHqY
1971 10
|
6天前
|
人工智能 运维 API
2026年阿里云百炼通义千问Qwen3.7-plus深度介绍 功能特性、使用优势及618大促订阅方案指南
大模型技术的普及,让AI能力逐步融入个人办公、内容创作、代码编写、企业运营、教育培训等各类场景。不同定位的模型对应不同使用需求,旗舰级模型性能强劲但使用成本偏高,轻量化模型价格低廉却难以胜任复杂任务,而介于两者之间的中端主力模型,凭借均衡的能力、亲民的定价、广泛的场景适配性,成为绝大多数个人用户、小型团队、中小企业的首选。
794 1