🗺️ FofaMap v2.0 — Platinum Agent Edition

🧠 全网首个支持 MCP 协议 + AI 自我反思机制的红队资产测绘智能体
Self-Reflecting AI Queries → MCP Protocol Integration → Intelligent Vulnerability Scanning

工具下载地址:https://github.com/asaotomo/FofaMap

✨ 一句话介绍

❌ 它不是 FOFA 工具
❌ 也不是 Nuclei 封装
✅ 它是:一个可以被 AI 接管、会自己反思、会自己决策扫描策略的「全网资产测绘智能体」


🚀 v2.0 是什么级别的升级?

FofaMap 从「资产查询工具」→ 进化为 AI Agent(智能体)

🧠 1️⃣ 你只要说人话

python3 fofamap.py -ai "帮我找一下bing.com所有的子域名,并扫描一下"

AI 自动完成:

  • 理解你的意图
  • 生成 FOFA 语法
  • 查询资产
  • 若 0 结果 → 启动 自我反思机制 自动放宽条件重试
  • 分析资产指纹
  • 判断是否值得扫描
  • 自动生成 Nuclei 扫描参数
  • 询问你是否执行

🤖 2️⃣ 会“自我反思”的 AI(核心黑科技)

不再出现:0 Results

AI 会自动:

  • 判断:
    • 是否地区条件过严?
    • 是否关键词不合理?
    • 是否语法太死?
  • 自动:
    • 放宽条件
    • 重写语法
    • 多策略重试
  • 直到:尽量给你产出结果

🔌 3️⃣ 原生 MCP 支持(给 AI / Agent 用)

支持:Claude Desktop / Cursor / 自建 Agent

你可以直接对 AI 说:

「调用 FofaMap,帮我分析最近致远 OA 的风险态势」

AI 会:

自动调用 FofaMap → 自动跑任务 → 自动总结报告

  • Cursor调用效果

  • LM Stuido调用效果


🎯 4️⃣ 看人下菜的“智能扫描决策”

AI 会根据资产指纹:

发现 自动推荐
Spring -tags spring
WebLogic -tags weblogic
ThinkPHP -tags thinkphp
Struts2 -tags struts

❌ 不再无脑全量扫
✅ 每一次扫描都是 有脑子的精准打击


🧩 谁适合用?

  • 🧑‍💻 安全小白:

会说一句话就能用

  • 🛡️ SRC / 红队:

批量资产 + 自动化挖洞 + 自动报告

  • 🤖 AI Agent 开发者:

直接当「安全能力插件」

  • 🏗️ 平台开发者:

可嵌入到攻防平台 / 资产平台 / 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

🛠️ 安装

1️⃣ 环境

Python >= 3.10
git clone https://github.com/asaotomo/FofaMap.git
cd FofaMap
pip3 install -r requirements.txt

python3 fofamap.py --help #查看工具用法


2️⃣ 初始化配置(✨ 向导模式)

python3 fofamap.py init

自动引导你填写:

  • FOFA Email / Key
  • 使用的 AI(DeepSeek / OpenAI / Ollama / LMStudio)
  • 默认模型名称

配置保存至:

config/settings.yaml


3️⃣ 配置 Nuclei(可选)

如需漏洞扫描:

  • 确保 nuclei 在 PATH 中
nuclei -version  #输入此命令查看是否添加成功

  • 或下载nuclei二进制文件后直接放入项目根目录
https://github.com/projectdiscovery/nuclei/releases ## nuclei 扫描器官方下载地址,注意要下载对应自己操作系统版本的二进制文件


⚙️ 配置文件详解(config/settings.yaml)

#====== 用户信息 (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)

💻 使用方法


🧙 模式一:交互式任务向导模式(✨ 新手 & 日常首选)

💡 什么参数都不用记,只要运行:

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. 🚪 退出程序

🎯 这个模式适合谁?

  • ✅ 不想记命令参数的人
  • ✅ 第一次使用的新手
  • ✅ 日常使用 / 演示 / 培训 / 快速操作
  • ✅ 所有“我只想点一下跑任务”的场景

🧠 向导模式能做什么?

你可以通过方向键选择:

1️⃣ 🔮 AI 智能侦察(⭐ 强烈推荐)

直接输入一句话:

我收集一下美国哈佛大学的子域名网站,并扫描一下

系统将自动:

  • AI 理解意图
  • 自动生成 FOFA 语法
  • 自动查询
  • 自动反思(0 结果会重试)
  • 自动判断是否扫描
  • 自动生成扫描参数
  • 自动生成报告


2️⃣ 🔍 FOFA 标准查询

使用FOFA查询语句查询数据

app="ThinkPHP" && country="CN"


3️⃣ 🖥️ Host 聚合查询(AI 深度画像)

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

8.8.8.8 / baidu.com 


