
【免费下载链接】FofaMap一款证据驱动的 FOFA 资产测绘智能体支持自然语言侦察、AI 反思、CLI / MCP / Skill / REST API以及经人工审批的 Nuclei 扫描。项目地址https://gitcode.com/gh_mirrors/fo/FofaMap点击查看免费下载FofaMap 是一款证据驱动的 FOFA 资产测绘智能体一句话自然语言即可完成资产查询、AI 自我反思重试、Nuclei 漏洞扫描与报告生成并支持 CLI 命令行、交互式向导、MCP 协议等多种调用方式。本文带你逐层拆解它的平台级架构看懂一个小型 Python 项目如何从查询工具进化为结构清晰的 AI Agent。 FofaMap 是什么重新定义资产测绘工具很多人把资产测绘理解为写 FOFA 查询语句 → 导出结果表格。FofaMap 打破了这种认知它不是 FOFA 查询封装也不是 Nuclei 扫描器的壳而是一个可以被 AI 接管、会自我反思、会自主决策扫描策略的「全网资产测绘智能体」。它的核心运行回路是这样的意图理解把帮我找 bing.com 所有子域名并扫描一下翻译成 FOFA 语法资产查询调用 FOFA API 分页拉取真实资产自我反思查询结果为 0 时AI 自动分析原因、放宽条件、重写语法并重试证据驱动决策基于查到的资产指纹推荐 Nuclei 扫描参数经人工确认后执行报告生成汇总资产与扫描结果自动产出综合安全评估报告。对应到代码上它有两个面孔fofamap.py 是给人用的 CLI 入口mcp_server.py 是给 Cursor、LM Studio 等 AI 客户端用的 MCP 服务入口。 项目目录总览平台级架构分层设计整个项目只有 3 个目录 2 个入口文件但分层非常清晰. ├── config/ │ ├── __init__.py # Pydantic 数据模型 settings 加载 │ └── settings.yaml # 全局配置FOFA / AI / 搜索 / 系统 ├── core/ # 核心引擎层 │ ├── ai.py # AI Agent 大脑意图/反思/决策/报告 │ ├── client.py # FOFA API 异步封装 │ ├── core.py # 早期版客户端历史参考 │ ├── excel.py # xlsx / CSV 报告导出 │ ├── handler.py # 主工作流调度器 │ └── scanner.py # Nuclei 智能联动 ├── utils/ │ ├── helpers.py # Icon Hash 计算、存活检测 │ ├── logger.py # 控制台 文件双通道日志 │ └── printer.py # Rich 表格终端渲染 ├── fofamap.py # CLI 主入口 ├── mcp_server.py # MCP Server给 AI 调用 ├── requirements.txt └── README.md换个分层视角来看各层职责一目了然层级代码位置职责入口层fofamap.py / mcp_server.pyCLI 参数解析、交互式向导、MCP 工具注册调度层core/handler.pyFofaHandler编排整个任务流水线能力层core/client.py / core/ai.py / core/scanner.pyFOFA API、AI 决策、漏洞扫描输出层core/excel.py / utils/printer.pyExcel/CSV 导出、终端富文本渲染配置层config/__init__.pyPydantic 校验 全局 settings 单例⚙️ 配置层Pydantic 数据模型与多模型 AI 支持config/__init__.py 是项目里最有工程感的部分之一用Pydantic定义了UserInfo、SearchConfig、FastCheckConfig、SystemConfig四个数据模型聚合为Config加载 config/settings.yaml 时做一次类型校验然后导出全局 settings 单例——项目中所有模块直接引用settings不再各自碰原始 YAML。其中userinfo部分还藏着一个贴心设计除 FOFA 账号凭证外还有api_type、base_url、model三个字段让 AI 能力可以在以下环境间无缝切换DeepSeek 官方 APIOpenAI 兼容接口本地 Ollama / LM Studio 给新手的启示配置在入口处校验 单例化字段拼错、类型错误会立刻报错而不是运行到一半才悄悄失效。 核心调度层FofaHandler 主工作流如何运转core/handler.py 中的 FofaHandler 是整个项目的总参谋部。它初始化时手握四个组件FofaClient通往 FOFA 的数据通道ExcelExporter结果导出NucleiScanner扫描引擎DeepSeekHandlerAI 大脑最核心的方法是 run_search_task它把整条流水线串了起来分页查询按查询语句逐页拉取 FOFA 数据零结果检测跟踪连续失败次数达到阈值就调用 AI 反思生成新查询语句并追加到队列存活检测FastChecker并发探测 HTTP 存活结果追加为状态码列关键词过滤支持包含关键词搜索 状态码保留两层筛选增量导出每批结果合并写入同一个 Excel由sheet_merge开关控制扫描决策AI 给出推荐 Nuclei 参数后弹出执行 / 修改参数 / 仅生成报告菜单由人工审批报告生成扫描完成后由 AI 汇总生成综合安全评估报告。 这就是证据驱动的关键每一次扫描都基于真实查到的资产与指纹而不是无脑全量扫。另外core/core.py 是早期版本的简化客户端仅登录校验与基础搜索保留作历史参考新工作流全部走client.py。 AI Agent 大脑core/ai.py 的五个关键能力core/ai.py 中的 DeepSeekHandler 是 FofaMap v2.0 的灵魂。它基于 OpenAI 兼容的异步接口所以 DeepSeek / Ollama / LM Studio 都能接七个方法对应五类 Agent 能力方法作用对应 Agent 能力strategic_planning意图理解 动作路由决定把一句话需求发往哪条执行路径reflect_and_retry失败反思、放宽重试自我反思机制告别 0 Resultsgenerate_summary资产画像 推荐 Nuclei 参数看证据做扫描决策analyze_host_risk/analyze_stat_trends单体画像 / 全球态势分析分析师式报告撰写generate_vuln_report汇总扫描结果成报告自动化交付1. 智能路由把一句话拆成 5 种动作strategic_planning 用一套专家级指令集提示词让模型结合用户 VIP 等级返回结构化 JSON并从 5 个动作中做出路由决策fofa_search资产清单默认动作host_query单体 Host 画像stat_query统计聚合icon_query图标 Hash 逆向bat_query批量文件处理CLI 入口随后按action字段执行对应分支见 fofamap.py。模型输出的是机器可读的作战计划而不是一段聊天文本——这是典型的 Agent 设计模式LLM 负责决策程序负责执行。2. 自我反思告别 0 Results触发逻辑在调度层连续查询全部返回 0 条结果时调用 reflect_and_retryAI 会分析失败原因域名后缀猜错地域条件过严语法太死按保守修正 → 模糊匹配 → 极度宽泛三级策略生成 3 条新查询追加到查询队列继续执行全程在终端打印反思原因。3. 人工审批的 Nuclei 扫描AI 只负责生成推荐命令例如nuclei -tags spring -severity critical,high真正的执行权在 handler.py 的交互菜单上执行推荐扫描 / 手动修改参数 / 仅生成报告。无人值守场景可用-batch参数自动确认。这个 Human-in-the-loop 设计是安全工具的安全底线。 数据通道FOFA API 封装的容错设计core/client.py 中的 FofaClient 封装了资产搜索、Host 聚合、统计聚合三个官方接口内置三套容错机制场景处理策略HTTP 429 限流休眠 3 秒重试最多 3 次业务层限流码45012休眠 2 秒重试权限不足码820001自动降级为基础字段集重试其中第三个细节最值得学习FOFA 字段权限与用户 VIP 等级绑定请求越权字段会直接报错。client.py捕获后自动降级到host,ip,port,protocol...基础字段并把实际使用的字段返回给上层上层据此重算列索引——导出的 Excel 表头因此永远不会错位。☢️ 漏洞扫描联动Nuclei 智能执行器core/scanner.py 中的 NucleiScanner 负责资产 → 漏洞的最后一公里二进制定位优先找系统PATH再找项目目录Linux 下自动补执行权限目标准备从资产行中提取合法 HTTP URL 去重写入targets_时间戳.txt异步执行asyncio.create_subprocess_exec启动 Nuclei逐行流式输出并按严重等级着色critical 红 / high 粉 / medium 黄 / low 青实时进度\r回车原地刷新 Nuclei 进度条不打断界面。 MCP 服务把资产测绘能力交给 AI 客户端mcp_server.py 是 FofaMap 平台级的体现多这一个文件整个项目就变成了任何 AI 客户端都能调用的能力集。它基于FastMCP构建对外暴露7 个工具工具能力search_assetsFOFA 资产检索含 VIP 等级感知的字段策略get_host_aggregation单 IP / 域名深度画像get_stats_aggregation全球资产统计聚合calculate_icon_hashFavicon Hash 逆向ai_security_consultant调用 AI 大脑制定战术方案check_assets_alive批量网站存活检测generate_nuclei_command生成扫描命令不在 MCP 内执行三个工程细节值得重点关注协议防污染补丁mcp_server.pyMCP 用 stdout 传输 JSON-RPC 协议帧任何业务print都会污染协议流。FofaMap 在启动时覆盖全局print把所有业务输出强制转向 stderr权限感知search_assets先调用check_login获取vip_level再动态计算默认字段列表避免越权报错扫描只生成、不执行generate_nuclei_command只产出可粘贴执行的命令脚本把执行权留在用户侧。把它接入 Cursor 或 LM Studio只需配置python mcp_server.py的绝对路径之后直接用自然语言下指令即可接入步骤详见 README.md。此外 v2.0 也已作为 Skill 上架 ClawHub 技能商城。 结果输出一个任务一个目录每次任务的所有产物统一收敛到results/下的独立子目录按查询语句 时间戳命名results/ └── domain__harvard_edu__country__US_20260108_173107/ ├── batch_merge_20260108_173107.xlsx # 合并资产表 ├── targets_20260108_173107.txt # 扫描目标列表 ├── nuclei_result_20260108_173107.txt # Nuclei 原始日志 └── report_20260108_173107.md # AI 综合安全评估报告资产、目标、扫描日志、AI 报告一一对应证据链完整可追溯。 快速上手克隆仓库并完成初始化git clone https://gitcode.com/gh_mirrors/fo/FofaMap cd FofaMap pip3 install -r requirements.txt python3 fofamap.py initinit是向导式配置会引导你填写 FOFA Email / Key 与 AI 模型配置写入 config/settings.yaml。完成后不带参数运行python3 fofamap.py进入交互式任务向导6 种模式任选python3 fofamap.py -ai 你的需求直接进入 AI 智能侦察模式。 架构总结一个小项目的平台级设计范式回顾整套代码结构FofaMap 有五点设计非常值得借鉴双入口共享一套核心CLI 与 MCP 复用同一组 core 能力模块新增调用方式成本极低LLM 做决策程序做执行模型只输出结构化 JSON 计划真实 IO 全部由确定性代码完成证据驱动字段选择、扫描参数、报告结论都锚定在真实资产与 VIP 权限之上Human-in-the-loop漏洞扫描等高风险动作始终保留人工审批配置即契约Pydantic 校验 全局单例让配置在整个项目中一次定义、处处可信。FofaMap 由Hx0战队开发维护代码以 MIT 协议开源见 LICENSE。赞分享【免费下载链接】FofaMap一款证据驱动的 FOFA 资产测绘智能体支持自然语言侦察、AI 反思、CLI / MCP / Skill / REST API以及经人工审批的 Nuclei 扫描。项目地址https://gitcode.com/gh_mirrors/fo/FofaMap点击查看免费下载相关推荐Kubescape架构演进从CLI工具到完整安全平台Kubescape架构演进从CLI工具到完整安全平台 Kubescape作为一款开源Kubernetes安全平台其架构演进反映了云原生安全需求的变化。从最初网络安全云原生应用安全运维Z3r0代码架构拆解FastAPI、React工作台与PostgreSQL的四层结构全景Z3r0代码架构拆解FastAPI、React工作台与PostgreSQL的四层结构全景 Z3r0 是一个面向授权渗透测试与漏洞研究的 AI native 红最完整Avalonia项目结构解析从源码到部署的跨平台架构设计最完整Avalonia项目结构解析从源码到部署的跨平台架构设计 你是否正在为.NET跨平台UI开发寻找高效解决方案作为WPF的精神继承者Avalonia凭前端跨平台UI组件桌面应用上一篇极致性能JSON库的系统适配Sonic libc与musl兼容性测试指南下一篇Quickwit架构深度解析解耦存储与计算的创新设计创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考