📌 Skill基础信息
Skill名称:cloud-saas-exposure
简称:云存储与SaaS暴露面探测
来源:社区第三方 (elementalsouls)
运行宿主:Claude-OSINT Agent
核心定位:面向企业级云安全和供应链攻击面的被动发现工具,专注于云存储桶枚举、AWS账户ID离线恢复、依赖混淆验证和云原生基础设施指纹识别,适用于授权的安全评估和外部侦察。
🧩 内部核心组成
子Agent集合
- 存储桶发现Agent:负责S3/GCS/Azure Blob存储桶的候选生成和验证
- AWS账户恢复Agent:处理AKIA/ASIA/AROA密钥的离线解码
- 依赖混淆验证Agent:执行npm/PyPI包的供应链风险确认
- 云原生指纹Agent:识别云原生/K8s/CI控制平面暴露面
核心功能模块
| 功能模块 | 主要能力 |
|---|---|
| 存储桶枚举 | 基于可信令牌和子域词干的智能候选生成 |
| 存在性验证 | 通过HTTP GET验证桶存在性和可列出状态 |
| 所有权验证 | 基于CNAME/SAN/Wayback的归属确认机制 |
| AWS账户恢复 | 从访问密钥离线解码AWS账户ID |
| 依赖混淆检测 | 内部包名与公共注册表的状态比对 |
| 指纹识别 | 云原生/K8s/CI控制平面的被动识别 |
目录结构
/permutation/- 存储桶名称生成规则/validation/- 存在性和所有权验证逻辑/decoding/- AWS账户ID离线解码算法/fingerprinting/- 基础设施指纹模式库
🛠 安装与启用方式
安装命令:
skills install --user elementalsouls/Claude-OSINT
前置依赖:
- Claude-OSINT Agent运行环境
- Python标准库(无需额外依赖)
API/工具要求:
- 无外部API密钥要求
- 支持HTTP/HTTPS网络请求
启动方式:
通过Claude-OSINT Agent的skill调用机制激活,使用预定义的触发词启动相应功能模块。
📋 标准工作流
- 输入解析:用户输入目标域名或特定指令
- 候选生成:
- 基于可信令牌的完整前缀×后缀扩展(6前缀×15后缀)
- 基于子域词干的有界目标绑定排列
- 从CNAME/SAN/Wayback中挖掘观察到的名称
- 存在性验证:
- 对每个候选桶执行HTTP GET请求
- 区分存在但私有(403)与可公开列出(200)状态
- 所有权确认:
- 应用基于归属信号的严重性门控模型
- 避免将无法归属的公共桶误报为关键风险
- 证据收集:
- 记录URL、时间戳、响应哈希值
- 采样对象键名但不获取对象内容
- 输出生成:生成标准化格式的安全发现报告
⚠️ 关键限制、缺陷、注意事项
平台限制:
- 仅支持AWS S3、Google Cloud Storage、Azure Blob存储
- 不支持其他云厂商的对象存储服务
Token消耗:
- 每个存储桶候选需要1次HTTP请求
- 大规模目标可能产生大量网络请求
适用项目:
- 授权的企业安全评估
- 外部侦察和攻击面映射
- 供应链安全审计
不适用场景:
- 未经授权的安全测试
- 生产环境实时监控
- 需要主动利用验证的场景
已知坑点:
- 早期版本存在171个误报的存储桶洪水问题
- 无法归属的公共桶不应标记为关键严重性
- 依赖混淆检测结果具有时间敏感性
生产环境适用性:
- 仅适用于评估环境
- 不建议用于生产环境监控
- 需要严格的授权控制
✅ 适用场景 & ❌ 不适合场景
✅ 适用场景:
- 企业安全团队进行授权的云存储暴露面评估
- 从泄露的AWS访问密钥恢复账户ID(离线操作)
- 验证内部包名是否存在依赖混淆风险
- 为外部侦察任务指纹识别云原生基础设施
❌ 不适合场景:
- 未经授权的渗透测试或黑盒评估
- 需要主动利用或凭证提交的操作
- 生产环境的实时安全监控
- 简单的存储桶名称生成(应使用offensive-osint原始词表)
- 需要获取对象内容的深度分析
如何安装
skills install --user elementalsouls/Claude-OSINT通用安装教程:在哪里输入上面的命令
上面的命令本质是在「终端 / 命令行」中调用技能管理器,把该 Skill 下载并注册到你的 AI 工具。各主流工具打开终端的位置不同,按下面操作即可:
- 打开工具自带的终端面板,或系统终端(macOS「终端」、Windows「PowerShell」、Linux「Terminal」)。
- 把上面的安装命令复制进去,回车运行,等待下载与注册完成。
- 重启或重新加载 AI 工具,让新安装的 Skill 被识别。
- 新建对话并触发:直接描述用途,或通过该工具的技能 / 斜杠菜单选中此 Skill。
Claude 桌面版(macOS / Windows)
桌面版没有内置命令行,Skill 需通过 Claude Code CLI 安装。打开系统终端,先执行 npm install -g @anthropic-ai/claude-code,再运行上面的安装命令;完成后完全退出并重新打开 Claude。
Claude Code(终端 CLI)
直接在项目目录的终端里运行上面的命令即可。也可先输入 claude 启动交互界面,再在对话中引用该 Skill(/ 斜杠菜单或直接描述用途)。
VS Code(含 GitHub Copilot)
打开终端面板:菜单「终端 → 新建终端」,或快捷键 Ctrl+`(macOS 为 ⌃+`)。在终端里运行上面的命令;装完后执行「重新加载窗口」(Ctrl+Shift+P → Reload Window),让 Copilot 等扩展识别新技能。
Cursor
底部「终端」面板(Ctrl+`)即是内置终端。粘贴运行上面的命令,完成后在命令面板执行「Reload Window」刷新,再开始对话。
Windsurf
底部「终端」面板运行命令;也可直接使用其内置 Agent 终端,在对话侧执行安装。
其他工具(ChatGPT、本地脚本等)
不支持本地终端的产品,可先在本机终端完成安装,再在对话中描述该 Skill 的能力让其调用;不同工具的命令格式请以其官方文档为准。
风险提示
本 Skill 涉及读取隐私 / 敏感信息(如密钥、环境变量、凭据)。安装前请确认其用途是否必要。
检测到隐私/敏感信息读取(预设模式 #1) 检测到隐私/敏感信息读取(预设模式 #3) 检测到隐私/敏感信息读取(预设模式 #5)
命中检测项
- privacy_collect
Aitishiku.com