内容
# Taco MCP
Node.js MCP 服务器,用于前端安全侦察和 Web JavaScript 反向分析。
[中文文档](./README.zh-CN.md)
它专注于**授权**的评估工作流程:静态优先的资产收集,可选的 SPA 运行时资源浏览器增强,秘密/API 表面提取,技术指纹识别和结构化的安全线索。发现结果是**验证线索**,而非自动确认的漏洞。
## 法律声明
**您必须在目标系统/资产的所有者授权后才能使用该项目。**
- 本项目仅用于合法的目的,例如授权的安全研究,企业漏洞悬赏/SRC计划,红蓝演习和您拥有或明确允许测试的资产评估。
- **严禁未经授权的访问,入侵,破坏,数据盗窃或任何非法活动。**
- 您完全负责确保您的使用符合适用法律和您的授权范围。
- **未经授权,非法或滥用导致的任何后果仅由用户负责。作者和贡献者不承担任何责任。**
- 通过下载,安装,运行或分发该项目,您承认并同意本声明。
## 功能
- stdio MCP 服务器(Node.js 18+)
- 静态优先的 URL 收集,支持可选的 Playwright 浏览器增强
- 内置的 SSRF 防护(阻止 localhost / 私有 IP / 云元数据 / 非 http(s))
- 侦察工具:
- `taco_map_stack`
- `taco_hunt_secrets`
- `taco_review_front`
- `taco_read_banner`
- `taco_pull_sources`
- JS 反向工具:
- `reverse_analyze_source`
- `reverse_analyze_url`
- `reverse_api_contracts`
- `reverse_security_leads`
- `reverse_mining_roadmap`
- `reverse_runtime_hook`
- `reverse_fast_verify_plan`
## 收集模式
| 模式 | 行为 |
|------|----------|
| `static` | 仅 Node fetch |
| `browser` | 仅 Playwright |
| `auto` | 静态基线,然后对 SPA / 模块 / 不完整的静态结果进行条件浏览器增强 |
`auto` 模式合并静态和浏览器结果,优先使用静态来源。
## 安装
```bash
npm install
```
可选的浏览器支持:
```bash
npx playwright install chromium
```
## 运行
```bash
npm start
# 或
node src/index.js
```
自我测试:
```bash
npm run self-test
```
测试:
```bash
npm test
```
## MCP 客户端配置示例
```json
{
"mcpServers": {
"taco-mcp": {
"command": "node",
"args": ["/绝对路径/to/taco-mcp/src/index.js"]
}
}
}
```
Windows 示例:
```json
{
"mcpServers": {
"taco-mcp": {
"command": "node",
"args": ["C:/路径/to/taco-mcp/src/index.js"]
}
}
}
```
## 建议的工作流程
1. 如果您已经有前端 JS,请优先使用 `source` 模式:
- `taco_review_front({ source })`
- `reverse_analyze_source({ source })`
2. 对于实时 URL,请从静态收集开始:
- `taco_pull_sources({ url, mode: "static" })`
3. 当 SPA / 动态块可能丢失时,请使用 `mode: "auto"`。
4. 优先使用 `fast_verify_plan` 项目进行最小化,授权验证。
## 安全边界
- 输出是静态/运行时**线索**,本身不是确认的漏洞。
- SourceMap 存在,版本字符串,缺少安全标头,控制台日志或疑似密钥仍需要授权的影响证明。
- 网络访问受 SSRF 策略约束。
- 本项目仅用于**授权安全测试**。
- **严禁**在未经许可的情况下使用它攻击系统。任何非法使用仅由用户负责,与作者/贡献者无关。
## 项目布局
```text
src/
collectors/ # 静态 + 浏览器收集
engines/ # 泄漏 / 嗅探 / 指纹识别 / 反向 / 审计
rules/ # 检测规则
tools/ # MCP 工具定义和处理程序
utils/ # SSRF 策略,输出帮助程序,源映射
tests/ # node:test 套件
```