news 2026/9/17 11:36:57

火狐浏览器授权安全测试:8款常驻插件与配置维护指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
火狐浏览器授权安全测试:8款常驻插件与配置维护指南

做授权安全测试这行,浏览器基本等于半个工作台。我这几年前后换过不少浏览器,最后还是把主力测试环境放在火狐上,理由很朴素:扩展体系独立、配置档可以完全隔离、容器标签页原生支持多身份,长期支持版本也够稳,不至于今天装好的环境明天就失效。日常做渗透测试,火狐里真正长期驻留的插件其实就那么几个,我筛了又筛,留下八种。它们覆盖的不是“点一下就有洞”的玄学功能,而是把信息看清楚、把会话理明白、把请求读顺、把过程留住。这篇就把这八个插件挨个拆开讲:它到底解决什么问题、我平时怎么用、装的时候要注意哪些权限、哪些坑我踩过。不管你是刚入门做安全测试的新人,还是做了一段时间想整理自己工具链的老手,应该都能从里面挑出几个能直接抄作业的配置方式。

1. 选型思路:为什么把主力测试浏览器放在火狐

很多人一上来就问哪个浏览器最好,这个问题其实没有统一答案。我的判断标准是:这个浏览器能不能让我把“测试环境”和“日常生活”彻底切开,能不能让扩展的权限边界看得清楚,出问题的时候能不能自己定位。火狐在这三件事上做得比较对我的胃口。它的扩展生态相对克制,权限提示会明确告诉你这个扩展要读取所有网站数据还是要访问剪贴板;它自带配置档机制,可以用一条命令起一个完全独立的工作环境,收藏夹、Cookie、扩展列表跟日常浏览互不污染;它的容器标签页是原生能力,不用装额外的身份隔离插件。

另外一点,火狐的长期支持版本迭代节奏慢,对老系统的兼容性照顾得比较久,我手里几台专门跑测试的旧机器就一直在用延长支持版。这个选择跟“功能强弱”无关,纯粹是稳定性优先。工作环境最怕的就是某天打开浏览器发现扩展被自动更新搞挂了一半,报告写到一半没法复现,那种体验非常糟糕。

1.1 火狐在测试场景里的三个天然优势

第一个优势是配置档隔离。火狐的-P参数可以让你预先建好几个配置档,各自拥有独立的扩展、书签、Cookie、缓存和登录状态。我给每个大项目都会开一个配置档,项目结束直接归档整个目录,下次要复盘的时候原样恢复,连当时的登录状态都还在。这一点在做长期项目时特别重要,因为测试环境里的会话往往是有时效的,能原样恢复等于省下大量重新走流程的时间。

第二个优势是容器标签页。同一个配置档里,容器可以把 Cookie 和本地存储按容器隔离。也就是说我可以用同一个浏览器同时登录管理员账号、普通用户账号、测试专用账号,互不干扰,不用来回切无痕窗口。做权限边界验证的时候,这一步能省掉非常多的重复登录操作。

第三个优势是扩展的权限描述足够直白。装扩展的时候火狐会列出这个扩展需要哪些权限,比如“读取和修改所有网站的数据”“访问浏览器标签页”“读取剪贴板”。这些提示能让我快速判断一个扩展值不值得留在工作环境里。凡是权限明显和功能不匹配的,我直接不装,宁可少一个功能,也不愿意多一条不受控的数据出口。

1.2 什么样的插件才值得常驻工作浏览器

我的取舍标准有三条,缺一条基本就会被清出去。第一条是它只在浏览器层面干活,不接管系统层面的东西。浏览器扩展的能力边界应该止步于页面和请求,凡是需要动系统设置、装驱动、改网络配置的,我都单独放到隔离环境里处理,不跟日常工作浏览器混在一起。

第二条是权限最小、来源清楚,最好是开源项目或者有明确维护者的项目。扩展本质上是一段能读你所有网页内容的代码,一旦维护者断更或者被转手,风险就会上升。所以我每隔一段时间会打开扩展管理页,看一眼最近更新时间和权限有没有变化,权限悄悄变多的立刻停用。

第三条是它的输出能被写进报告。所谓“结果可复现”,指的是我用这个插件看到的东西,别人按同样的步骤也能看到同样的结论。比如技术栈识别出来的框架名、响应头里的安全策略、接口返回的字段结构,这些都能直接截图或者复制进报告。反过来,那些只给一个模糊结论、说不清依据的插件,我基本不用。

