Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ferret — 协作式 Web 应用渗透测试套件 | Kitploit
工具/GitHubGitHub/synlace/ferret
侦察动态分析 (沙盒)漏洞分析Web代理与拦截API安全测试信息收集Web安全渗透测试AI 安全
GitHubsynlace/ferret

ferret

协作式 Web 应用渗透测试套件

查看仓库
57331个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Ferret

Ferret

面向安全测试人员的协作式 MITM 代理。

从统一界面捕获 HTTP 流量、使用 AI 为请求添加注解、运行 hunt 会话、重放流量并跟踪发现项。

Latest Release Discord License: MIT Build Status Docker on GHCR GitHub Stars

快速开始 · 功能特性 · 截图 · 配置 · 安全 · 参与贡献


快速开始

安装

root@kitploit:~
git clone https://github.com/synlace/ferret.git
cd ferret

cp .env.example .env   # optional
just up

或者直接使用 Docker Compose:

root@kitploit:~
docker compose up --build -d

打开 Ferret

服务URL
UIhttp://localhost:3000
APIhttp://localhost:8000
代理127.0.0.1:1337

打开:

root@kitploit:~
http://localhost:3000

首次运行的设置向导会要求你设置密码并选择 AI 提供商。

环境要求

  • Docker
  • Docker Compose
  • just

概述

Ferret 是一个面向安全测试人员的 AI 辅助 HTTP 拦截代理。

将浏览器、CLI 工具或测试工作流指向:

root@kitploit:~
127.0.0.1:1337

Ferret 捕获请求和响应,在本地存储,用 AI 为流量添加注解,并提供工具用于重放、修改、测试以及将有趣的行为转化为发现项。

它的设计目标是支持这样的工作流:你想要的不仅仅是被动代理,而是一个能帮助你在过程中思考、测试和记录的工具。


功能特性


截图

Hunts

Hunts - AI 辅助的 hunt 会话,可搜索请求历史、编写并运行测试、创建发现项。


History

History - 完整的代理请求日志,包含 AI 注解、耗时、状态码以及内联的请求/响应编辑器。


Findings

Findings - 漏洞跟踪器,包含严重性、主机、类型、AI 生成的描述和证据片段。


Settings

Settings - 管理 CA 证书、密码、2FA、AI 提供商、API 密钥和代理状态。


Setup

设置向导 - 首次运行时创建密码并配置 AI 提供商。


使用代理

将浏览器、CLI 工具或测试客户端配置为使用:

root@kitploit:~
HTTP proxy:  127.0.0.1:1337
HTTPS proxy: 127.0.0.1:1337

对于 HTTPS 拦截,请从 Settings 页面下载并安装 mitmproxy CA 证书。


身份验证

Ferret 在每次安装时都要求进行身份验证。

浏览器登录

  1. 首次打开 UI。
  2. 在设置向导中设置密码。
  3. 完成 AI 提供商设置。
  4. 在 /login 登录。
  5. Ferret 会签发一个 24 小时的 HttpOnly SameSite=Strict 会话 Cookie。

双因素认证

可在 Settings 页面启用基于 TOTP 的 2FA。

启用后,登录时需要提供有效的验证器验证码。

API 访问

在 .env 中设置静态 API 密钥:

root@kitploit:~
FERRET_API_KEY=your-random-secret

然后将其用作 Bearer 令牌:

root@kitploit:~
curl -H "Authorization: Bearer your-random-secret" \
  http://localhost:8000/api/requests

会话 Cookie 和 Bearer 令牌会被独立检查。


配置

将 .env.example 复制为 .env 以预配置 Ferret。

大多数 AI 提供商设置也可以在设置向导中配置。


支持的 AI 提供商

提供商设置可在首次运行向导中完成。


just 命令


架构

root@kitploit:~
Browser / tool
      │
      ▼
127.0.0.1:1337
      │
      ▼
ferret-api :8000 / :1337
FastAPI + mitmproxy + SQLite
      │
      ├── docker exec
      ▼
ferret-lab
pytest, ffuf, sqlmap, scripts, tests, notes
      │
      ▼
ferret-ui :3000
Next.js

所有持久化数据存储于:

root@kitploit:~
${FERRET_DATA_DIR:-./data}

Ferret 使用绑定挂载,而不是命名 Docker 卷。


重置 Ferret

要清空本地状态并重新启动设置向导:

root@kitploit:~
just reset

