一种无侵入式网页代理执行方法、系统、设备及介质
本发明涉及计算机软件及互联网,特别涉及一种无侵入式网页代理执行方法、系统、设备及介质。
背景技术:
1、面向网页的智能自动化技术,是指融合ai(如大语言模型、视觉理解)与传统浏览器自动化工具(如playwright、selenium),实现自然语言驱动、自适应网页交互的智能系统,核心目标是“理解意图→自主规划→稳定执行”网页操作。
2、目前面向网页的智能自动化技术主要分为两类:一类是以microsoft copilot为代表的嵌入式ai助手,另一类是以browser-use或autogpt为代表的基于浏览器插件或webdriver的自动化agent;嵌入式ai助手通常采用深度耦合的sdk注入或api集成方式,直接在原系统的用户界面中嵌入对话窗口,其工作原理依赖于原系统主动开放特定的数据接口,将用户指令发送至后端大模型进行语义理解与逻辑处理,此类方案属于强侵入式集成,其不仅要求开发人员对原系统的后端api逻辑进行改造,还需深度适配前端代码以集成sdk;自动化agent插件则主要通过浏览器扩展程序或webdriver驱动,直接读取并解析网页dom树信息,其工作原理是利用视觉识别或xpath定位元素以模拟人工点击和输入,或者通过拦截并重放网络请求来实现自动化操作。
3、嵌入式ai助手在后端与前端改造时,无法绕过现代浏览器的内容安全策略(csp)限制,导致适配成本极高且难以应用于陈旧的遗留系统,而自动化agent插件需要将用户的身份凭证(如session token、cookie)上传至云端由其代为发起请求,存在严重的隐私泄漏风险;可见在嵌入式ai助手与自动化agent插件的方案中,通常认为的风险在于“将身份凭证上传至云端可能导致泄露”,基于此研究人员通常的改进在于提出“凭证不上云”的架构,即仅在客户端本地存储和使用凭证,但在此改进下,凭证在端侧(浏览器)内存中仍以明文形式存储和使用,极易被恶意脚本、第三方插件或内存转储工具窃取,存在严重的权限泄露隐患,且同时云端下发的执行指令若以明文形式传输,易被中间人攻击篡改,导致本地代理执行非预期的恶意操作,引发“伪造代理攻击”风险,从而现阶段的方案难以高效构建一个安全防护体系以应对凭证泄露与指令篡改的风险。
技术实现思路
1、本发明实施例提供一种无侵入式网页代理执行方法、系统、设备及介质,可以解决现有技术中,存在的问题。
2、本发明实施例提供一种无侵入式网页代理执行方法,包括以下步骤:
3、在浏览器中注册一个仅拦截目标网页静态资源请求的临时serviceworker,当临时serviceworker拦截到任意一个javascript静态资源时,所述临时serviceworker在资源文件末尾追加一段引导脚本,该引导脚本用于异步加载代理组件的代码;
4、在浏览器端创建基于webassembly的且与浏览器主线程及目标网页的dom环境完全内存隔离的可信执行环境;
5、在网页代理执行时,代理组件从浏览器本地内存中读取当前浏览器会话针对于原业务系统的访问授权凭证,并将访问授权凭证直接送入可信执行环境,并在可信执行环境内部基于访问授权凭证提取当前浏览器会话的前端动态环境信息,基于hkdf给前端动态环境信息生成动态派生密钥,以及利用动态派生密钥对访问授权凭证所切割的多个数据碎片进行独立加密,以生成不包含任何完整的凭证明文信息的加密存储态;
6、浏览器端接收到用户目标接口调用指令后并进行校验,校验通过后在可信执行环境内对访问授权凭证的加密存储态进行实时重组,生成同源请求报文,基于同源请求报文发起同源接口请求以完成网页代理业务。
7、优选地,所述临时serviceworker的创建及执行,包括:
8、在浏览器中注册一个仅作用于当前目标网页的临时serviceworker,该临时serviceworker被配置为仅拦截目标网页请求的静态资源文件,而对其他所有业务接口请求不做任何拦截或修改;
9、当目标网页加载任意一个原始javascript静态资源时,所述临时serviceworker在不修改该原始javascript静态资源原始二进制内容的前提下,在该原始javascript静态资源文件末尾追加一段长度小于1kb的引导脚本;
10、所述引导脚本通过合法静态资源的响应体拼接方式注入到目标网页执行上下文中,其执行来源和上下文环境与原网站原生脚本一致,该引导脚本被执行后,异步加载代理组件的代码,以将代理组件动态挂载至目标网页的dom树中。
11、优选地,所述可信执行环境的创建,包括:
12、在浏览器端创建基于webassembly的可信执行环境,该可信执行环境通过webassembly的线性内存机制,构建一个独立于浏览器主线程及目标网页dom环境的加密沙箱;
13、所述加密沙箱与外部环境完全内存隔离,不共享任何变量、对象或内存区域,仅开放标准化的指令输入接口与结果输出接口。
14、优选地,所述加密存储态的形成,包括:
15、在网页代理执行时,代理组件从浏览器本地内存中读取当前浏览器会话针对于原业务系统的访问授权凭证,并将该访问授权凭证直接送入可信执行环境;
16、在可信执行环境内部,采集当前浏览器会话的多维前端环境熵及设备唯一指纹信息,所述多维前端环境熵包括当前dom树的深度哈希、关键dom节点的坐标哈希与页面渲染时间戳;
17、将多维前端环境熵及设备唯一指纹信息作为输入密钥材料ikm,以基于当前浏览器会话id生成的真随机数作为盐值salt,并通过hmac-sha256算法计算生成伪随机密钥prk;以伪随机密钥prk为基础,结合当前浏览器时间戳及当前页面完整url的哈希值作为应用特定信息info,通过hmac迭代扩展生成动态派生密钥dk,该动态派生密钥dk与当前会话、当前页面及当前时间窗口进行绑定;
18、利用动态派生密钥dk对访问授权凭证在可信执行环境内部所切割的多个数据碎片进行独立加密,并将多维前端环境熵中的dom深度参数作为存储索引偏移量,将节点坐标哈希作为碎片内容混淆因子,在可信执行环境的隔离内存中对各加密碎片进行非连续的离散化映射存储,以生成加密存储态。
19、优选地,所述目标接口调用指令的形成,包括:
20、在浏览器端预构建一个包含所有业务api的依赖关系与参数拓扑的知识图谱,当用户通过代理组件的交互界面输入自然语言指令后,利用轻量级图神经网络提取api知识图谱的结构化特征,同时利用大语言模型提取自然语言指令的语义特征,将语义特征与结构化特征通过交叉注意力机制进行匹配,以将自然语言指令转化为知识图谱上的寻径任务;
21、在寻径过程中,通过对api知识图谱节点间的调用依赖关系、参数流动约束、权限层级进行图推断,得到一条目标接口调用指令序列,该目标接口调用指令序列以json格式描述,包含请求方法、请求路径、请求体参数及调用顺序。
22、优选地,所述网页代理业务的执行,包括:
23、在目标接口调用指令序列生成后,利用基于椭圆曲线或rsa算法的租户专属私钥对指令负载的完整内容进行数字签名,并附加唯一时间戳与指令序列号以打包为一个安全指令包;
24、浏览器端接收到安全指令包后,进行安全校验,在安全校验通过后,将待封装的请求体与目标请求路径转发至加密沙箱内部;在加密沙箱内部,实时读取当前浏览器的前端状态哈希,从加密存储态中读取并解密所有凭证碎片,以重组出完整的访问授权凭证明文,以及将访问授权凭证明文封装为包含该凭证的同源请求报文,封装完成的请求报文通过加密沙箱接口输出;
25、封装完成的请求报文通过可信执行环境专属的fetch接口发起同源fetch/xhr请求并进行网页代理执行。
26、优选地,所述网页代理业务完成后,进行凭证销毁及界面显示,包括:
27、在同源请求成功发送后,可信执行环境将所有数据碎片的存储地址指针清零,将动态派生密钥dk及其中间计算结果的缓冲区覆写为随机值后释放,将重组出的凭证明文字节进行覆盖销毁;
28、将同源请求的响应数据返回给代理组件的交互层,交互层将响应数据中的业务信息提取并转化为自然语言描述,呈现于用户交互界面中。
29、本发明实施例还提供一种无侵入式网页代理执行系统,包括:
30、嵌入层,用于在浏览器中注册一个仅拦截目标网页静态资源请求的临时serviceworker,当临时serviceworker拦截到任意一个javascript静态资源时,所述临时serviceworker在资源文件末尾追加一段引导脚本,该引导脚本用于异步加载代理组件的代码;
31、认证继承层,用于在浏览器端创建基于webassembly的且与浏览器主线程及目标网页的dom环境完全内存隔离的可信执行环境;
32、在网页代理执行时,代理组件从浏览器本地内存中读取当前浏览器会话针对于原业务系统的访问授权凭证,并将访问授权凭证直接送入可信执行环境,并在可信执行环境内部基于访问授权凭证提取当前浏览器会话的前端动态环境信息,基于hkdf给前端动态环境信息生成动态派生密钥,以及利用动态派生密钥对访问授权凭证所切割的多个数据碎片进行独立加密,以生成不包含任何完整的凭证明文信息的加密存储态;
33、本地执行层,浏览器端接收到用户目标接口调用指令后并进行校验,校验通过后在可信执行环境内对访问授权凭证的加密存储态进行实时重组,生成同源请求报文,基于同源请求报文发起同源接口请求以完成网页代理业务。
34、本发明实施例还提供一种电子设备,包括存储器和处理器;
35、所述存储器,用于存储计算机程序;
36、所述处理器,用于执行所述存储器中存储的计算机程序时,实现如上所述的一种无侵入式网页代理执行方法的步骤。
37、本发明实施例还提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种无侵入式网页代理执行方法的步骤。
38、本发明实施例提供一种无侵入式网页代理执行方法、系统、设备及介质,与现有技术相比,其有益效果如下:
39、本发明通过注册临时serviceworker,在目标网页加载javascript静态资源时,于资源末尾追加引导脚本,来将智能代理组件动态挂载至dom树中,该引导脚本通过合法静态资源的响应体拼接方式注入到页面执行上下文中的,其执行上下文与原网站原生脚本完全一致,从而能够完整绕过主流浏览器的csp脚本-src限制,无需修改原业务系统的任何安全配置,就可以实现明文与目标网页所对应的原业务系统的零侵入式集成,从根本上避免因恶意脚本、第三方插件或内存转储工具窃取所引发的权限泄露隐患,而后在浏览器端创建与浏览器隔离且基于webassembly的可信执行环境,使得任何外部脚本都无法读取或修改该可信执行环境内部的任何内存数据,以及在此基础上构建基于hkdf的动态凭证碎片化离散存储机制,在该机制下访问授权凭证被直接送入可信执行环境,全程不在浏览器主进程或javascript堆内存中以明文形式停留,送入后该访问授权凭证的明文随即被完全转化为加密碎片态,全程不离开可信执行环境,也不上传至云端,由此,访问授权凭证始终保留在客户端(浏览器)内存中并生命周期加密防护,且全程凭证明文不出可信隔离环境,从物理机制上杜绝了身份凭证跨域传输的泄漏风险,以及被恶意脚本、内存dump窃取凭证的风险,最终使得所构建的安全防护体系能高效应对凭证泄露与指令篡改的风险。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com