1.3 八款常驻插件一览

序号插件名称主要用途关键权限适用阶段
1Wappalyzer技术栈指纹识别读取网站数据信息收集
2User-Agent Switcher and Manager客户端身份模拟读取并修改请求头信息收集
3Cookie-EditorCookie 查看与编辑读取并修改 Cookie会话分析
4Multi-Account Containers多身份隔离标签页与存储隔离会话分析
5Redirect Path跳转链与响应头追踪读取请求元数据请求分析
6JSON Viewer Pro接口响应可读化读取网站数据接口调试
7RESTer浏览器内接口调试发起跨域请求接口调试
8全页截图类扩展过程留档与取证截取页面内容记录交付

这张表我贴在笔记软件里当清单用。装新环境的时候照着装一遍,五分钟能搞定,比每次凭记忆找要可靠得多。表格里“关键权限”这一栏是我实际看到的权限提示的归纳,具体版本可能略有差别,装的时候以浏览器弹窗为准。

2. 前期信息收集:先把目标看明白再动手

信息收集这一步最忌讳的就是凭感觉。很多人一上手就开始点各种按钮,结果连对面用的是什么框架、什么中间件都没搞清楚。我习惯先把能被动拿到的信息全部拿干净,再考虑后面的验证动作。这一步基本不需要什么重型工具,两个浏览器扩展加自带开发者工具就够用了,而且全程都是普通页面访问,对目标几乎没有额外压力。

这两个扩展的分工是这样的:一个负责从页面特征里推断技术栈,一个负责在客户端身份上做切换对比。它们的共同点是都在“读”,而不是在“改”,所以用起来心理负担小,出问题的概率也低。

2.1 Wappalyzer:一眼看清对面的技术栈

Wappalyzer 的工作方式是从页面里能观察到的痕迹去反推技术组成。它会看 HTML 结构特征、脚本文件的路径和命名、响应头里的服务端标识、Cookie 的命名习惯、meta 标签里的生成器信息,甚至页面上引用的第三方资源域名。把这些碎片拼起来,就能给出一份“这个站点大概用了哪些技术”的清单,包括前端框架、Web 服务器、服务端语言、CDN、统计工具、客服系统等等。

我平时的用法很简单:打开目标页面,点一下工具栏图标,先看分类概览,重点关注框架和服务器两条。看到具体条目以后,右键选“显示更多信息”,它会给出推断依据,比如“检测到脚本路径包含某框架的特征文件名”。这个依据非常重要,因为它决定了这条结论能不能写进报告。只看图标不看依据,很容易写出错误结论。

实测下来它的误报主要来自三个地方。一是 CDN 会把源站特征盖住,你看到的是 CDN 的标识,看不到后面真正跑的是什么。二是同一套模板被大量站点复用,前端框架识别出来了,但业务代码可能是完全定制的。三是版本号识别经常不准,因为很多项目构建后会去掉版本信息,它只能靠猜。所以我的习惯是把它当作“线索提供者”而不是“结论输出者”,拿到线索以后再用响应头和页面资源去交叉验证一遍。

注意:内网系统的指纹截图尤其要谨慎处理。很多内网系统会暴露具体的中间件版本和内部域名,这类截图在对外分享时必须打码或者干脆不截,只保留文字结论。

2.2 User-Agent Switcher and Manager:换个身份看同一页面

客户端身份模拟这个需求,在测试里出现的频率比想象中高。同一个地址,桌面端和移动端返回的可能是完全不同的页面结构,甚至不同的接口集合。有些系统还会根据客户端标识决定给不给某些功能入口。这时候用 User-Agent Switcher and Manager 建几个自定义身份,切换着看一遍,往往能发现用默认身份看不到的路径。

我的配置习惯是建三到四个常用身份:一个最新版桌面版、一个 iOS 移动端、一个安卓移动端、一个老版本桌面端。老版本这个主要是用来观察系统对旧客户端的兼容提示和降级逻辑。切换的时候我一般用临时启用而不是全局启用,避免忘了切回来导致后续操作全部跑在错误身份上。

