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

关于i-am-a-bot

i-am-a-bot是一款基于多个大语言模型的验证码安全评估工具,该工具提供了一个使用了多模态大语言模型(LLM)的自动化解决方案,可以帮助广大研究人员测试各种类型验证码机制的安全性。

从底层上看,i-am-a-bot这个项目利用了Google的Vertex AI和一系列自定义代理功能来解决验证码挑战,并以此来评估和审计验证码系统的潜在安全问题。

功能介绍

1、识别目标图片是否是一个验证码;

2、判断目标验证码类型(文本、数学计算等式、图片翻转、智力谜语、图片选择等);

3、解决文本和数学验证码;

4、集成了Google的Vertex AI用于模型推理(使用gemini-vision-pro);
→点击获取网络安全资料·攻略←

200多本网络安全系列电子书

网络安全标准题库资料

项目源码

网络安全基础入门、Linux、web安全、攻防方面的视频

网络安全学习路线图

工具执行流

复制代码
+-----------------------------------+

| 工具执行                           |

+-----------------------------------+

          |

          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:用于演示工具使用的样例脚本;

代理

项目定义了四个代理,每一个都在验证码解析流程中扮演了特定的角色:

复制代码
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-bot

pip 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 credentials

solver = solve.Solve(

project_id=1077607249524,

credential_file_path="google-service-account-credential-file.json"

)

# Run the solver on a CAPTCHA image

solved_response = solver.run("sample_captchas/text_moderate.png")

# Print the solution

print(solved_response)

支持的验证码

工具运行截图

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》 ,需要点击下方链接即可前往获取

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供:

大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

相关推荐
从零开始学习人工智能24 分钟前
FastMCP:构建 MCP 服务器和客户端的高效 Python 框架
服务器·前端·网络
爱意随风起风止意难平38 分钟前
003 flutter初始文件讲解(2)
学习·flutter
东京老树根41 分钟前
SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途
笔记·学习
hgdlip41 分钟前
电脑的ip地址会自动变怎么办?原因解析和解决方法
运维·网络·tcp/ip·电脑
书山有路勤为径~43 分钟前
第八章 Wireshark工具的安装与使用
网络·测试工具·wireshark
虾球xz1 小时前
CppCon 2014 学习:C++ Memory Model Meets High-Update-Rate Data Structures
java·开发语言·c++·学习
水水沝淼㵘1 小时前
嵌入式开发学习日志(linux系统编程--系统编程之 进程间通信IPC)Day32
linux·运维·学习
智驱力人工智能2 小时前
高密爆炸警钟长鸣:AI为化工安全戴上“智能护盾”
人工智能·算法·安全·重构·边缘计算·高密爆炸·高密化工厂
毒果3 小时前
网络安全:钓鱼邮件、虚假网站与诈骗信息的预防与应对
安全·web安全·php
mooyuan天天3 小时前
pikachu靶场通关笔记10 XSS关卡06-XSS之盲打
安全·xss·pikachu靶场·xss漏洞·xss盲打