mcpField
W
wass-mcp

wass-mcp

本地服务
github.com/tb0hdan安全832 周前更新

关于 wass-mcp

WASS-MCP 是用于授权 Web 应用安全测试的 MCP 服务。它整合多种扫描器,支持并行全面扫描,并保存执行历史以供后续查看。

主要功能

  1. 01使用 Nikto 扫描 Web 服务器
  2. 02使用 Nuclei 模板检测漏洞
  3. 03使用 Wapiti 扫描 Web 应用
  4. 04使用 Shcheck 分析安全响应头
  5. 05并行扫描并汇总结果
  6. 06持久保存扫描执行历史

适用场景

  1. 01扫描获准测试的 Web 服务器漏洞
  2. 02检查网站的 HTTP 安全响应头
  3. 03并行运行多个扫描器并查看汇总报告
  4. 04浏览或管理以往扫描结果

MCP 相关

WASS-MCP 通过 Streamable HTTP 向 MCP 客户端提供扫描和历史记录工具,包括各扫描器工具及并行执行的 full_scan。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

WASS-MCP

用于 Web 应用安全扫描的模型上下文协议(MCP)服务。

功能

  • MCP 协议支持 - 完全兼容 MCP 客户端(Claude 等)
  • Nikto 集成 - Web 服务漏洞扫描
  • Nuclei 集成 - 基于模板的漏洞扫描
  • Wapiti 集成 - Web 应用漏洞扫描
  • Shcheck 集成 - 安全标头分析
  • 执行历史记录 - 持久化存储扫描结果
  • 无状态设计 - 服务器重启后仍可正常运行,不会出现会话错误
  • RESTful HTTP 传输 - 基于可流式传输的 HTTP MCP 协议

用法

docker run -p 127.0.0.1:8989:8989 tb0hdan/wass-mcp
MCP 客户端配置

将 WASS-MCP 服务添加到 Claude MCP 客户端的示例命令:

claude mcp add wass-mcp --transport http http://127.0.0.1:8989

或添加到 Gemini:

gemini mcp add wass-mcp --transport http http://127.0.0.1:8989

可用工具

nikto

使用 Nikto 执行 Web 服务漏洞扫描。

参数:

名称类型必填描述
hoststring是目标主机名或 IP 地址
portinteger否目标端口(默认:80)
vhoststring否虚拟主机标头
max_linesinteger否最大输出行数
offsetinteger否输出行偏移量

示例:

{
  "host": "192.168.1.100",
  "port": 443
}
nuclei

使用 Nuclei 执行基于模板的漏洞扫描。

参数:

名称类型必填描述
hoststring是目标主机名或 IP 地址
portinteger否目标端口(默认:80)
vhoststring否虚拟主机标头
max_linesinteger否最大输出行数
offsetinteger否输出行偏移量

检测的漏洞:

  • 通过社区模板检测 CVE
  • 错误配置
  • 暴露的面板/仪表板
  • 默认凭据
  • 技术识别
  • 安全标头分析
  • 以及通过 8000+ 个社区模板检测的更多问题

示例:

{
  "host": "192.168.1.100",
  "port": 443
}
wapiti

使用 Wapiti 执行全面的 Web 应用漏洞扫描。

参数:

名称类型必填描述
hoststring是目标主机名或 IP 地址
portinteger否目标端口(默认:80)
vhoststring否虚拟主机标头
max_linesinteger否最大输出行数
offsetinteger否输出行偏移量

检测的漏洞:

  • SQL 注入 / 盲 SQL 注入
  • 跨站脚本攻击(XSS)
  • 文件包含 / 路径遍历
  • 命令执行
  • CRLF 注入
  • 服务端请求伪造(SSRF)
  • 开放重定向
  • HTTP 安全标头
  • 内容安全策略问题

示例:

{
  "host": "192.168.1.100",
  "port": 8080
}
shcheck_py

使用 shcheck.py 分析 HTTP 安全标头。

参数:

