Nicholas-Kloster/VisorSD

GitHub: Nicholas-Kloster/VisorSD

基于 Shodan 的 AI/LLM 基础设施暴露面扫描器,内置按严重程度分类的查询,帮助快速发现组织中 AI 服务的攻击面。

Stars: 1 | Forks: 0

[![Claude Code 友好](https://img.shields.io/badge/Claude_Code-Friendly-blueviolet?logo=anthropic&logoColor=white)](https://claude.ai/code) [![Go 报告卡](https://goreportcard.com/badge/github.com/Nicholas-Kloster/VisorSD)](https://goreportcard.com/report/github.com/Nicholas-Kloster/VisorSD) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) # VisorSD Shodan 暴露面扫描器 + 对抗性 RAG 安全测试工具包。 VisorSD 内置约 20 个按严重程度分类的 AI/LLM 基础设施暴露硬编码查询。只需指定一个 Shodan API 密钥,它就能映射任何组织、ASN 或网段的 AI 攻击面——按 CRITICAL 到 LOW 进行排名,无需手动编写 dork。 ## 安装 ``` git clone https://github.com/Nicholas-Kloster/VisorSD.git cd VisorSD go build -o visorsd ./cmd/shodan-audit ``` **需要:** Go 1.21+,Shodan API 密钥 ## 快速开始 ``` export SHODAN_API_KEY="your_key_here" # 查看所有内置查询 — 零 credit 消耗 ./visorsd -dry-run # 运行全面扫描(全局,所有分类) ./visorsd # 限定到特定目标 ./visorsd -org "Acme Corp" ./visorsd -asn AS48090 ./visorsd -net 93.123.0.0/16 ``` ## 初学者 AI/LLM 技术栈 VisorSD 的内置查询目录涵盖了初次接触 AI 的开发者通常会暴露的内容。这就是**初学者技术栈** —— 通常与默认(无身份验证)配置一起部署的五个组件: | # | 组件 | 默认端口 | 风险 | |---|-----------|-------------|------| | 1 | **Ollama** — LLM runtime | 11434 | 未经身份验证的 model API,计算资源消耗 | | 2 | **Open WebUI** — 聊天前端 | 3000 / 8080 | 首位用户自动成为管理员注册 | | 3 | **ChromaDB** — 向量存储 | 8000 | 默认无身份验证,完全数据读取 | | 4 | **n8n** — 工作流/agent 构建器 | 5678 | 工作流中的凭据暴露 | | 5 | **Cloudflared / ngrok** — 隧道 | 不定 | 将上述所有组件暴露给互联网 | 运行 `./visorsd -dry-run` 以查看 VisorSD 用于查找每个组件的确切 Shodan 查询。 ## 猎捕初学者技术栈 —— 逐步指南 **步骤 1 — 预览查询(免费,不消耗积分)** ``` ./visorsd -dry-run ``` **步骤 2 — 运行完整扫描** ``` SHODAN_API_KEY=$(cat ~/.config/nuclide/shodan.key) ./visorsd ``` 结果按严重程度排名: - `CRITICAL` — 未经身份验证的管理面板、开放的 model API、暴露的密钥 - `HIGH` — 需要身份验证但通常配置错误 - `MEDIUM` — 版本信息泄露、影子 IT 指标 - `LOW` — 仅指纹识别 **步骤 3 — 范围限定至特定目标** ``` # 按组织名称 ./visorsd -org "Target Org Name" # 按 ASN ./visorsd -asn AS12345 # 按 IP 范围 ./visorsd -net 192.168.1.0/24 ``` **步骤 4 — 导出结果** ``` ./visorsd -format json -out results.json # machine-readable ./visorsd -format csv -out results.csv # spreadsheet-friendly ./visorsd -fail-on critical # exit non-zero on CRITICAL (CI/CD) ``` **步骤 5 — 导入 JAXEN 进行深度扩展** VisorSD 负责查找和评分。[JAXEN](https://github.com/Nicholas-Kloster/JAXEN) 负责持久化和深化 —— 导入 VisorSD 结果以进行完整的 Shodan 扩展、empire.db 跟踪和枢纽点分析: ``` cd ~/Tools/JAXEN SHODAN_API_KEY=$(cat ~/.config/nuclide/shodan.key) ./jaxen import results.csv ``` ## 完整参数参考 | 参数 | 描述 | 示例 | |------|-------------|---------| | `-key` | Shodan API 密钥(或使用 `SHODAN_API_KEY` 环境变量) | `-key abc123` | | `-org` | 按组织名称过滤 | `-org "Cloudflare"` | | `-asn` | 按 ASN 过滤 | `-asn AS13335` | | `-net` | 按 CIDR 过滤 | `-net 1.1.1.0/24` | | `-limit` | 每次查询的最大结果数(默认为 10) | `-limit 50` | | `-dry-run` | 打印限定范围后的查询,不进行 API 调用 | `-dry-run` | | `-fail-on` | 如果严重程度 ≥ 阈值,则以非零状态退出 | `-fail-on high` | | `-format` | 输出格式:`text`、`json`、`csv` | `-format json` | | `-out` | 写入文件(默认为 stdout) | `-out results.json` | ## 结合 Claude Code 使用 Claude Code 可以运行 VisorSD 扫描,解析按严重程度排名的 JSON 输出,并将结果链接到 VisorAgent 或 aimap 工作流中进行更深层次的验证。 ``` Run `./visorsd -org "Target Org" -format json -out visorsd.json` with SHODAN_API_KEY set, then analyze visorsd.json: list every CRITICAL and HIGH finding with IP, port, service, and a one-line description of the exposure. Flag any that are direct inputs for VisorAgent (exposed Ollama or Open WebUI endpoints). ``` ``` I have visorsd.json from a scan. Extract all CRITICAL findings, format them as a findings table (IP | Port | Service | Severity | Evidence), and suggest which three findings to validate first with aimap active probes and why. ``` ## 相关工具 VisorSD 是 Nuclide 侦察生态系统的一部分: - **[JAXEN](https://github.com/Nicholas-Kloster/JAXEN)** — 具有 empire.db 持久化功能的有状态 Shodan 侦察引擎 - **[aimap](https://github.com/Nicholas-Kloster/aimap)** — 主动 AI/ML 服务枚举器(36 种服务类型,26 种深度探测) - **[BARE](https://github.com/Nicholas-Kloster/BARE)** — 针对 Metasploit 语料库的语义漏洞匹配 - **[VisorCorpus](https://github.com/Nicholas-Kloster/VisorCorpus)** — 对抗性 LLM 提示词语料库生成器 - **[AI-LLM-Infrastructure-OSINT](https://github.com/Nicholas-Kloster/AI-LLM-Infrastructure-OSINT)** — 经过验证的 Shodan dork 目录,包含 15 个类别 ## 许可证 MIT — 详见 [LICENSE](LICENSE)
标签:AI基础设施安全, ChromaDB, DNS枚举, EVTX分析, GitHub, Go语言, HTTP/HTTPS抓包, LLM, LLM评估, MIT许可, Ollama, Open WebUI, RAG安全测试, Unmanaged PE, 向量数据库安全, 大语言模型安全, 威胁情报, 实时处理, 密码管理, 开发者工具, 态势感知, 插件系统, 文档结构分析, 日志审计, 机密管理, 程序破解, 红队评估, 网络安全, 网络安全工具, 资产暴露面检测, 隐私保护