Bhanunamikaze/Code-VulnScan-Skill

GitHub: Bhanunamikaze/Code-VulnScan-Skill

专为 AI 编程助手设计的深层流感知漏洞扫描技能,通过污点分析、业务逻辑审查和三重验证机制,帮助开发者在编码阶段发现真实可利用的安全漏洞。

Stars: 0 | Forks: 0

# Code-VulnScan 技能 一款专为 AI 编程助手设计的深层、流感知型漏洞扫描技能。用于发现真实的、可利用的漏洞——而不仅仅是关键字匹配。 [![支持的 IDE](https://img.shields.io/badge/IDEs-Claude%20%7C%20Codex%20%7C%20Cursor%20%7C%20Windsurf%20%7C%20Copilot%20%7C%20Cline%20%7C%20Continue%20%7C%20Antigravity-blue)]() [![支持的语言](https://img.shields.io/badge/Languages-10%2B-green)]() [![CVE](https://img.shields.io/badge/CVE%20Database-100%2B-orange)]() [![许可证:MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ## 功能介绍 - **污点流分析** — 跨越函数边界追踪用户输入从来源到危险汇聚点的过程(支持 Python AST;JS/PHP 变量赋值追踪) - **输入验证审查** — 检查白名单、正则表达式锚定、编码绕过和类型混淆 - **业务逻辑分析** — 竞态条件、TOCTOU、状态机绕过、价格篡改 - **API 安全** — IDOR/BOLA、批量赋值、限流漏洞、GraphQL 深度/复杂度攻击 - **认证与会话审查** — 认证绕过、IDOR、JWT 缺陷、会话固定、权限提升 - **加密技术审查** — 弱算法、ECB 模式、不安全的随机数生成器、硬编码密钥 - **机密信息检测** — 基于信息熵的扫描 + 45+ 条针对 API 密钥、密码、私钥的模式规则;可选 Git 历史扫描 - **配置审计** — 调试模式、安全标头、CORS、CSP、TLS 错误配置 - **IaC 安全** — Dockerfile、Kubernetes、Terraform、GitHub Actions、GitLab CI、Docker Compose - **内存安全** — 缓冲区溢出、释放后使用、格式化字符串(C/C++/unsafe Rust) - **ReDoS 检测** — 灾难性回溯分析:嵌套量词、交替前缀重叠、复杂度估算 - **GraphQL 安全** — 内省暴露、深度/复杂度限制、批量滥用、字段级认证漏洞 - **移动端安全** — Android WebView/导出组件、iOS ATS/Keychain/UIWebView、深度链接劫持 - **错误处理审查** — 堆栈跟踪泄露、枚举预言机、日志中的敏感数据 - **依赖项 CVE** — 对照 100+ 个已知受漏洞影响的版本范围,检查 13 种清单类型 **通过三重验证协议消除误报**:源可达性 → 路径完整性 → 可利用性上下文。 ## 支持的语言 Python、JavaScript/TypeScript、Java/Kotlin、Go、PHP、Ruby、C/C++、C#、Rust、Swift、Bash —— 以及基础设施文件(Dockerfile、Kubernetes YAML、Terraform HCL、GitHub Actions、GitLab CI、Docker Compose)。 ## IDE 兼容性 | IDE | 目标标志 | 安装文件 | |-----|-------------|---------------| | Claude Code (CLI/Desktop) | `--target claude` | `~/.claude/skills/code-vulnscan/` | | Claude Code / Cowork (项目/团队) | `--target cowork` | `/.claude/skills/code-vulnscan/` | | OpenAI Codex | `--target codex` | `~/.codex/skills/code-vulnscan/` | | Cursor AI | `--target cursor` | `/.cursor/rules/code-vulnscan.mdc` | | Windsurf | `--target windsurf` | `/.windsurf/rules/code-vulnscan.md` | | GitHub Copilot Chat | `--target copilot` | `/.github/copilot-instructions.md` | | Cline (VS Code) | `--target cline` | `/.clinerules` | | Continue.dev | `--target continue` | `/.continue/prompts/vulnscan.prompt` | | Antigravity | `--target antigravity` | `/.agent/skills/code-vulnscan/` | ## 安装说明 下面所有带有 `--online` 的命令都会自动下载最新的发布包。 ### 快速安装(无需克隆) **Linux / macOS:** ``` # 默认:一次性安装到所有目标 curl -fsSL https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh | bash -s -- --online # 仅限 Claude Code curl -fsSL https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh | bash -s -- --online --target claude # 用户级 (Claude + Codex) curl -fsSL https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh | bash -s -- --online --target global # 所有目标,范围限定于项目 curl -fsSL https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh | bash -s -- --online --target all --project-dir /path/to/your/project ``` **Windows (PowerShell):** ``` # 下载安装程序,然后使用 --online 运行 irm https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.ps1 -OutFile install.ps1 # 默认:一次性安装到所有目标 pwsh ./install.ps1 --online # 仅限 Claude Code pwsh ./install.ps1 --online --target claude # 所有目标,范围限定于项目 pwsh ./install.ps1 --online --target all --project-dir C:\path\to\your\project ``` ### 从源码安装 ``` git clone https://github.com/Bhanunamikaze/Code-VulnScan-Skill.git cd Code-VulnScan-Skill # Claude Code(最常用) bash install.sh --target claude # Codex bash install.sh --target codex # Claude Cowork / 项目范围限定(安装到 .claude/skills/,提交到 git 以与团队共享) bash install.sh --target cowork --project-dir /path/to/your/project # GitHub Copilot Chat(写入 .github/copilot-instructions.md) bash install.sh --target copilot --project-dir /path/to/your/project # Cursor AI(写入 .cursor/rules/code-vulnscan.mdc) bash install.sh --target cursor --project-dir /path/to/your/project # Windsurf(写入 .windsurf/rules/code-vulnscan.md) bash install.sh --target windsurf --project-dir /path/to/your/project # Cline VS Code 扩展(追加到 .clinerules) bash install.sh --target cline --project-dir /path/to/your/project # Continue.dev(写入 .continue/prompts/vulnscan.prompt) bash install.sh --target continue --project-dir /path/to/your/project # 用户级 (Claude + Codex) bash install.sh --target global # 一次性配置所有项目级 IDE bash install.sh --target project --project-dir /path/to/your/project # 一次性应用于所有目标 bash install.sh --target all --project-dir /path/to/your/project # 包含本地脚本的 Python 依赖 bash install.sh --target claude --install-deps ``` **Windows (PowerShell) — 从源码安装:** ``` # Claude Code .\install.ps1 --target claude # Cursor AI .\install.ps1 --target cursor --project-dir C:\path\to\project # 所有目标 .\install.ps1 --target all --project-dir C:\path\to\project ``` **更安全的远程安装(带校验和验证):** ``` curl -fsSLO https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh curl -fsSLO https://raw.githubusercontent.com/Bhanunamikaze/Code-VulnScan-Skill/main/install.sh.sha256 sha256sum -c install.sh.sha256 bash install.sh --online ``` ## 使用说明 安装完成后,重启您的代理会话,然后: ``` vulnscan scan /path/to/codebase ``` 或者自然语言输入: ``` Find security vulnerabilities in this codebase Scan for SQL injection and XSS in this Flask app Check for hardcoded secrets Audit the authentication logic Are there any vulnerable dependencies? Give me a full security report in SARIF format Give me an HTML security report Check the Kubernetes configs for misconfigurations Find IDOR vulnerabilities in the API Analyze GraphQL schema for security issues Check for ReDoS vulnerabilities in the regex patterns Scan git history for committed secrets Review iOS and Android code for insecure storage ``` ## 输出格式 - **Markdown** — 具有污点路径、代码片段和修复建议的人类可读报告 - **HTML** — 包含暗黑模式、可折叠部分、严重性徽章和代码块的独立报告 - **SARIF** — 可与 GitHub Advanced Security、VS Code 安全扩展、CI/CD 集成 - **JSON** — 用于自定义工具的机器可读格式 报告将保存至 `workspace/report_.` ## 架构 ``` Code-VulnScan-Skill/ ├── SKILL.md # Main skill orchestration (read by agent) ├── CONTRIBUTING.md # How to add patterns, sub-skills, CVEs ├── SECURITY.md # Responsible disclosure policy ├── install.sh # Multi-IDE installer (Linux/macOS) ├── install.ps1 # Multi-IDE installer (Windows/PowerShell) ├── sub-skills/ # 19 specialized analysis agents │ ├── scan-strategy.md │ ├── taint-analyzer.md │ ├── input-validator.md │ ├── business-logic-analyzer.md │ ├── api-security-reviewer.md │ ├── auth-reviewer.md │ ├── crypto-reviewer.md │ ├── secret-detector.md │ ├── config-security-reviewer.md │ ├── iac-security-reviewer.md │ ├── memory-safety-analyzer.md │ ├── error-handling-reviewer.md │ ├── dependency-auditor.md │ ├── vuln-classifier.md │ ├── false-positive-filter.md │ ├── report-generator.md │ ├── regex-analyzer.md # ReDoS / catastrophic backtracking │ ├── graphql-security-reviewer.md # GraphQL-specific attack surface │ └── mobile-security-reviewer.md # iOS / Android security ├── scripts/ # Deterministic Python helpers │ ├── scan.py # Main orchestrator + SQLite state + IaC pass │ ├── taint.py # AST taint (Python) + variable tracking (JS/PHP) │ ├── secrets.py # Entropy + 45+ pattern rules + git history scan │ ├── dependency.py # Dependency CVE checker (100+ CVEs, 13 manifest types) │ ├── report.py # Report generator (MD/HTML/JSON/SARIF) │ ├── regex_analyzer.py # ReDoS complexity estimator │ └── utils/ │ ├── db.py # SQLite state management │ ├── languages.py # Language/framework detection │ ├── files.py # File enumeration │ ├── patterns.py # Pattern matching engine │ └── entropy.py # Shannon entropy for secret detection ├── resources/ │ ├── patterns/ # Per-language source/sink patterns (11 files) │ │ ├── python_patterns.json │ │ ├── javascript_patterns.json │ │ ├── java_patterns.json │ │ ├── php_patterns.json │ │ ├── go_patterns.json │ │ ├── ruby_patterns.json │ │ ├── csharp_patterns.json │ │ ├── c_patterns.json │ │ ├── rust_patterns.json │ │ ├── kotlin_patterns.json │ │ ├── swift_patterns.json │ │ ├── bash_patterns.json │ │ ├── yaml_patterns.json │ │ └── generic_patterns.json │ └── references/ │ ├── owasp-top10.md │ ├── cwe-taxonomy.md # 29 CWE entries with CVSS ranges and OWASP mapping │ └── false-positive-guide.md ├── tests/ │ ├── test_scripts.py # Unit tests (pytest) │ └── fixtures/ # Intentionally vulnerable code samples │ ├── vuln_python.py │ ├── vuln_javascript.js │ └── vuln_go.go └── workspace/ # Scan state, intermediate outputs, reports ``` ## 发现结果如何验证 每项候选发现在被报告之前,都必须经过三次强制验证: 1. **源可达性** — 输入是否真正由用户控制?(非硬编码,非仅限受信方) 2. **路径完整性** — 受污染的值是否真正到达了汇聚点,且没有经过有效的过滤/清理? 3. **可利用性上下文** — 攻击者在当前上下文中是否能实际触发此漏洞? 最终报告中只会包含状态为**已确认**和**可能**的发现。 ## 在本地运行脚本 ``` pip install -r requirements.txt # 扫描代码库中的机密信息 python3 scripts/secrets.py --path /path/to/repo --pretty # 扫描 git 历史中已提交的机密信息 python3 scripts/secrets.py --path /path/to/repo --git-history --max-commits 500 # 检查依赖项是否存在 CVE python3 scripts/dependency.py --path /path/to/repo --pretty # 检测代码库中的 ReDoS python3 scripts/regex_analyzer.py --path /path/to/repo --pretty # 运行所有测试 python3 -m pytest tests/ -v ``` ## 贡献指南 有关如何添加语言模式、子技能、CVE 和 IDE 安装目标,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 安全政策 有关负责任的披露政策,请参阅 [SECURITY.md](SECURITY.md)。
标签:AI合规, AI安全, AI编程助手, API安全, Chat Copilot, CI/CD安全, CISA项目, Claude, Cline, Copilot, CORS, CSP, Cursor, Cutter, CVE, CVE检测, DLL 劫持, Dockerfile, ECS, GraphQL安全, IaC安全, IDE插件, IDOR, JSONLines, JSON输出, JWT安全, Llama, StruQ, Taint-flow, Terraform, Visual Studio Code, Windsurf, XML 请求, 业务逻辑漏洞, 代码安全, 内存安全, 加密审计, 协议分析, 大语言模型, 安全开发, 安全标准, 安全测试, 攻击性安全, 数字签名, 数据展示, 权限提升, 正则表达式拒绝服务, 漏洞枚举, 目录枚举, 移动安全, 红队, 网络安全, 聊天机器人, 自动化payload嵌入, 越权漏洞, 逆向工具, 错误基检测, 隐私保护, 零信任, 静态代码分析