by asaotomo
FofaMap v2.0 是一款基于 Python3 开发的全网首个 AI 驱动红队资产测绘智能体。在延续原有 FOFA 数据采集、存活检测、统计聚合、图标 Hash 及批量查询等核心功能的基础上,2.0 版本原生支持 MCP 协议,可无缝接入 Cursor、Claude 等 AI 平台。其核心内置了 AI 自我反思机制,能根据查询结果自动调优语法,并智能联动 Nuclei 推荐精准扫描策略,实现从“被动采集”到“主动智能决策”的红队作业进化。
# Add to your Claude Code skills
git clone https://github.com/asaotomo/FofaMap🧠 全网首个支持 MCP 协议 + AI 自我反思机制的红队资产测绘智能体
Self-Reflecting AI Queries → MCP Protocol Integration → Intelligent Vulnerability Scanning
❌ 它不是 FOFA 工具
❌ 也不是 Nuclei 封装
✅ 它是:一个可以被 AI 接管、会自己反思、会自己决策扫描策略的「全网资产测绘智能体」
目前fofamapv2.0版本已作为 Skill 上线 ClawHub 技能商城,您可通过以下命令安装,让您的 AI 助手(“龙虾”)也能使用资产测绘:
clawhub install fofamap
FofaMap 从「资产查询工具」→ 进化为 AI Agent(智能体)
python3 fofamap.py -ai "帮我找一下bing.com所有的子域名,并扫描一下"
AI 自动完成:
不再出现:
0 Results
No comments yet. Be the first to share your thoughts!
AI 会自动:
支持:Claude Desktop / Cursor / 自建 Agent
你可以直接对 AI 说:
「调用 FofaMap,帮我分析最近致远 OA 的风险态势」
AI 会:
自动调用 FofaMap → 自动跑任务 → 自动总结报告




AI 会根据资产指纹:
| 发现 | 自动推荐 |
| --- | --- |
| Spring | -tags spring |
| WebLogic | -tags weblogic |
| ThinkPHP | -tags thinkphp |
| Struts2 | -tags struts |
❌ 不再无脑全量扫
✅ 每一次扫描都是 有脑子的精准打击
会说一句话就能用
批量资产 + 自动化挖洞 + 自动报告
直接当「安全能力插件」
可嵌入到攻防平台 / 资产平台 / SOC
.
├── config/
│ ├── __init__.py # ✅ 负责读取 yaml 并导出 settings 对象
│ └── settings.yaml # ⭐ 全局配置(FOFA / AI / 系统)
│
├── core/ # 🧠 核心引擎层
│ ├── ai.py # AI Agent 中枢(意图 / 反思 / 决策 / 总结)
│ ├── client.py # FOFA API 封装
│ ├── core.py # 主工作流调度器
│ ├── excel.py # Excel 报告导出
│ ├── handler.py # CLI / MCP 入口分发
│ └── scanner.py # Nuclei 智能联动
│
├── utils/
│ ├── helpers.py # 通用工具函数
│ ├── logger.py # 日志系统
│ └── printer.py # 终端富文本输出
│
├── fofamap.py # 🚀 CLI 主入口(一切从这里开始)
├── mcp_server.py # 🔌 MCP Server(给 AI 调用)
├── results/ # 📂 所有任务项目目录
├── requirements.txt
└── README.md
Python >= 3.10
git clone https://github.com/asaotomo/FofaMap.git
cd FofaMap
pip3 install -r requirements.txt

python3 fofamap.py --help #查看工具用法
python3 fofamap.py init
自动引导你填写:
配置保存至:
config/settings.yaml

如需漏洞扫描:
nuclei 在 PATH 中nuclei -version #输入此命令查看是否添加成功

https://github.com/projectdiscovery/nuclei/releases ## nuclei 扫描器官方下载地址,注意要下载对应自己操作系统版本的二进制文件