名称类型必填描述
hoststring是目标主机名或 IP 地址
portinteger否目标端口(默认:80)
vhoststring否虚拟主机标头
max_linesinteger否最大输出行数
offsetinteger否输出行偏移量

分析的标头:

  • Content-Security-Policy
  • Strict-Transport-Security
  • X-Frame-Options
  • X-Content-Type-Options
  • Referrer-Policy
  • Permissions-Policy
  • 以及其他与安全相关的标头

示例:

{
  "host": "example.com",
  "port": 443
}
full_scan

使用所有可用扫描器并行执行全面的安全扫描。

参数:

名称类型必填说明
hoststring是目标主机名或 IP 地址
portinteger否目标端口(默认值:80)
vhoststring否虚拟主机标头
max_linesinteger否最大输出行数
offsetinteger否输出行偏移量

功能:

  • 并行运行 nikto、nuclei、wapiti 和 shcheck 扫描器
  • 将结果合并为统一报告
  • 包含每个扫描器的耗时和状态
  • 优雅地处理扫描器二进制文件缺失的情况

示例:

{
  "host": "192.168.1.100",
  "port": 8080
}
history

浏览和管理工具执行历史记录。

参数:

名称类型必填说明
actionstring是可选值:list、get、delete、clear
idinteger适用于 get/delete执行 ID
limitinteger否每页结果数(默认值:10)
offsetinteger否分页偏移量

操作:

  • list - 分页列出执行历史记录
  • get - 获取特定执行的完整详情
  • delete - 根据 ID 删除特定执行记录
  • clear - 删除所有执行历史记录

API 端点

端点说明
POST /mcpMCP 协议端点
GET /服务信息(JSON)
GET /debug/pprof/*性能分析端点

开发和高级用法

源码构建要求
  • Go 1.25+
  • Nikto(apt install nikto 或等效命令)
  • Nuclei(go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest)
  • Wapiti(apt install wapiti 或等效命令)
  • Shcheck(pip install shcheck 或从 GitHub 获取)
  • SQLite3
# Clone the repository
git clone https://github.com/tb0hdan/wass-mcp.git
cd wass-mcp

# Build
make build

# Run
./build/wass-mcp
启动服务
# Default (localhost:8989)
./build/wass-mcp

# Custom bind address
./build/wass-mcp --bind 0.0.0.0:8080

# Custom database path
./build/wass-mcp --db /var/lib/wass-mcp/data.db

# Debug mode
./build/wass-mcp --debug
配置选项
标志默认值说明
--bindlocalhost:8989HTTP 服务绑定地址
--db./wass-mcp.dbSQLite 数据库文件路径
--debugfalse启用调试日志
--version-输出版本并退出
代码检查
make lint
测试
make test
项目结构
wass-mcp/
├── cmd/wass-mcp/        # Application entry point
├── pkg/
│   ├── server/          # MCP server wrapper
│   ├── storage/         # Database layer (SQLite/GORM)
│   ├── models/          # Data models
│   ├── tools/           # MCP tool implementations
│   │   ├── nikto/       # Nikto web server scanner
│   │   ├── wapiti/      # Wapiti web app scanner
│   │   ├── nuclei/      # Nuclei template scanner
│   │   ├── shcheck/     # Security headers checker
│   │   ├── fullscan/    # Parallel full scan
│   │   └── history/     # History management
│   └── types/           # Shared types and constants
├── docs/                # Documentation
└── build/               # Build output and coverage reports

安全声明

此工具仅供授权的安全测试使用。扫描任何系统前,请确保已获得适当授权。未经授权的扫描在您所在的司法管辖区可能违法。

项目说明

如需完整的项目说明、设计决策和架构概述,请参阅 项目说明 文档。

许可证

BSD 3-Clause License - 版权所有 (c) 2026,Bohdan Turkynevych。详情请参阅 LICENSE。

贡献

  1. Fork 此代码仓库
  2. 创建功能分支(git checkout -b feature/new-tool)
  3. 提交更改(git commit -am 'Add new scanning tool')
  4. 推送到分支(git push origin feature/new-tool)
  5. 创建 Pull Request

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。