这里插一个很多人会撞上的问题:火狐偶尔会报“该网站使用了已弃用的 TLS 版本,请升级到 TLS 1.2 或 1.3”。这个报错跟 User-Agent 没有任何关系,它是传输层协议协商的问题,换客户端标识改变不了任何东西。能做的只有确认浏览器版本、确认目标服务端支持哪些协议版本,然后在合规前提下决定是否继续。指望通过改几个头字段把这个报错消掉,是在浪费时间。

提示:客户端标识只是“自报家门”,它不改变浏览器的真实能力。有些页面会同时做能力检测,改标识之后页面依然按真实能力渲染,这种差异本身也是一个值得记录的观察点。

3. 会话与身份管理:把“我是谁”这件事管住

做 Web 方向的测试,绕不开会话这个话题。会话的本质就是服务端记住“你是刚才那个登录过的人”,而浏览器这一侧的载体主要就是 Cookie 和本地存储。把这两样东西看清楚、管明白,很多逻辑上的疑问会自然解开。这一节的两个扩展,一个负责把会话数据摊开给你看,一个负责把不同身份物理隔离开,配合使用效率很高。

需要提前说明的是,会话数据的查看和整理都必须在明确授权的测试范围内进行,拿到的任何凭据类信息都属于敏感数据,用完即清、绝不外传,这是最基本的职业习惯。

3.1 Cookie-Editor:把会话参数摊在桌面上

浏览器自带的存储查看器能用,但操作起来比较绕,尤其是要快速对比多个域名的 Cookie 属性时。Cookie-Editor 的好处是把一个域名下所有 Cookie 平铺成一张表,字段一目了然:名称、值、所属域、路径、过期时间、大小、是否 HttpOnly、是否 Secure、SameSite 取值。这几个字段里,真正有分析价值的是后三个。

我常用的检查方式是三步。第一步看 HttpOnly 和 Secure 有没有按预期设置,如果一个会话标识类的 Cookie 既没有 HttpOnly 也没有 Secure,那它的暴露面明显更大,值得记一笔。第二步看 SameSite 的取值,是 None、Lax 还是 Strict,这直接关系到跨站场景下这个 Cookie 会不会被带上。第三步做完退出登录动作以后,回头确认这个会话标识是否已经失效,也就是服务端有没有真正把它作废,而不只是前端把本地记录删掉。

它的导出和导入功能我也经常用。导出成 JSON 以后,可以在同一个项目的不同环境之间快速复现登录状态,省掉反复走登录流程的时间。用的时候有两个纪律:一是不在公共或者共享的机器上导入任何含真实凭据的文件;二是导出的文件按敏感资料管理,项目结束就删,别留在下载目录里当垃圾堆着。

3.2 Multi-Account Containers:一份浏览器,多套身份

这是火狐官方出来的扩展,作用是把同一个配置档里的标签页分组隔离。每个容器有独立的 Cookie 和本地存储,可以设置颜色和图标做区分。它解决的是我前面提到的那个痛点:同一个系统里,我要同时以不同角色登录,看不同角色能拿到什么内容。有了容器,我就不用开三个无痕窗口来回切,标签页的颜色一眼就能分清哪个是管理员、哪个是普通用户。

安装以后的配置流程大概是:装好扩展,点工具栏图标新建容器,给容器起个能一眼看懂的名字,比如“环境A-管理员”“环境A-普通用户”。然后右键任意标签页,选择“在指定容器中打开”,这个标签页就归到那个容器里了。常用的站点可以固定在容器里,下次点固定标签直接进对应容器,不会跑到默认身份里去。

注意:容器隔离的是浏览器的存储和会话,它不是完整的进程级沙箱。下载的文件、剪贴板内容、扩展本身的数据是共享的,多标签页之间的性能开销也依然存在。另外容器数量别建太多,超过七八个以后图标颜色就基本分不清了,我一般按项目或者按角色维度来建,不超过六个。

容器划分维度示例命名适用场景备注
按角色管理员 / 普通用户 / 访客权限边界验证最常用
按环境测试环境 / 预发环境多环境对比注意别混登录态
按项目项目A / 项目B并行多项目项目结束即删

这套划分我用了两年多,最大的收益是减少了“登录态串味”导致的误判。以前最怕的就是刚用管理员看完,切回普通用户发现还能看到同样的内容,最后一查是自己 Cookie 没清干净,白激动一场。

