ffufai
ffufai 是一款为知名 Web 模糊测试工具 ffuf 打造的智能增强外壳。它巧妙地将人工智能引入安全测试流程,能够根据目标网址及其响应头信息,自动分析并推荐最相关的文件扩展名(如 .php、.json 等),从而优化模糊测试的字典构建。
在传统测试中,安全人员往往需要手动猜测或依赖固定列表来确定文件后缀,这不仅耗时且容易遗漏关键路径。ffufai 通过调用 OpenAI 的 GPT 或 Anthropic 的 Claude 大模型,动态生成针对性的扩展名建议,有效解决了盲目测试效率低下的痛点,让扫描更加精准高效。
这款工具特别适合网络安全研究人员、渗透测试工程师以及 DevSecOps 开发者使用。其独特亮点在于无缝兼容原有 ffuf 的所有参数与功能,用户无需改变操作习惯,只需简单替换命令即可享受 AI 赋能的红利。同时,它支持灵活配置最大推荐数量及本地 ffuf 路径,兼顾了自动化智能与专业用户的定制化需求,是提升 Web 资产探测效率的得力助手。
使用场景
安全研究员小林正在对一家金融客户的遗留系统进行黑盒测试,急需快速发现隐藏在非标准路径下的敏感接口。
没有 ffufai 时
- 盲目猜测扩展名:面对未知的后端架构,只能凭经验手动尝试
.php,.asp,.jsp等常见后缀,极易遗漏如.do,.action或特定框架的私有扩展名。 - 准备耗时过长:在正式 fuzzing 前,需要花费大量时间分析 HTTP 响应头、搜索技术栈指纹,并人工定制专属的扩展名字典。
- 漏报风险高:由于字典覆盖不全或判断失误,导致关键的备份文件(如
.bak,.old)或配置文件被忽略,给后续渗透留下盲区。 - 重复劳动频繁:每遇到一个新的目标域名,都要重新经历一遍“分析 - 选词 - 组合”的繁琐过程,无法实现自动化流转。
使用 ffufai 后
- 智能精准推荐:ffufai 自动分析目标 URL 特征及响应头,利用 AI 实时推断出最可能的 4-6 个文件扩展名,无需人工干预。
- 即开即用高效:只需将命令中的
ffuf替换为ffufai,工具即刻生成包含智能扩展名的完整 fuzzing 指令,将准备时间从小时级缩短至秒级。 - 覆盖深度提升:AI 模型能识别冷门框架特征,自动补充传统字典中缺失的特殊后缀,显著降低了关键资产漏报的概率。
- 流程无缝集成:完美继承所有 ffuf 原有参数,小林无需改变现有的测试习惯,即可在复杂场景中直接获得增强版的扫描能力。
ffufai 通过将 AI 的上下文理解能力注入传统模糊测试,把依赖经验的“猜谜游戏”升级为数据驱动的精准打击。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
ffufai
ffufai 是一个基于人工智能的封装工具,用于流行的 Web 模糊测试工具 ffuf。它可以根据目标 URL 及其 HTTP 头信息,自动建议适合模糊测试的文件扩展名,支持使用 OpenAI 的 GPT 或 Anthropic 的 Claude AI 模型。
特性
- 与 ffuf 无缝集成
- 自动建议相关的文件扩展名用于模糊测试
- 支持 OpenAI 和 Anthropic 的 AI 模型
- 传递所有 ffuf 参数
先决条件
- Python 3.6+
- ffuf(已安装并可在 PATH 中访问)
- OpenAI API 密钥或 Anthropic API 密钥
安装
克隆本仓库:
git clone https://github.com/jthack/ffufai cd ffufai安装所需的 Python 包:
pip install requests openai anthropic将脚本设置为可执行:
chmod +x ffufai.py(可选)若想在任何地方使用 ffufai,可以在 PATH 路径下的目录中创建一个符号链接。例如:
sudo ln -s /full/path/to/ffufai.py /usr/local/bin/ffufai请将“/full/path/to/ffufai.py”替换为你克隆仓库的实际完整路径。
将 API 密钥设置为环境变量: 对于 OpenAI:
export OPENAI_API_KEY='your-api-key-here'或者对于 Anthropic:
export ANTHROPIC_API_KEY='your-api-key-here'你可以将这些行添加到
~/.bashrc或~/.zshrc文件中,使其永久生效。
使用方法
使用 ffufai 的方式与使用 ffuf 相同,只需将 ffuf 替换为 python3 ffufai.py(如果你已创建符号链接,则直接使用 ffufai):
python3 ffufai.py -u https://example.com/FUZZ -w /path/to/wordlist.txt
或者如果你已创建符号链接:
ffufai -u https://example.com/FUZZ -w /path/to/wordlist.txt
ffufai 会根据 URL 自动建议扩展名,并将其添加到 ffuf 命令中。
参数
ffufai 接受 ffuf 的所有参数,此外还提供了一些额外的选项:
--ffuf-path:指定 ffuf 可执行文件的路径。默认值为 'ffuf'。 示例:ffufai --ffuf-path /usr/local/bin/ffuf -u https://example.com/FUZZ -w wordlist.txt--max-extensions:设置建议的最大扩展名数量。默认值为 4。 示例:ffufai --max-extensions 6 -u https://example.com/FUZZ -w wordlist.txt-u:指定目标 URL。此参数为必填项,且需包含 FUZZ 关键字。 示例:ffufai -u https://example.com/FUZZ -w wordlist.txt-w:指定用于模糊测试的单词列表。这是 ffuf 的标准参数。 示例:ffufai -u https://example.com/FUZZ -w /path/to/wordlist.txt
其他所有 ffuf 参数均可正常使用。有关 ffuf 参数的完整列表,请参阅 ffuf 文档。
注意事项
- ffufai 需要将 FUZZ 关键字放在 URL 路径的末尾,以便准确地建议扩展名。如果未按此要求,工具会发出警告。
- 所有 ffuf 参数都会被传递给 ffuf,因此你可以将任何 ffuf 选项与 ffufai 一起使用。
- 如果同时设置了 OpenAI 和 Anthropic 的 API 密钥,ffufai 会优先使用 OpenAI 的密钥。
特别鸣谢 zlz,又名 Sam Curry,提出了这个项目的绝妙想法。他提出建议后仅两小时,这个项目就诞生了 :)
故障排除
- 如果遇到“命令未找到”的错误,请确保你使用的是
python3 ffufai.py,或者已正确设置了符号链接。 - 如果出现 API 密钥错误,请确认你已正确设置了
OPENAI_API_KEY或ANTHROPIC_API_KEY环境变量。 - 如果看到“import: command not found”错误,说明脚本正在被 shell 解释,而不是 Python 解释。请确保你使用
python3 ffufai.py运行脚本,或者检查脚本顶部的 shebang 行是否正确。
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
spec-kit
Spec Kit 是一款专为提升软件开发效率而设计的开源工具包,旨在帮助团队快速落地“规格驱动开发”(Spec-Driven Development)模式。传统开发中,需求文档往往与代码实现脱节,导致沟通成本高且结果不可控;而 Spec Kit 通过将规格说明书转化为可执行的指令,让 AI 直接依据明确的业务场景生成高质量代码,从而减少从零开始的随意编码,确保产出结果的可预测性。 该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程,用户只需通过简单的命令行操作,即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念,支持社区扩展与预设模板,允许用户根据特定技术栈定制开发流程。此外,Spec Kit 强调官方维护的安全性,提供稳定的版本管理,帮助开发者在享受 AI 红利的同时,依然牢牢掌握架构设计的主动权,真正实现从“凭感觉写代码”到“按规格建系统”的转变。