4️⃣ 📊 统计聚合查询(AI 态势分析)

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

app="redis"


5️⃣ 🖼️ Icon Hash 查询

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

https://www.bing.com


6️⃣ 📁 批量文件查询

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

114.114.114.114
www.baidu.com
app="kafka"

🔮 模式二:经典模式( 老用户推荐)

1️⃣ AI查询模式

python3 fofamap.py -ai "帮我收集一下美国哈佛大学的子域名网站,并扫描一下"

2️⃣ 基础查询

python3 fofamap.py -q 'app="ThinkPHP" && country="CN"'

3️⃣ Host 深度画像(AI 报告)

python3 fofamap.py -hq 8.8.8.8

4️⃣ 统计聚合(AI 态势解读)

python3 fofamap.py -cq 'app="redis"' -f country,org

5️⃣ 图标 Hash 查询

python3 fofamap.py -ico https://www.bing.com

6️⃣ 批量查询

python3 fofamap.py -bq targets.txt

🔌 模式三:MCP 服务(🔥 给 AI / Agent 用)

1️⃣ 集成到 Cursor (最推荐,体验丝滑)

Cursor 对 MCP 的支持非常完善,配置好后,你可以直接在 Composer (Ctrl+I) 或 Chat (Ctrl+L) 中用自然语言调用工具。

  1. 打开 Cursor Settings (点击右上角齿轮)。

  1. 在左侧菜单找到 Tools & MCP

  1. 点击 + Add New MCP Server

  1. 填写mcp.json配置信息:
    • Name: fofamap-v2 (随便起)
    • Type: command (或者叫 Stdio)
    • Command: 你的Python解释器绝对路径(若写入环境变量可以直接填python)
      • 例如:python3.10
    • Args: 你的脚本绝对路径
      • 例如:/Users/ka/Downloads/fofamap/fofa/mcp_server.py

  1. 点击 Save
    • 此时你会看到一个 绿色的圆点 🟢,状态显示 Connected

- 如果显示红色,点击刷新图标,或者去 Cursor 的 `Output` -> `MCP Log` 或者是我们刚才修好的 `Log` 窗口看报错。

👉 如何使用: 打开 Cursor Chat (Ctrl+L),直接输入:

“帮我查一下 baidu.com 的资产信息,并检查是否有存活。”

Cursor 会自动分析意图,并在界面上显示 Using tool: search_assets...


2️⃣ 集成到 LM Studio (本地模型)

LM Studio 0.3.0+ 版本开始支持 MCP。这允许你用本地的 DeepSeek 或 Llama 3 调用你的工具。

  1. 打开 LM Studio
  2. 点击对话框中的 MCP (插头图标)
  3. 点击Install按钮
  4. 选择Edit mcp.json

  1. 填写配置:
    • Name: fofamap-v2
    • Command: 你的Python解释器绝对路径
    • Args: 你的脚本绝对路径 (注意:LM Studio 有时需要把 args 分开填,或者填在一个框里,视版本而定)。
      • 建议形式: ["/Users/ka/.../mcp_server.py"]

  1. 点击 Save

👉 如何使用:

  1. Chat 界面。
  2. 加载一个支持 Tool Calling 的模型(推荐 openai/gpt-oss-20bQwen 2.5 7B Instruct,或者是 LM Studio 里的 DeepSeek R1/V3)。
  3. 在聊天框上方的 Tools 下拉菜单中,勾选 mcp/fofamap-v2

  1. 输入提示词:“帮我查一下Nginx在美国的分布情况···”


☢️ 漏洞扫描联动(Nuclei)

在2.0版本中AI 会根据查询结果智能生成Nuclei漏洞扫描命令参数:

[AI] 推荐命令: nuclei -tags spring -severity critical,high

> 🚀 执行
> ✏️ 修改
> 🚫 仅生成报告

📂 结果输出结构

results/
└── domain__harvard_edu_____country__US_20260108_173107
    ├── batch_merge_20260108_173107.xlsx
    ├── nuclei_result_20260108_173107.txt
    ├── report_20260108_173107.md
    └── targets_20260108_173107.txt

🛡️ 免责声明

  • 本工具仅面向合法授权的企业安全建设行为(如内部攻防演练、资产管理)。
  • 在使用本工具进行检测时,您应确保该行为符合当地法律法规,并已取得目标所有者的授权。
  • 禁止用于任何非法用途。如您在使用本工具的过程中存在非法行为,您需自行承担相应后果,开发者不承担任何法律责任。

FofaMap-V2.0由Hx0战队开发维护

image

特别鸣谢~渊龙Sec团队

image

特别鸣谢~FOFA官方

FoFaMap 已加入 FOFA 共创者计划,感谢 FOFA 提供的账号支持。

image

【战队公众号】扫描关注战队公众号,获取最新动态

image
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