4. 请求与接口层面:让返回的数据说人话

现代 Web 系统大部分都是前后端分离,页面上看到的东西基本都是接口返回的数据渲染出来的。所以真正的信息量在请求和响应里,而不是在页面上。这一节的三个扩展,分别解决跳转链路看不见、接口返回一团糟、想快速复现一个请求这三个问题。配合浏览器自带的网络面板使用,基本能覆盖日常绝大多数观察需求。

有个基本原则我得先说:所有对请求的发送和修改,都只针对明确授权的目标,并且优先在测试环境的账号上进行。生产环境的东西,哪怕只是多请求一次,也先确认范围再说。

4.1 Redirect Path:跳转链和响应头不再靠猜

一个链接点下去,中间可能经过好几次跳转,浏览器地址栏只显示最终结果,中间过程全被吃掉了。Redirect Path 的价值就是把这些中间环节显示出来,包括每一跳的状态码和 Location 指向。我常用它来梳理统一登录流程:访问一个受保护页面,它先跳到登录页,登录成功后再跳回来,这个链条上每一步的状态码是 302 还是 303,有没有临时跳转和永久跳转混用,这些细节在排查“登录后总是回到首页”这类问题的时候特别有用。

它还能读到一部分响应头信息,比如页面是否声明了 HSTS、是否设置了 X-Frame-Options、有没有内容安全策略。这些头部信息在评估一个站点的安全基线时是重要参考。我通常会把这些头的取值截图留档,作为报告里“安全配置观察”那部分的素材。

提示:有一部分跳转是脚本在页面加载完之后才执行的,扩展看不到这种跳转。遇到这种情况,在开发者工具的网络面板里勾上“保留日志”,然后再复现一次操作,完整的请求链就会留下来,比任何扩展都全。

4.2 JSON Viewer Pro:接口返回不再是一坨字符串

直接在浏览器里打开一个接口地址,默认显示的是挤成一行的原始文本,几百个字段挤在一起,根本没法看。JSON Viewer Pro 会把它自动格式化成带缩进的树状结构,支持折叠展开、按关键字搜索、复制某个节点的路径。我在核对接口返回结构的时候基本离不开它,尤其是字段层级很深的时候,折叠起来看整体结构,展开来看具体取值,效率比肉眼数括号高太多了。

它还有一个我常用的功能是复制节点路径。比如我要在报告里说明某个字段的位置,直接复制路径粘进去,比手写一串嵌套结构准确得多,也不会写错。搜关键字这个功能也顺手,找一个特定字段分布在哪些节点里,几秒钟的事。

实测下来有两个小问题。一是响应体特别大的时候页面会卡,几兆的返回内容展开会明显掉帧,这种情况我一般先用命令行工具把内容落到本地再看。二是目标返回的不是标准 JSON 的时候它不生效,比如接口返回的其实是 HTML 错误页,它按文本处理,这时候要注意别被表面现象骗了,先看响应头里的内容类型。

4.3 RESTer:浏览器里的轻量接口调试台

RESTer 相当于在浏览器里塞了一个简易的接口调试界面。可以新建请求、选方法、填头、填参数、发出去、看原始响应,还能把请求按项目分组保存下来,用环境变量管理不同环境的地址和令牌。它的定位不是替代专业的接口调试工具,而是在浏览器里随手复现一个前端调用的时候特别方便,因为你能直接复用当前登录态,不用去别的地方重新配一遍认证信息。

我的典型用法是:在网络面板里看到前端调了一个接口,想知道换几个参数会返回什么,直接把地址和头复制到 RESTer 里,改一改参数发出去看结果。整个过程不用离开浏览器,上下文不断,思路也不断。环境变量我一般按“环境名_变量名”的格式来命名,比如test_base_urltest_token,这样一眼就能看出这个变量属于哪个环境。

注意:保存请求的时候不要顺手把生产环境的高权限令牌存进去。这类数据一旦被保存在扩展的本地存储里,清理起来很麻烦。我在项目结束的时候会把 RESTer 里的项目整体删掉,重新建。另外跨域请求有时候会被浏览器策略拦下来,这不是插件坏了,是正常的同源限制,看响应为空的时候先想想这一点。

5. 记录与交付:把过程留住才算完整

