AI 渗透测试(Agentic BAS)通过多 Agent 协作自动模拟真实攻击,7×24 持续验证安全体系有效性,以低成本运营方式驱动安全体系建设与安全运营效能提升。本文介绍如何创建渗透测试任务、配置访问凭证与最大 Credits 用量、管理任务状态、查看与验证漏洞,以及查看 Credits 消耗。
适用范围
资产授权:待测试的目标资产必须是拥有合法授权的 IP 地址或域名。
支持的资产:
云安全中心纳管资产(有公网 IP 的 ECS 主机)。
攻击面管理扫描发现并完成盘点的已归属确认的资产。
自定义资产:支持 IP、域名或以 http://、https:// 开头的完整 URL。需先验证主域名或 IP 地址的归属关系,验证通过后可添加对应的子域名、URL 或 IP:Port。
支持的漏洞检测类型:
漏洞类型
说明
未授权访问
检测系统中存在的越权或未授权访问漏洞。
跨站脚本攻击
注入恶意脚本窃取用户数据。
SQL 注入
检测 SQL 注入漏洞。
Web 请求伪造
伪造用户请求执行非授权操作。
通用漏洞
检测其他常见 Web 安全漏洞。
添加白名单
如果在网络环境中部署了 Web 应用防火墙 (WAF)、云防火墙或其他安全访问控制策略,请将扫描器 IP 地址加入目标服务器的访问白名单,避免扫描请求被拦截。
非中国内地:
8.219.211.171中国内地:
8.133.212.119121.40.209.82
创建渗透测试任务
访问云安全中心控制台- Agentic BAS,在页面左侧顶部,选择需防护资产所在的区域:中国内地或非中国内地。
单击页面右上角的渗透任务创建。
在创建渗透测试任务面板中,配置以下参数。
参数
说明
任务名称
自定义任务名称,最多 128 个字符。
任务描述
对本次渗透测试的补充说明,最多 1000 个字符。
安全漏洞选择
选择需要检测的漏洞类型,支持多选。可选类型包括:未授权访问、跨站脚本攻击、SQL注入、Web请求伪造、通用安全漏洞。
渗透要求
以自然语言描述额外的渗透测试需求或关注点。
渗透对象选择
选择检测目标的来源方式。支持以下三种方式:
云安全中心资产:云安全中心纳管资产(有公网 IP 的 ECS 主机),可在左侧中查看接入的 ECS 资产。
攻击面归属资产:攻击面管理扫描发现并完成资产盘点的已归属资产,详情请参见边界资产发现。
自定义资产:支持 IP、域名或以 http://、https:// 开头的完整 URL。在搜索框中输入 IP 或域名,可从已验证的自定义资产中选择;如需添加新资产,单击新建资产并验证并完成资产验证。具体操作,请参见高级配置-配置自定义资产。
访问凭证(选填)
用于登录态认证和越权测试,可配置不同身份权限,以保障渗透测试深度。具体操作,请参见高级配置-配置访问凭证。
说明若未添加凭证信息,渗透任务将在无身份认证状态下执行。
最大Credits用量(选填)
可选配置。开启后,任务执行过程中当 Credits 用量达到配置的最大值时,按所选方式处理:选择任务终止(默认)时,任务视为结束,系统基于已产出信息生成完整报告,任务无法在控制台继续执行;选择任务暂停时,任务在暂停点挂起,在暂停保活期限内可恢复执行,恢复后 Credits 用量不再受该上限的限制。可拖动滑块(范围 0 ~ 5,000,000,默认 500)或直接输入数字设置。
说明由于渗透任务执行存在阶段性用量差异,实际消耗可能略微超出所配置的最大 Credits 用量上限。
执行方式
选择任务的执行方式:
立即执行:创建后立即开始渗透测试。
定时单次执行:在指定时间自动开始执行一次渗透测试。
执行时间
选择定时执行时,需设置执行时间。执行时间不能早于当前时间。
确认配置无误后,单击确定。渗透测试任务执行时间较长(可能超过 1 小时),请耐心等待。
重要渗透测试任务默认超时时间为 12 小时。若任务执行超过 12 小时,任务将自动转为已暂停状态,并带有超时标识以区别于手动暂停,后续处理逻辑与手动暂停保持一致。已扫描出的数据将会保留,已消耗 Credits 不会退还。
处理和验证漏洞
查看和处理漏洞
在任务列表中,单击目标任务名称或操作列的详情。
在安全漏洞页签,可查看当前任务扫描出的漏洞列表。列表支持勾选单个或多个漏洞(表头可全选),勾选后列表底部出现验证和下载报告按钮,可对所选漏洞批量验证或批量下载报告。
单击漏洞操作列的下载报告,可下载漏洞详情(如端点、发现时间、漏洞发现过程、修复方案等)。
请根据报告中的修复方案,手动执行修复操作。
说明Agentic BAS暂不支持在控制台直接修复漏洞。
验证漏洞修复情况
手动修复完成后,可返回漏洞列表,验证漏洞是否已完全修复。
触发验证:
在任务列表中,单击目标任务名称或操作列的详情。
在安全漏洞页签,单击目标漏洞操作列的验证。
说明如需批量验证,可在安全漏洞页签勾选多个漏洞,然后单击列表底部的验证。
在验证详情页,单击右上方的验证。漏洞有效性变为验证中,Tea Agent 开始复现验证,验证日志实时写入。
验证完成:验证完成后,历史验证记录新增一条,Credits 消耗累加到漏洞验证总消耗。验证状态说明:
可利用:验证流程无异常,漏洞经验证可复现、可利用,验证结果已输出至日志中。
不可利用:经验证后漏洞已修复或隔离,无法复现,可通过验证日志做进一步确认修复结果。
说明因网络异常、临时中断等因素无法完全验证,而造成的不可利用,已消耗的 Credits 不会返还。
确认漏洞修复结果:在验证日志区域的 CONSOLE 输出框中,查看验证流程日志。通常会在最后一行输出漏洞修复情况,如“复测结论 ### 漏洞状态:**未修复 (Vulnerable)”。
下载验证日志:在验证日志区域,单击 CONSOLE 输出框右上方的下载日志。
查看/下载渗透报告
在任务列表中,单击目标任务名称或操作列的详情。
在渗透报告页签在线查看报告,单击右上角下载报告,可将报告下载至本地保存。
管理渗透测试任务
管理单个测试任务:单击目标任务操作列的
,可对渗透测试任务执行以下操作:操作
适用任务状态
说明
启动
待启动
立即执行当前任务。
终止
执行中
终止正在执行的渗透测试任务。终止后系统基于已产出信息生成完整报告,任务消耗计入 Credits 用量,且无法在控制台恢复执行。
暂停
执行中
手动暂停:仅适用于执行中的任务,暂停期间不计入 Credits 用量,暂停后可在暂停点恢复执行。
自动暂停:渗透任务执行超过12小时,自动转为暂停状态。
重要暂停保活期限为 15 天(360 小时)。到期后仍未恢复执行的任务视为手动终止,系统基于已产出信息生成完整报告,任务消耗计入 Credits 用量。
删除
非运行中
删除渗透测试任务及其结果数据。删除后不可恢复。
批量操作:支持勾选多个相同状态的任务后进行批量启动、暂停、终止或删除。
在Agentic BAS任务列表页,勾选一个或多个相同状态的任务。
单击列表右下角的启动、暂停、终止或删除。
查看 Credits 消耗
查看任务消耗
查看单个任务消耗:
在任务列表中,单击目标任务名称或操作列的详情。
在任务详情页签的任务概况区域,查看Credits 消耗。
查看任务整体消耗:在Agentic BAS首页的Credits 使用量/余量区域,查看套餐内 Credits消耗百分比和剩余量。
查看漏洞验证消耗
漏洞验证消耗 Credits 与任务执行消耗 Credits 独立计量。
在任务列表中,单击目标任务名称或操作列的详情。
在安全漏洞页签,单击目标漏洞操作列的验证,进入验证详情页。
验证记录区域可查看Credits总消耗。
说明也可在漏洞列表页的Credits验证消耗列查看验证总的消耗。
在历史验证记录区域,每一条验证记录下方,查看单次验证Credits消耗。
高级配置(可选)
配置自定义资产
若需对自定义资产执行渗透测试,需先验证主域名或 IP 地址的归属关系。验证通过后,可添加该域名或 IP 对应的子域名、URL、IP:Port,资产将进入自定义资产列表,后续创建任务时可直接选择,无需重复验证。
添加资产:在渗透任务创建面板的渗透对象选择区域,选择自定义资产页签。
选择已有资产:在搜索框中输入 IP 或域名,可从已验证的自定义资产中选择。
添加新资产:单击搜索框后
,在新建自定义资产并验证面板,填写待验证的资产。说明支持填写 IP、域名或以 http://、https:// 开头或 IP:Port 的完整 URL。
验证资产:首次添加需验证主域名或 IP 地址,支持DNS TXT 验证和文件验证两种方式。生成的验证信息有过期时间,请在过期前完成验证。
警告若验证信息已过期,请单击重新验证资产后,使用新的验证信息完成域名验证。
DNS TXT 验证
操作步骤
登录域名解析网站:找到"域名解析""DNS 解析"或"解析记录"等入口,再选择当前需要验证的域名。找不到入口时,请联系域名管理员操作。
新建并填写 TXT 记录:在添加记录或添加解析页面,根据提供的记录类型(TXT)、主机记录 / Name和记录值 / Value逐项填写。下文以域名解析托管在阿里云云解析 DNS 为例,介绍如何配置 TXT 记录。
保存记录并等待生效:单击确定或保存,保留这条记录。
重要DNS 解析不会立即生效,等待时间取决于 DNS 服务商和 TTL 配置。
记录生效后,返回新建自定义资产并验证面板,单击验证并保存资产。
说明验证子域名时,系统先校验该子域名的 TXT 记录;若未通过,会继续校验其一级域名的 TXT 记录。因此 TXT 记录既可以配置在待验证的子域名上,也可以配置在一级域名上。例如验证
yyy.xxx.com时,可直接在一级域名xxx.com下配置 TXT 记录。DNS 配置样例
本文以域名解析托管在阿里云云解析 DNS 为例。若域名解析托管在其他 DNS 服务商,请在对应服务商的解析设置页面按相同参数添加记录。
使用域名持有者所在的阿里云账号,登录云解析 DNS 控制台。
在域名列表中找到目标域名,单击其操作列下的解析设置,进入解析设置页面。
在解析设置页面,单击添加记录,按以下说明填写各字段:
参数
说明
记录类型
选择 TXT。
主机记录
粘贴新建自定义资产并验证面板提供的主机记录 / Name,例如
_aibas-verification。记录值
粘贴新建自定义资产并验证面板提供的记录值 / Value,格式为
aibas-site-verification=<验证串>,验证串由面板生成。说明解析请求来源、TTL 等其他参数保持默认即可。
填写完成后,单击确定。
文件验证
操作步骤
下载或创建验证文件:单击下载验证文件保存至本地。也可以按照页面提供的上传路径 / 文件名和文件内容手动创建。
重要文件名和文件内容必须与页面提供的内容完全一致,不能重命名、增删内容或添加空格。
上传到网站的指定位置:
创建文件保存路径:登录网站服务器、对象存储或建站后台,按照文件内容中的路径说明,逐级创建文件路径(
.well-known/pki-validation/)。若已创建,请忽略本步骤。放置文件:将验证文件上传至对应的路径。下文将以部署在阿里云 ECS 上的 Nginx(Linux 版本)为例,介绍如何上传验证文件。
用浏览器检查验证地址:复制页面提供的验证地址,在浏览器无痕窗口中打开。
重要该地址必须无需登录即可直接显示验证文件内容,如果出现 404、403、登录页或跳转页面,请先调整文件位置或访问权限。
确认浏览器显示的内容与页面提供的文件内容完全一致后,单击验证并保存资产。
警告验证成功前请不要删除或修改文件,否则可能导致验证失败。
文件上传配置样例
本文以部署在阿里云云服务器 ECS 上的 Nginx(Linux 版本)为例,介绍如何上传验证文件。若网站部署在其他服务器或对象存储上,请按相同思路将文件放置到上传路径/文件名对应的位置。
连接 ECS 实例:具体操作,请参见选择ECS远程连接方式。
创建目录:依次执行以下命令,在服务器的 Web 根目录(Nginx 服务默认为 /var/www/html/)下,按照新建自定义资产并验证面板提供的上传路径(
.well-known/pki-validation/)逐级创建目录。若已创建,请忽略本步骤。cd /var/www/html mkdir -p .well-known/pki-validation上传验证文件:可以使用 WinSCP、Xshell 等远程登录工具的文件上传功能,将验证文件上传至上一步创建的目录。具体操作,请参见选择传输文件的方式。
在浏览器无痕窗口中打开面板提供的验证地址(格式:
https://域名/.well-known/aibas-site-verification/文件名.txt),确认可直接访问到验证文件内容。
配置访问凭证
如需应用于登录态认证和越权测试,可为任务配置不同身份权限的访问凭证,以保障渗透测试深度。每个身份只需录入一种访问凭证,切换凭证类型后将仅提交当前选中的凭证。配置访问凭证包含三个步骤:
凭证选型:根据目标站点的登录方式,选择合适的凭证类型。
获取凭证内容:按所选类型从浏览器或已授权测试环境中获取待填写的凭证信息。
配置步骤:在渗透任务创建面板中录入身份信息与凭证内容。
凭证选型
凭证类型 | 适用场景 | 常见获取位置 |
账号/密码 | 站点可通过标准登录表单完成认证。 | 测试账号管理方提供。 |
Cookie | 已在浏览器或代理工具中完成登录,希望直接复用登录态。 | 浏览器 DevTools、Burp、curl。 |
Local Storage | Token 或身份信息持久化保存在浏览器本地存储中。 | DevTools → Application → Local Storage。 |
Session Storage | Token 仅保存在当前浏览器会话中。 | DevTools → Application → Session Storage。 |
额外 Headers(高级) | 站点通过固定请求头传递 Token、租户或身份信息。 | DevTools → Network → Request Headers。 |
配置建议
优先使用临时、最小权限、可随时撤销的凭证,避免使用个人常用账号或生产高权限账号。
测试结束后及时停用临时账号、轮换密码或撤销 Token,并清理不再需要的登录态。
多身份与越权测试:如需进行水平或垂直越权测试,建议至少准备两个权限不同的临时身份,例如:
普通用户 A:普通业务权限。
普通用户 B:与用户 A 数据范围不同,用于水平越权检查。
管理员:用于比较高、低权限行为差异。
如果某个登录态同时依赖多种客户端数据,请选择能够独立恢复登录态的主要凭证方式,当前每个身份只会提交一种凭证类型。
获取凭证内容
不同凭证类型的获取位置不同。请先使用已授权的测试账号登录目标站点,再按所选凭证类型获取对应内容。
账号/密码
由测试账号管理方提供授权测试账号,账号和密码均需填写。建议优先使用低风险、最小权限、可随时停用的临时测试账号,不要录入生产高权限账号。
如果登录过程依赖人工验证码、多因素认证或其他交互操作,建议先在浏览器中完成登录,再改用 Cookie、Local Storage 或 Session Storage 复用已有登录态。
Cookie
使用测试账号登录目标站点。
Local Storage
使用测试账号登录目标站点。
打开浏览器开发者工具,进入 Application > Local Storage。
选择目标站点对应的 Origin。
逐项复制与认证相关的 Key 和 Value,填入凭证的 Key/Value 输入框。示例如下:
Key
Value(示例)
auth_token<temporary-token>user_profile{"role":"viewer"}
Session Storage
Session Storage 通常与当前会话绑定。重新登录、关闭会话或凭证过期后,原有的值可能已经失效,需要重新获取。
使用测试账号登录目标站点,并保持当前标签页的会话有效。
打开浏览器开发者工具,进入 Application > Session Storage。
选择目标站点对应的 Origin。
逐项复制与认证相关的 Key 和 Value,录入方式与 Local Storage 相同。
额外 Headers
使用测试账号登录目标站点。
打开浏览器开发者工具,进入 Network。
选择一个已认证的请求,在 Request Headers 中确认用于认证或租户识别的固定请求头。录入示例如下:
说明仅建议录入固定 Header。时间戳、Nonce、一次性 Token、请求体摘要等动态签名字段由站点自身生成,不要作为固定 Header 录入。
Key
Value(示例)
AuthorizationBearer <temporary-token>X-Tenant-Idtenant-a
配置步骤
在渗透任务创建面板中,单击访问凭证区域的添加身份,可为任务配置不同身份权限的访问凭证。
在添加身份凭据对话框中,配置以下参数后,单击保存身份即可。
说明如需配置多个身份,可再次单击添加身份继续添加。
参数
说明
身份名称
必填。自定义身份名称,例如管理员、普通用户、测试用户,最多 32 个字符,同一任务内不能重名。
身份说明
选填。补充说明该身份的权限特征,例如"仅具备只读权限的授权测试身份",最多 200 个字符。
选择凭证类型
必填。单选以下 5 种凭证类型之一:账号/密码、Cookie、Local Storage、Session Storage、额外 Headers(高级)。选型参考,请参见凭证选型。
凭证内容
根据所选凭证类型,录入对应的凭证信息。各类型的凭证获取方式和填写要求,请参见获取凭证内容。
常见校验提示与处理方法
提示或现象 | 处理方法 |
身份名称已存在 | 修改为同一任务内唯一的名称。 |
没有解析到有效 Cookie | 检查 |
请至少填写一组有效的 Key 和 Value | 检查 Local/Session Storage 或 Headers 的 Key、Value 是否完整。 |
任务中仍为未登录态 | 检查凭证是否过期、Cookie 域和路径是否匹配、Storage 类型和 Origin 是否正确、Key 大小写是否一致。 |
登录后仍缺少租户或业务权限 | 检查是否还需要固定租户 Header,或当前测试账号本身是否具备目标权限。 |
附录:任务状态说明
在任务列表的状态列可查看任务的当前状态。将鼠标悬停在状态上,可查看浮窗提示。各任务状态说明如下:
任务状态 | 说明 |
待启动 | 任务已创建,尚未开始执行。 |
排队中 | 任务已触发,正在等待执行队列调度。 |
启动中 | 任务正在启动执行环境。 |
执行中 | 渗透测试正在执行,Credits 用量实时累计。 |
成功 | 任务执行完成,可查看和下载渗透测试报告。 |
失败 | 任务执行中断,渗透流程终止。例如“失败原因:目标资产连接超时,Agent 无法建立访问通道,渗透流程中断”。 |
已暂停 | 任务在暂停点挂起,暂停期间不计入 Credits 用量,可在暂停点恢复执行。 重要 暂停保活期限为 15 天(360 小时)。到期后仍未恢复执行的任务视为手动终止,系统基于已产出信息生成完整报告,任务消耗计入 Credits 用量。 |
已终止 | 渗透任务因系统异常终止或人工终结,系统会基于已产出信息生成完整报告,任务消耗计入 Credits 用量,不支持在控制台恢复执行。 |
超时 | 任务执行超过 12 小时后自动转入已暂停状态,后续处理逻辑与手动暂停一致。 |
渗透任务因系统异常终止时,系统仍会基于已有信息生成完整报告,任务消耗正常计入 Credits 用量。