#====== 用户信息 (User Info) ======
userinfo:
# [基础] FOFA 凭证
email: "your_email@example.com"
key: "your_fofa_api_key"
# [进阶] AI 模型配置 (支持 DeepSeek/OpenAI/Ollama 等)
deepseek_api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
# 场景 A: 使用官方 DeepSeek
api_type: "deepseek"
base_url: "https://api.deepseek.com/v1"
model: "deepseek-chat"
# 场景 B: 使用本地 Ollama (注释掉上方,启用下方)
# api_type: "ollama"
# base_url: "http://localhost:11434/v1"
# model: "qwen2.5:7b"
# ====== 搜索设置 (Search Settings) ======
search:
fields: "host,protocol,ip,port,title,domain,country,icp"
size: 100
full: false # 设为 true 可查询一年前的数据
start_page: 1
end_page: 5 # 自动爬取前 5 页
# ====== 性能与输出 (System) ======
system:
logger: true
sheet_merge: true
concurrency: 15 # 建议根据网络状况调整 (10-50)
export_format: "xlsx" # 支持 xlsx / csv
output_dir: "results" # 默认输出目录
💡 什么参数都不用记,只要运行:
python3 fofamap.py
或:
python fofamap.py
即可进入 AI 驱动的交互式任务向导界面:
________ ____ __ ___
/ ____/ /_ __/ __/___ _ / |/ /___ _____
/ /_ / __ \/ / /_/ __ `/ / /|_/ / __ `/ __ \
/ __/ / /_/ / / __/ /_/ / / / / / /_/ / /_/ /
/_/ \____/_/_/ \__,_/ /_/ /_/\__,_/ .___/
/_/ v2.0
[ AI Powered & Interactive Wizard ] -- By Hx0 Team
[!] 启动任务向导...
? 请选择您要执行的操作:
» 1. 🔮 AI 智能侦察 (自然语言 -> 自动决策)
2. 🔍 FOFA 标准查询 (语法输入)
3. 🖥️ Host 聚合查询 (IP/域名详情)
4. 📊 统计聚合查询 (数据分布分析)
5. 🖼️ Icon Hash 查询 (favicon 逆向)
6. 📁 批量文件查询 (TXT 批量指令)
---------------
0. 🚪 退出程序
你可以通过方向键选择:
直接输入一句话:
我收集一下美国哈佛大学的子域名网站,并扫描一下
系统将自动:



使用FOFA查询语句查询数据
app="ThinkPHP" && country="CN"

根据当前的查询内容,生成聚合信息,host通常是ip,包含基础信息和IP标签。
8.8.8.8 / baidu.com

根据当前的查询内容,生成全球统计信息,当前可统计每个字段的前5排名。
app="redis"

用户可通过填入任意一网站地址,系统会自动获取该网站的favicon.ico图标文件,并计算其hash值,并查找与此图标相似的网站。
https://www.bing.com

批量查询,用户可新建一个记事本文件,如targets.txt,然后将准备查询的fofa语句写入其中,输入文件路径(若放在工具根目录可以直接输入文件名称)即可进行批量查询。
114.114.114.114
www.baidu.com
app="kafka"

python3 fofamap.py -ai "帮我收集一下美国哈佛大学的子域名网站,并扫描一下"
如果用户想要使用fofa联合查询语句,例如:app="grafana" && country="US"。
Linux和macOS用户直接使用python3 fofamap.py -q 'app="grafana" && country="US"'即可成功查询。
Windows用户因为系统原因,需要使用python3 fofamap.py -q "app="ThinkPHP" && country="CN""系统才可成功识别,即Windows用户需要对查询命令内部的"使用\进行转义,否则系统识别错误。
python3 fofamap.py -q 'app="ThinkPHP" && country="CN"'
用户使用Host聚合查询模式时,系统可以根据当前的查询内容,生成聚合信息,host通常是ip,包含基础信息和IP标签。
python3 fofamap.py -hq 8.8.8.8
使用统计聚合功能,可以根据当前的查询内容,生成全球统计信息,当前可统计每个字段的前5排名。例如,我们使用下列命令统计全球范围内使用Redis应用的Top5国家。其中-cq为查询内容,-f为需要统计聚合的字段,默认为title,可按照示例配置多个字段 fields=country,protocol,domain,port。详细用法见FOFA API 官方文档
python3 fofamap.py -cq 'app="redis"' -f country,org