i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具

admin 2024年3月24日18:34:24评论8 views字数 2687阅读8分57秒阅读模式
关于i-am-a-bot
i-am-a-bot是一款基于多个大语言模型的验证码安全评估工具,该工具提供了一个使用了多模态大语言模型(LLM)的自动化解决方案,可以帮助广大研究人员测试各种类型验证码机制的安全性。
i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
从底层上看,i-am-a-bot这个项目利用了Google的Vertex AI和一系列自定义代理功能来解决验证码挑战,并以此来评估和审计验证码系统的潜在安全问题。
功能介绍
1、识别目标图片是否是一个验证码;
2、判断目标验证码类型(文本、数学计算等式、图片翻转、智力谜语、图片选择等);
3、解决文本和数学验证码;
4、集成了Google的Vertex AI用于模型推理(使用gemini-vision-pro);
工具执行流
+-----------------------------------+| 工具执行 |+-----------------------------------+ | v+-----------------------------------+| 加载代理 |+-----------------------------------+ | v+-----------------------------------+| 生成图片检测提示 |+-----------------------------------+ | v+-----------------------------------+| 检测图片看起来是否类似验证码 |+-----------------------------------+ | +--------------------------+ 否 | | 是 v | +-------------------+ v | 提示值错误 |+-----------------------------------+ || 生成验证码类型提示 | |+-----------------------------------+ | | | v |+-----------------------------------+ || 确定验证码类型 | |+-----------------------------------+ | | | +----------+------------+ | | | | | v v | |+---------+--+ +---+---------+ | || 文本验证码 | | 数学验证码 | | |+---------+--+ +---+---------+ | | | | | | v v | |+---------+--+ +---+---------+ | || 解决文本 | | 解决数学 | | || 验证码 | | 验证码 | | |+---------+--+ +---+---------+ | | | | | | v v | |+---------+--+ +---+---------+ | || 返回文本 | | 返回数学 | | || 验证码 | | 验证码 | | || 解决方案 | | 解决方案 | | |+---------+--+ +---+---------+ | | | | | | +----------+------------+ | | | +---------------------------+ |+--------------------v-----------------------------+| 如果验证码类型不支持则提示值错误 |+--------------------------------------------------+ | v+-----------------------------------+| 执行完毕 |+-----------------------------------+
项目结构

agents.ty:包含代理的定义参数,用于识别和解决验证码问题;
gemini_core.py:处理工具与Google Vertex AI的交互,以处理验证码图片;
solve.py:验证码解决工具的主入口点,使用定义的代理构建验证码解析流程;
sample.py:用于演示工具使用的样例脚本;
代理
项目定义了四个代理,每一个都在验证码解析流程中扮演了特定的角色:
CheckIfImageLooksLikeCaptchaAgent:判断目标图片是否是验证码;
DecideCaptchaTypeAgent:识别验证码类型;

  1. CheckIfImageLooksLikeCaptchaAgent:判断目标图片是否是验证码;
  2. DecideCaptchaTypeAgent:识别验证码类型;
  3. TextSolveAgent:解决需要文本识别的验证码挑战;
  4. MathSolveAgent:解决需要解决数学计算等式的验证码挑战;
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/AashiqRamachandran/i-am-a-bot.git
然后切换到项目目录中,使用下列命令安装该工具所需的其他依赖组件:
cd i-am-a-botpip install --upgrade google-cloud-aiplatform
工具配置
在使用该工具之前,必须提供你的Google Cloud项目ID和服务账号JSON文件路径,工具会使用这两个参数完成Vertex AI服务的身份认证。
工具使用样例
from iamabot import solve# Initialize the solver with your Google Cloud project ID and service account credentialssolver = solve.Solve(project_id=1077607249524,credential_file_path="google-service-account-credential-file.json")# Run the solver on a CAPTCHA imagesolved_response = solver.run("sample_captchas/text_moderate.png")# Print the solutionprint(solved_response)
支持的验证码

i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
工具运行截图
i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
i-am-a-bot:
https://github.com/AashiqRamachandran/i-am-a-bot

原文始发于微信公众号(FreeBuf):i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具

 

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月24日18:34:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   i-am-a-bot:一款基于多个大语言模型的验证码系统安全评估工具https://cn-sec.com/archives/2599291.html

发表评论

匿名网友 填写信息