orelsv/orel-cybersecurity-check

GitHub: orelsv/orel-cybersecurity-check

oscan 是一款授权自评估 Web 安全扫描器,覆盖漏洞检测与 GDPR 隐私合规检查,支持本地代码库和远程站点扫描。

Stars: 3 | Forks: 0

# oscan - orel-cybersecurity-check [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/546996e08b023403.svg)](https://github.com/orelsv/orel-cybersecurity-check/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](pyproject.toml) ``` uvx --from orel-cybersecurity-check oscan https://your-site.example ``` ![oscan 针对 OWASP Juice Shop 运行主动扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/72e4e2046e023408.png) 一款手动的、**授权的自评估**扫描器,适用于人们越来越多地使用 AI 构建的网站、Web 应用和代码库。 它能发现这些构建中固有的漏洞:SQL 注入、git 历史记录中的机密信息、脆弱的 cookie/token、暴露的 `.git`/`.env`、 缺失的安全标头、无速率限制,并且它还会检查 **GDPR/隐私** 基础知识。 ### 核心亮点 - **单条命令,覆盖全面** - TLS、安全标头、cookie 与 token、**git 历史记录**中的机密信息、暴露的 `.git`/`.env`、注入、身份验证强化、抵御 DoS 能力以及 GDPR。 - **扫描器 + Claude Code 技能** - 审计现有应用,或构建默认安全的新应用。 - **可操作的输出** - 0-100 的风险评分、字母等级以及通俗易懂的修复建议,外加 JSON 和 Markdown 报告。 - **默认安全** - passive 模式仅进行观察;侵入性检查受 `--i-am-authorized` 控制。 - **本地或远程** - 扫描在线 URL、本地代码库或通过其 git URL 扫描远程代码库。 检测是确定性的(在代码中);可选的 Claude 层仅将 检查结果重写为通俗易懂的语言。该工具在没有它的情况下也可以完全离线工作。 本仓库包含**这两**部分: - **`oscan`** - 扫描器(本 README)。 - **`orel_cybersecurity_check`** - 一项 [Claude Code](https://claude.com/claude-code) 技能(位于 [`skill/`](skill/orel_cybersecurity_check/SKILL.md)),用于驱动 `oscan` 并添加默认安全的构建指南。请参阅下方的 [Claude Code 技能](#claude-code-skill)。 ## ⚠️ 授权与道德规范 **仅**在你拥有或获得明确测试授权的资产上使用此工具。它适用于 自评估、授权的渗透测试和学习。 - 默认的 `passive` 配置文件仅进行观察(安全的 GET 请求,无 payload)。 - 侵入性的 `active` 配置文件(注入标记、身份验证锁定、有上限的 速率限制突发)**需要** `--i-am-authorized` 标志、交互式 确认,并会写入审计日志条目。 - **没有 DDoS 洪水攻击器,也没有密码破解器**。“DoS 防御能力”用于验证 速率限制/WAF *是否存在*(严格限制上限的突发);“身份验证强化”用于验证 账户*锁定*机制是否存在(在你自己的账户上进行几次失败的登录)。目标是 确认防御机制有效,而不是进行攻击。 - 所有 payload 都是具有非破坏性的检测标记 - 绝不使用 `DROP`,绝不进行数据 外泄。 ## 安装 无需永久安装即可运行一次(需要 [uv](https://docs.astral.sh/uv/)): ``` uvx --from orel-cybersecurity-check oscan https://your-site.example ``` 安装 `oscan` 命令以供重复使用: ``` pipx install orel-cybersecurity-check # isolated (recommended) pip install orel-cybersecurity-check # or plain pip ``` 对于可选的 Claude 扩展层,请添加 `ai` 扩展: `pipx install "orel-cybersecurity-check[ai]"`。 从源码安装,用于开发: ``` git clone https://github.com/orelsv/orel-cybersecurity-check.git cd orel-cybersecurity-check python3 -m venv .venv && source .venv/bin/activate pip install -e . # add ".[ai]" for the optional Claude layer ``` 可选的外部工具(自动检测,如果缺失则会平滑回退): [`gitleaks`](https://github.com/gitleaks/gitleaks) 用于更强的机密扫描。 ## 用法 ``` # 对在线网站进行 passive scan(安全默认设置) oscan https://your-site.example # 扫描本地 repo 中 working tree 和 git history 里的 secrets oscan --repo /path/to/your-repo # 通过 URL 扫描远程 repo(克隆到 temp dir,然后删除) oscan --repo https://github.com/org/project # 生成机器 + 人类可读的 reports oscan https://your-site.example --json report.json --md report.md # GDPR / 隐私重点 oscan https://your-site.example --gdpr # 对您自己的 target 进行 active(侵入式、非破坏性)scan oscan https://your-site.example --profile active --i-am-authorized # 验证是否存在 login lockout(使用您自己的测试账户) oscan https://your-site.example --profile active --i-am-authorized \ --login-url https://your-site.example/login --login-user you@example.com ``` ### 配置文件 | 配置文件 | 功能描述 | 限制条件 | |---|---|---| | `passive`(默认) | TLS、标头、cookie/token、暴露的 `.git`/`.env`、机密信息、GDPR | 无 | | `standard` | + 路径枚举、JWT 分析、WAF/速率限制标头检查 | 无 | | `active` | + SQLi/XSS/路径遍历/开放重定向标记、管理端点探测、登录锁定、DoS 防御突发测试 | `--i-am-authorized` + 确认 | ### 检查内容 - **传输与 TLS** - HTTPS、TLS 版本、证书有效性、HTTP→HTTPS 重定向、HSTS - **安全标头** - CSP、X-Content-Type-Options、点击劫持保护、Referrer-Policy、版本泄露 - **Cookie 与 token** - Secure / HttpOnly / SameSite 标志、cookie 中的 JWT、URL 中的 token - **机密信息与 git** - 工作树**以及完整的 git 历史记录**(已提交随后被删除的机密信息)、`.gitignore` 覆盖范围。使用内联的 `# gitleaks:allow`(或 `# pragma: allowlist secret`)标记,或仓库中的 `.gitleaksignore` 文件将已知/伪造的机密信息加入白名单。 - **暴露的文件** - `/.git`、`/.env`、配置/备份文件、source map - **CORS** *(standard)* - 任意来源反射、带凭证的通配符 - **API 安全** *(standard)* - 暴露的 OpenAPI/Swagger 文档、GraphQL 自省、过度暴露的数据(JSON 中的敏感字段)、详细的错误/堆栈跟踪信息泄露 - **注入** *(active)* - SQLi(基于错误 + **基于时间的盲注**)、**NoSQL** 注入、反射型 XSS、路径遍历、开放重定向、**SSRF**(云元数据) - **身份验证强化** *(active)* - JWT 规范(`alg=none`、HMAC 算法混淆风险、空签名、无过期声明、敏感声明)、未经身份验证的管理/调试端点、登录速率限制/锁定 - **DoS 防御能力** - WAF/CDN/速率限制是否存在 + 一次有上限的突发测试以确认节流 - **GDPR / 隐私** - 追踪前的同意机制、第三方追踪器、Google Fonts、隐私政策、通过 HTTP 传输的 PII ### 输出 控制台摘要包含**风险评分 (0-100)**、字母等级和估计的 **失陷时间**,以及可选的 JSON(适合 SIEM)和 Markdown 报告。 ### 可选的 Claude 扩展 如果安装了 `anthropic` 包并设置了 `ANTHROPIC_API_KEY`,每个 检查结果都会获得一句通俗易懂的解释。检测逻辑保持不变 - Claude 仅作为展示层。使用 `--no-enrich` 禁用;通过 `OSCAN_ENRICH_MODEL` 选择模型(默认为 `claude-haiku-4-5`)。 ## Claude Code 技能 `orel_cybersecurity_check` 技能让 [Claude Code](https://claude.com/claude-code) 默认安全地构建应用,并驱动 `oscan` 审计现有应用。全局安装 它(只需一行命令): ``` mkdir -p ~/.claude/skills && curl -sL https://github.com/orelsv/orel-cybersecurity-check/archive/main.tar.gz | tar -xz --strip-components=2 -C ~/.claude/skills orel-cybersecurity-check-main/skill/orel_cybersecurity_check ``` 然后重启你的 Claude Code 会话。该技能位于 [`skill/orel_cybersecurity_check/SKILL.md`](skill/orel_cybersecurity_check/SKILL.md)。 如果要在项目本地安装而不是全局安装,请在你的项目根目录下将 `~/.claude/skills` 替换为 `.claude/skills`。 ## 开发 ``` pip install -e ".[dev]" ruff check . && ruff format --check . # lint + formatting (CI gate) pytest # 51 tests, no network required ``` 测试套件包括针对一个故意存在漏洞的 本地服务器以及一个包含已提交随后被删除机密的 git 仓库进行的端到端运行。CI 会在 Python 3.11-3.13 上运行相同的检查。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 MIT
标签:Claude, CVE检测, DOE合作, Python, StruQ, Web安全, 合规检测, 数据泄露, 无后门, 蓝队分析, 逆向工具