测试做得再漂亮,最后交付的时候拿不出证据,等于白做。这个过程里最花时间的往往不是发现问题的瞬间,而是事后回忆“我当时到底是在哪个页面、什么状态下看到的”。所以我在工作流里专门留了一个环节做记录,用的工具就是全页截图扩展加一套固定的命名规范。听起来简单,但坚持下来能省掉大量返工。

5.1 全页截图类扩展:整页留档不遗漏

浏览器自带的截图只能截可视区域,页面长一点就得截好几张,拼起来还容易错位。全页截图类扩展可以一次性把整个页面滚动的全部内容截成一张长图,对于那种表格很长、列表很多的页面特别实用。我的习惯是每个关键页面都留一张全页图,尤其是登录后的首页、功能入口页、配置页,这些页面在报告里出现的频率最高。

用的时候有个坑必须提前知道:现在的页面大多是滚动懒加载,直接点全页截图,下面没滚动到的部分很可能是空白或者只有骨架屏。正确的做法是先手动把页面从头滚到底,等所有内容都渲染出来,再触发截图。这一步看起来笨,但它能避免截出一张下半部分是空白的图,然后写报告的时候才发现,还得重新去环境里复现一遍。

另一个必须养成的习惯是脱敏检查。全页截图里很容易带上真实的用户姓名、手机号、内部系统地址、测试账号、甚至有可能是真实数据的列表。图截完以后我会先扫一遍,敏感的地方用编辑工具涂掉再存进报告目录。原始未处理的图单独放一个加密目录,项目结束统一清理。

5.2 素材整理与命名规范

工具只是手段,能不能快速找到素材取决于命名规不规范。我用的格式是:日期加环境加模块加描述加序号,比如20250412_测试环境_用户管理_列表页_01.png。日期放在最前面是因为文件管理器默认按名称排序,这样素材天然就是时间顺序。环境放在第二位,是因为同一个模块在不同环境的截图往往需要对照着看。

目录结构我一般分三层:项目根目录下面按阶段分,阶段目录下面按模块分,模块目录里放截图和对应的说明文本。说明文本不用写得多正式,一两句话记清楚“这张图是在什么操作之后截的”就够了,等写报告的时候这些零星记录会帮上大忙。截图格式上,需要长期存档的我导出成 PDF 或者单文件网页格式,临时对照的用图片就行。

6. 安装与维护:权限、冲突与排错实录

前面五个小节讲的都是怎么用,但真正决定这套环境好不好用的,其实是维护。扩展装多了会互相打架,权限给宽了会有隐患,版本升级有时候会把配置冲掉。这一节把我在维护上踩过的坑集中说一下,包括权限怎么审、环境怎么隔离、出问题怎么定位。

6.1 权限审查:装之前先看清楚它要什么

火狐在安装扩展的时候会明确列出权限需求,这个弹窗我从来不跳过。下面这张表是我对常见权限提示的理解,可以当参考。

权限提示实际含义我的处理原则
读取和修改所有网站的数据能看和改你打开的每个页面的内容只给确实需要全局生效的工具
读取浏览历史能看到你访问过哪些地址与功能无关的一律拒绝
访问浏览器标签页能读取和操作标签状态批量类工具才需要
读取剪贴板能获取你复制的任何内容尽量不用这类扩展
下载文件和管理下载项能往磁盘写文件截图导出类工具需要

我给自己定的规矩是:一次只装一个扩展,装完先观察它的行为,确认没有异常的网络请求再留。每隔一个月打开扩展管理页,按“最近更新时间”排一遍序,超过一年没更新的重点关注一下,权限有变化的直接停用。这听起来有点偏执,但工作浏览器里跑着的扩展等于常驻的代码,值得花这点时间。

6.2 独立配置档:让工作环境跟日常彻底分开

火狐的配置档机制我是重度使用者。做法是在命令行里指定一个专门的配置档目录来启动浏览器,这样起来的窗口跟平时用的完全隔离,扩展列表、书签、登录状态全部独立。

# Linux / macOS:用独立配置档启动,避免和日常窗口互相干扰 firefox --profile /path/to/pentest-profile --no-remote # Windows:指定配置档目录 firefox.exe -profile "D:\work\pentest-profile" -no-remote