这会删除本地数据库,包括凭据。

你还可以在通过身份验证后通过 API 重置设置:

root@kitploit:~
curl -X DELETE \
  -H "Authorization: Bearer your-random-secret" \
  http://localhost:8000/api/setup

开发

如需热重载的本地 UI 开发:

root@kitploit:~
just dev

这会在 Docker 中运行 API 和 lab 容器,同时通过 npm run dev 在宿主机上提供 UI。此模式要求宿主机安装 Node.js。

运行测试:

root@kitploit:~
just test api    # API unit tests (inside the running api container)
just test ui     # Playwright UI tests (auto-starts Next.js dev server + mock API)
just test shim   # docker-shim allow/block unit tests (no Docker needed)
just test all    # run all three suites in sequence

安全

Ferret 专为本地安全测试工作流而设计,并未针对公网暴露进行加固。

风险

在将 Ferret 暴露到 localhost 之外之前,请了解以下内容:

风险详情
代理流量代理会捕获经过它的所有 HTTP/HTTPS 流量,包括凭据。
API 暴露API 会暴露请求历史、发现项和工作区文件。
Lab 执行lab 容器可以代表你执行测试工具。
凭据API 密钥和 AI 提供商凭据存储在本地,应视为机密。

请使用强密码,并在 Settings 页面启用 2FA。

报告漏洞

请勿针对安全漏洞开启公开 issue。

完整披露政策和报告说明请参阅 .github/SECURITY.md。

已披露报告

修复可用后,过去的披露会在 security/ 中发布。

致谢

感谢以下研究人员负责任地披露安全问题:

研究人员问题年份
Trent (@AzureADTrent)DISC-2026-001 - 通过 SSRF + docker-socket-proxy 配置错误导致未认证 RCE2026

参与贡献

Ferret 正在积极开发中。

欢迎提供想法、bug 报告、功能请求和贡献。

想帮助构建它吗?

邮箱:[email protected]


许可证

MIT - 请参阅 LICENSE。

下载工具
功能描述
拦截代理通过 mitmproxy 捕获 HTTP 和 HTTPS 流量。
请求历史浏览、筛选、检查和重放捕获的流量。
AI 注解为请求补充与安全相关的上下文。
Hunts在捕获的流量中运行 AI 辅助的 hunt 会话。
Findings按严重性、主机、类型、证据和状态跟踪漏洞。
Snare在传输过程中拦截并修改请求或响应。
Gnaw用于编辑和重新发送 HTTP 请求的 Repeater 风格标签页。
Workspaces每个会话独立的 scripts/、tests/ 和 notes/ 目录。
Projects隔离的请求历史、发现项、工作区和 API 密钥。
身份验证密码登录、会话 Cookie、可选的 API 密钥访问和 TOTP 2FA。
本地优先存储基于 SQLite 的数据存储于本地绑定挂载目录中。
变量默认值描述
FERRET_API_KEY-用于以编程方式访问 API 的静态 Bearer 令牌
OPENROUTER_MODELgoogle/gemini-3-flash-preview默认 OpenRouter 模型
PROXY_HOST0.0.0.0代理绑定地址
PROXY_PORT1337代理端口
UI_PORT3000UI 端口
FERRET_DATA_DIR./data持久化数据目录
NEXT_PUBLIC_API_URLhttp://localhost:8000浏览器使用的 API URL
NEXT_PUBLIC_SIGINT_URL-可选的 SIGINT/新闻源 JSON URL
提供商类型
OpenRouter云 - 统一 API,支持众多模型
OpenAI云 - GPT-4o、o1 等
Anthropic云 - Claude 模型
Gemini云 - Google Gemini 模型
DeepSeek云 - DeepSeek 模型
Mistral云 - Mistral 模型
Ollama本地 - 在你自己的机器上运行模型
LM Studio本地 - 在你自己的机器上运行模型
命令描述
just up从 GHCR 拉取预构建镜像并启动所有服务
just down停止所有服务
just dev在 Docker 中运行 API/lab,并在宿主机上热重载 UI(需要 Node.js)
just logs跟踪服务日志
just test api运行 API 单元测试(在正在运行的 api 容器内)
just test ui运行 Playwright UI 测试
just test shim运行 docker-shim 允许/阻止单元测试(无需 Docker)
just test all按顺序运行所有测试套件
just reset清空本地数据库
just shell在 lab 容器中打开 shell