cognis-digital/s3sniff

GitHub: cognis-digital/s3sniff

一款云存储桶 ACL 和策略的安全审计工具,从配置 JSON 或列表中检测并标记存在暴露风险的权限设置。

Stars: 0 | Forks: 0

S3SNIFF # S3SNIFF ### 从列表或策略 JSON 中标记有风险的云存储桶 ACL/策略 [![PyPI](https://img.shields.io/pypi/v/cognis-s3sniff.svg?color=6b46c1)](https://pypi.org/project/cognis-s3sniff/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b69e8d94ae053649.svg)](https://github.com/cognis-digital/s3sniff/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *Cognis Neural Suite 的一部分。*
``` pip install cognis-s3sniff s3sniff scan . # → prioritized findings in seconds ``` ## 使用说明 — 分步指南 `s3sniff` 用于对云存储桶的 ACL、策略和列表进行防御性分诊 —— 仅进行检测,不涉及网络访问或修改。控制台命令:`s3sniff`。 1. **安装**: pipx install s3sniff # 或者:pip install s3sniff 2. **扫描分诊 JSON 文档**(单个对象或其列表,每个对象包含 `bucket` / `acl` / `policy` / `listing` 键): s3sniff scan buckets.json 退出码 `2` = 存在发现(受严重级别限制),`0` = 安全无风险,`1` = 错误。 3. **从 stdin 读取**并输出 JSON,以便通过管道传递给其他工具: cat buckets.json | s3sniff scan - --format json | jq '.summary.highest_severity' 4. **设置严重级别限制**,以便只有严重的暴露才会导致运行失败: s3sniff scan buckets.json --fail-on HIGH 5. **将其接入 CI / 防护机制** —— 在公共存储桶配置生效之前阻止它们: s3sniff scan buckets.json --fail-on HIGH || echo "检测到有风险的存储桶 ACL/策略 —— 正在阻止" ## 目录 - [为什么选择 s3sniff?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关工具](#related) · [贡献](#contributing) ## 为什么选择 s3sniff? 开放存储桶分诊 `s3sniff` 具有单一用途、可脚本化且可自托管:将其指向目标,以你的工作流已使用的格式(表格 · JSON · SARIF)获取优先级排序的结果,在 CI 中对其进行限制,并允许 agent 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 分析 Acl - ✅ 分析 Policy - ✅ 分析 Listing - ✅ 分析 Document - ✅ 总结 - ✅ 支持 Linux/macOS/Windows · Docker · devcontainer 运行 - ✅ 提供 Python、JavaScript、Go 和 Rust 移植版 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-s3sniff s3sniff --version s3sniff scan . # scan current project s3sniff scan . --format json # machine-readable s3sniff scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ s3sniff scan . [HIGH ] S3S-001 example finding (./src/app.py) [MEDIUM ] S3S-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[target / manifest] --> P[s3sniff
checks + rules] P --> OUT[findings (JSON / SARIF)] ```
↑ 回到顶部
## 从任何 AI 技术栈中使用 `s3sniff` 与所有流行的 AI 使用方式兼容: - **MCP server** — `s3sniff mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 将 `s3sniff scan . --format json` 通过管道传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI 流水线提供退出码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis s3sniff** | s3scanner | |---|:---:|:---:| | 自托管,无需账户 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | 原生支持 MCP (AI agent) | ✅ | ❌ | | 多语言移植 (JS/Go/Rust) | ✅ | ❌ | | 开源许可 | ✅ COCL | 视情况而定 | *秉承 **s3scanner** 的精神,以 Cognis 的方式重新构建。遗漏了致谢?欢迎提交 PR。*
↑ 回到顶部
## 集成 接入你的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI agent 的 **MCP server** (`s3sniff mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 全平台,全方式 ``` pip install "git+https://github.com/cognis-digital/s3sniff.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/s3sniff.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/s3sniff.git" # uv pip install cognis-s3sniff # PyPI (when published) docker run --rm ghcr.io/cognis-digital/s3sniff:latest --help # Docker brew install cognis-digital/tap/s3sniff # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/s3sniff/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | Cloud | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/s3sniff` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 - [`portfan`](https://github.com/cognis-digital/portfan) — 将 nmap XML 总结并差异对比为可优先处理、可攻击的发现 - [`subhunt`](https://github.com/cognis-digital/subhunt) — 从多个来源聚合并去重子域名枚举 - [`dirsight`](https://github.com/cognis-digital/dirsight) — 将 Web 内容发现输出 (ffuf/gobuster) 分析为排名的 endpoint - [`jwtinspect`](https://github.com/cognis-digital/jwtinspect) — 解码 JWT 并检测 alg=none、弱密钥和缺失的声明 - [`corsaudit`](https://github.com/cognis-digital/corsaudit) — 从 header 或配置中检测宽松/配置错误的 CORS - [`headerscan`](https://github.com/cognis-digital/headerscan) — 根据响应转储对 HTTP 安全 header (CSP/HSTS/XFO) 进行 A-F 评级 **探索套件 →** [🗂️ 全部 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与 300+ 工具的 Cognis 套件组合使用 — JSON 输入/输出以及共享的 兼容 OpenAI 的 `/v1` 主干。详见 **[INTEROP.md](INTEROP.md)** 了解 套件图谱、组合模式和参考技术栈。 ## 许可证 源码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** — 个人、内部评估、研究和教育用途免费;**商业/生产用途需要许可证** (licensing@cognis.digital)。详见 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中 170+ 工具之一 · 让明天在今天变得更美好
标签:S3存储桶, 可视化界面, 数据可视化, 日志审计, 智能体, 请求拦截, 逆向工具, 配置核查