--no-remote这个参数的作用是告诉浏览器不要复用已经开着的实例,否则新窗口可能会挂到默认配置档上去,扩展和登录态全混在一起,那隔离就白做了。配置档目录我建议放在一个固定位置,每周手动复制一份备份,升级或者误操作之后可以直接回滚。扩展列表也可以导出成一份清单文本放在目录里,重建环境的时候照着装。

提示:配置档目录里包含了 Cookie、登录状态和扩展数据,整个目录按敏感数据处理。别往同步盘或者公共位置放,共享环境里用完记得整体清理。

6.3 常见问题与排查速查表

现象可能原因处理动作
扩展图标变灰、点击无反应扩展被浏览器禁用或权限被收窄到扩展管理页确认启用状态和权限
页面加载明显变慢多个扩展同时注入脚本逐个停用定位,优先保留只读类扩展
接口返回在格式化插件里显示为纯文本返回的不是标准 JSON先看响应头的内容类型再判断
全页截图下半部分空白页面懒加载未触发先滚到页面底部再截图
切换客户端标识后页面无变化页面按真实能力渲染,不看标识记录差异,改用其他观察方式
Cookie 清理后依然保持登录存在其他存储载体或服务端会话未失效一并检查本地存储和会话存储
导出配置文件丢失配置档目录被覆盖或未备份恢复备份,重建后立即导出清单

这张表里出现频率最高的是第二条。扩展冲突这类问题很难凭感觉判断,我的做法是二分法:一次停用一半扩展,看问题是否复现,逐步缩小范围。比起一个个试,这个方法能省不少时间。

6.4 几条用了很久才总结出来的心得

一是扩展宜少不宜多。我一开始装了二十多个,看着功能齐全,实际上每个都往页面里注入脚本,排查问题的时候噪音特别大。后来砍到八个常驻加两个按需启用,效率反而变高了。留在列表里的每一个都要能回答“它帮我解决了什么具体问题”,答不上来的就删。

二是按需启用比全部常驻更靠谱。像客户端身份切换、截图这类工具,不需要一直开着,用的时候点一下启用,用完关掉,能减少很多意外干扰。火狐的扩展管理页支持临时启用,这个功能我用得非常频繁。

三是不管用什么工具,最后写进报告的都应该是可复现的观察,而不是工具给出的结论。工具会误报,会过时,会因为版本差异给出不一样的答案。同一件事,用两种方式各验证一遍,结论才靠得住。我这些年最深的体会就是:插件只能帮你把信息摆到眼前,怎么解读、怎么判断,还是得靠自己一步一步走。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 11:35:34

Oracle内存管理实战:SGA与PGA调整的坑与排查思路

接手一套跑了好几年的Oracle库,最让人头疼的往往不是SQL怎么优化,反而是内存怎么分配。SGA调大一点,PGA就得让路;PGA给足了,排序会话一多又撑不住。Oracle内存管理(修改SGA与PGA)这件事&#xf…

作者头像 李华
网站建设 2026/9/17 11:35:34

Token是什么?鉴权、JWT、Refresh Token与大模型计费全解析

1. Token这个词,为什么总让人一头雾水第一次被人问"什么是Token",我下意识回答"就是一种令牌",说完自己都觉得等于没说。后来带过几批新人做接口对接,才慢慢摸清这个词的坑在哪——它在不同语境里指的完全是不…

作者头像 李华
网站建设 2026/9/17 11:35:20

SpringBoot+Vue社区团购系统架构与实战

1. 项目背景与核心需求在社区服务数字化转型的浪潮中,传统的小区团购模式面临着诸多痛点。作为参与过多个社区信息化项目的开发者,我深刻体会到手工登记、微信群接龙等方式带来的管理混乱。去年为某大型社区实施改造时,物业经理向我们抱怨&am…

作者头像 李华
网站建设 2026/9/17 11:31:12

gh-aw Playwright与Web搜索能力:让Agent会查资料会点网页

gh-aw Playwright与Web搜索能力:让Agent会查资料会点网页 【免费下载链接】gh-aw GitHub Agentic Workflows 项目地址: https://gitcode.com/GitHub_Trending/gha/gh-aw gh-aw 是一款把 AI Agent 跑在 GitHub Actions 上的开源工具(GitHub Agenti…

作者头像 李华