EveryInfra

CyberSiARA

CyberSiARACyberSiARA(产品名 SiARA Shield)无感行为判定为主,判可疑时才升级为一道视觉挑战绝大多数时候什么都不做 —— 它在后台读鼠标移动、打字节奏和交互模式,厂商的营销口径就是「No CAPTCHAs, no cookies, no friction」。只有会话被判可疑时才弹出一道视觉题,厂商称之为 Trans-Saccadic Memory(TSM)视觉验证,宣称专门设计成抗 OCR、抗 AI 识别。

正在查询可用性…$2.22 / 1K 次按成功计费,失败退款

接口规格

项目
typecybersiara
必填参数website_urlmaster_url_id
可选参数user_agent
返回一个 token 字符串solution.token
怎么用这个解填回目标站表单的 CyberSiARA 响应字段
价格$2.22 / 1K 次 —— 按成功计费,没解出来退款
厂商文档CyberSiARA(产品名 SiARA Shield) 官方文档

参数去页面哪里取

下面全部是可以直接照做的定位方法 —— DOM 属性名、JS 全局变量名、script 上的 query 参数。

要两个:website_urlmaster_url_id。后者是唯一需要你去页面上找的东西,三条互相印证的取法(按可靠性排序):

  1. 抄 `InitCaptcha()` 的实参 —— 页面内联脚本里有一段形如 var captchaKey = "………"; … InitCaptcha(captchaKey);。传进 InitCaptcha() 的那个字符串就是 MasterUrlId,典型是 32 位大小写字母加数字。最直接的一处。
  2. 看 Network 面板里那个 `CyberSiara/GetCyberSiara` 的 POST —— 请求体是 JSON,第一个键就是 MasterUrlId,同一份 body 里还有 DeviceName(就是 UA)、RequestUrlBrowserIdentityVisiterIdRequestID 等。DevTools 里直接按 MasterUrlId 过滤即可。
  3. 认脚本域名 —— 组件资源从 embed.mycybersiara.com 下的 CaptchaFormate/CaptchaResources.js 与同目录 .css 加载。看到这个域名基本就能确认是它,同时也就定位到了第 1 条那段内联脚本的位置。

配套的 DOM 特征,用来确认你找对了元素:
- 挂载容器 <div class="SiaraShield Cyber_Cap">(class 同时含 SiaraShieldCyber_Cap

- 回填位 <input type="hidden" name="CyberSiaraToken" id="CyberSiaraToken"> —— 我们交付的 token 就填这里

- 全局对象 window.InitCaptchawindow.CyberSiaraForm(后者带 setupForms() / syncToken() 方法)

容易取错的一点MasterUrlId站点级的公开标识、不随每次挑战变化,可以缓存;而同一份请求体里的 RequestId / VisiterId / BrowserIdentity 是每次现生成的,别把它们当成 MasterUrlId 抄下来。

组件常被设成懒加载:页面脚本里若有 captchaLazy = true,不滚动到表单附近脚本根本不执行,DevTools 里也就看不到那个 GetCyberSiara 请求。先让表单进视口再抓。

调用示例

一个端点解全部验证码类型 —— 换一种验证码只改 type 这一个字段。

请求
curl -X POST https://api.everyinfra.com/api/v1/captcha \  -H "Authorization: Bearer omg_你的KEY" \  -H "Content-Type: application/json" \  -d '{"type":"cybersiara","website_url":"<website_url>","master_url_id":"<master_url_id>"}'
响应
{  "solution": {    "token": "…"  },  "billing": { "charged": true, "credits": 160 }}

怎么确认目标站用的就是它

两层。第一层被动采集行为信号(鼠标轨迹、打字模式、交互行为)做判定;第二层在可疑时下发 TSM 视觉挑战。客户端由 `InitCaptcha(MasterUrlId)` 引导,向厂商的 `CyberSiara/GetCyberSiara` 接口 POST 一份 JSON,内含站点标识、User-Agent、页面 URL、浏览器指纹、访客 ID、屏幕宽高、插件数、点击耗时等;服务端回传挑战 HTML,通过后把结果写进页面的 CyberSiaraToken 隐藏域随表单提交。

容易搞混的

① 最实际的混淆是它自称不是验证码 —— 营销口径是「No CAPTCHAs」,页面上找不到任何写着 captcha 的品牌标识,只能靠 SiaraShield class 名、CyberSiaraToken 字段名和 embed.mycybersiara.com 域名来认。② 和同样走「无感行为判定 + 触发式挑战」路线的 PerimeterX / HUMAN Security 定位相似,但取参方式完全不同:那边要页面地址加你自己的出口代理,这边要 MasterUrlId、不需要你自带代理。③ 品牌名大小写写法混乱(CyberSiARA / CyberSiara / Cyber SiARA / SiARA Shield 都出现过),按品牌名搜资料要几种都试;按 embed.mycybersiara.comMasterUrlId 搜更准。

去看 PerimeterX / HUMAN Security 那一条 →

常见部署场景

已知的坑

传上求解时用的 user_agent,并在后续请求里保持一致 —— 它的请求体本身就把 UA(字段名 DeviceName)当成判定输入之一

交付的是表单 token,不是 Cookie;填进 CyberSiaraToken 隐藏域随表单一起提交

懒加载配置下不滚动到表单就抓不到那个 GetCyberSiara 请求,容易误判成「页面上没有这个验证码」

MasterUrlId 是站点级常量可以缓存,但站点换域名或重新配置后会变,长期硬编码会静默失效

厂商把它定位成叠加层而非替代品(明说与防火墙、WAF、bot 管理并存),所以过了它不代表站点其他防护也过了

常见问题

CyberSiARA 要传哪些参数?

必填 website_url、master_url_id;可选 user_agent。请求里 type 传 cybersiara。

解出来的东西怎么用?

返回一个 token 字符串,取 solution.token。填回目标站表单的 CyberSiARA 响应字段

window.CyberSiaraForm 要去页面的哪里找?

重点找 window.CyberSiaraForm、window.InitCaptcha、BrowserIdentity。本页「参数去页面哪里取」一节写了全部位置与取法,含可直接粘进控制台的一行命令。

怎么确认目标站用的就是 CyberSiARA?

① 最实际的混淆是它自称不是验证码 —— 营销口径是「No CAPTCHAs」,页面上找不到任何写着 captcha 的品牌标识,只能靠 SiaraShield class 名、CyberSiaraToken 字段名和 embed.mycybersiara.com 域名来认。② 和同样走「无感行为判定 + 触发式挑战」路线的 PerimeterX / HUMAN Security 定位相似,但取参方式完全不同:那边要页面地址加你自己的出口代理,这边要 MasterUrlId、不需要你自带代理。③ 品牌名大小写写法混乱(CyberSiARA / CyberSiara / Cyber SiARA / SiARA Shield 都出现过),按品牌名搜资料要几种都试;按 embed.mycybersiara.comMasterUrlId 搜更准。

有什么容易踩的坑?

传上求解时用的 user_agent,并在后续请求里保持一致 —— 它的请求体本身就把 UA(字段名 DeviceName)当成判定输入之一

多少钱一次,失败扣不扣?

$2.22 / 1K 次。按成功计费 —— 没解出来一律退款,所以失败不花钱。账单按次记,标价按每千次是为了让量级读得出来。

开始接入

一个端点覆盖全部验证码类型,按成功计费,失败与空结果一律退款。