Moriz82/Gossamer
GitHub: Moriz82/Gossamer
一个本地 Web 攻击面图谱工具,融合多工具数据并以 Cytoscape 图谱进行探索。
Stars: 0 | Forks: 0
# Gossamer
**绘制攻击面的细线** — 一个本地的、类似 BloodHound 的 **Web 图**:导入 Burp、ZAP、httpx、ffuf、Katana 或爬虫种子;归一化;合并到 SQLite;在暗图 **Cytoscape** UI 中探索。
以蜘蛛网的 **蛛丝** 命名:轻盈、连接、容易被忽略,直到你将其绘制成图。
## 文档(贡献者与代理)
- **[AGENTS.md](AGENTS.md)** — 规则、入口点、验证命令
- **[docs/README.md](docs/README.md)** — 文档索引
- **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** — 管线与布局
- **[docs/GRAPH_MODEL.md](docs/GRAPH_MODEL.md)** — 节点、边、合并
- **[docs/API.md](docs/API.md)** — REST API 与 `GOSSAMER_*` 环境变量
- **[docs/EXTENDING.md](docs/EXTENDING.md)** — 插件与导入器
## 快速开始
**API**(仓库根目录下的 `backend/`)
```
cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
mkdir -p ../data ../uploads ../exports
export GOSSAMER_DATABASE_PATH=$PWD/../data/graph.sqlite
export GOSSAMER_UPLOADS_DIR=$PWD/../uploads
export GOSSAMER_EXPORTS_DIR=$PWD/../exports
python -m uvicorn gossamer.app:app --reload --host 127.0.0.1 --port 8000
```
**UI**
```
cd frontend
npm install && npm run dev
```
打开 **http://127.0.0.1:5173**(Vite 将 `/api` 代理到 8000 端口)。API 文档:**http://127.0.0.1:8000/docs**
### Web UI 登录
UI 使用 HTTP Basic 认证对接 API。默认启动配置(本地开发 / Docker)为 **`gossamer`** / **`gossamer`**,除非你设置了 `GOSSAMER_AUTH_USERNAME` 和 `GOSSAMER_AUTH_PASSWORD`。登录表单 **不会** 预填这些值;请手动输入(或使用 Swagger 的 **Authorize** 按钮并填入相同值)。
登录后,你可以在 **Settings → Credentials** 中更改凭据(存储在 SQLite 数据库旁边的 `data/config/runtime.json`),或 **Revert** 恢复为仅环境变量登录。
对于自动化检查(例如 `scripts/run-local.sh`),上述默认用户/密码会在 `curl -u gossamer:gossamer …` 中用于访问 `/api/health`。
## Docker
```
docker compose up --build
```
## 安全须知
仅在你**被授权**测试的系统上使用。不要提交实时导出数据 — 请参考 [.gitignore](.gitignore)。
## 许可证与来源
为竞赛风格的**授权**评估而开发;由 CPTC 团队工具演化而来,成为独立的仓库。
标签:BloodHound, Burp Suite, Cytoscape, ffuf, Gossamer, HTTP Basic Auth, httpx, Ingest, Mutation, Python后端, REST API, SEO: Web图, SEO: 安全可视化, SEO: 攻击面图谱, SEO: 本地图谱, SQLite, UI前端, Uvicorn, Vite前端, Web图谱, 可视化, 合并, 归一化, 探索分析, 攻击面图谱, 暗图, 本地安全图, 爬虫种子, 逆向工具