跳到正文

kangleyao

slider-captcha-lab

阿里云滑块验证码自动求解:YOLO 识别 + 真人形态轨迹生成 + CDP 注入,单次通过率 90.9%

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

这篇是英文原文

下面正文是项目自己的英文 README。想读全文就用浏览器自带的整页翻译: Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」; 手机浏览器一般在菜单里。

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

Slider Captcha Lab

阿里云滑块验证码(AliyunCaptcha)自动求解:YOLO 识别缺口 + 真人形态轨迹生成 + CDP 事件注入。

效果

单次通过率 78.4% → 90.9%,风控拦截率 15.2% → 9.1%(n=22)。

原理

真人拖滑块不是平滑曲线。用 30 条真人轨迹对比合成轨迹训练分类器, AUC=1.000 完美可分——教科书式的平滑曲线全是机器指纹:

指纹真人平滑曲线
峰值速度位置75% 进度(末端甩鞭)5~20%(前载爆发)
峰值速度~9700 px/s~1400 px/s
y 路径漂移38px(手臂线性漂移)2px(小幅振荡)
完全静止帧4%0%
松手前微动作00.25(画蛇添足)

真人形态是「慢逼近 → 谷底犹豫 → 末端甩鞭 → 收尾」, 本生成器按此重构(细节见 docs/轨迹形态理论.md 与 human_track.py 注释)。

图片:真人 vs 平滑曲线机器人 速度-进度对比

使用

import asyncio
from playwright.async_api import async_playwright
from slider_cdp import solve, install_verdict_hook

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        ctx = await browser.new_context()
        page = await ctx.new_page()
        cdp = await ctx.new_cdp_session(page)
        await install_verdict_hook(page)
        await page.goto("https://your-site-with-captcha.com")
        # ... 触发滑块弹出 ...
        passed, meta = await solve(ctx, page, cdp)

asyncio.run(main())

文件

文件说明
slider_cdp.py求解库:识别 → 轨迹 → 注入 → 判定
human_track.py轨迹生成器(核心算法)
track_features.py59 维形态特征
record_human_drag.py真人轨迹采集
train_shape_scorer.py / shape_gap_diagnosis.py人/机分类器诊断闭环
calib_cdp.py位移响应模型标定(piece.left = A·m + B·m²)

判定码:T001 通过 · F001 风控拦截 · F015 位置误差

安装

pip install -r requirements.txt
playwright install chromium
  • captcha-recognizer 提供 YOLO 缺口识别(自带模型权重)
  • 换站点时先用 calib_cdp.py 标定该站的位移响应系数(slider_cdp.py 顶部的 A_CDP/B_CDP)

免责

仅用于验证码可用性研究与自有环境的合规测试,使用者自行承担后果。

友情链接

图片:LINUX DO

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。