安全软件
点击放大

<p align="center">
<img src="docs/.png" alt="" width="600">
</p>
<p align="center">
<strong>AI-powered code security scanner that finds Semgrep and CodeQL miss.</strong>
</p>
<p align="center">
<a href=" alt="PyPI" src="
<a href=" alt="GitHub Marketplace" src="
<a href=" alt="License" src="
<a href=" alt="Stars" src="
</p>
<p align="center">
<a href="#quick-start">Quick Start</a> •
<a href="#github-action">GitHub Action</a> •
<a href="#ools">Comparison</a> •
<a href="#supported-languages">Languages</a> •
<a href="#faq">FAQ</a>
</p>
---
Traditional SAST tools rely on pattern matching and AST rules. They excel at catching known patterns, but they fundamentally cannot reason about intent.
If your API has 20 endpoints and 19 of them authorization before acting on a resource, Semgrep has no way to flag the one that doesn't - because there is no pattern to match against. The is the *absence* of a pattern.
analyzes code with AI, and for every piece of code it examines, it includes related code from elsewhere in your codebase as context. This enrichment step lets the AI compare how similar components handle security - and spot the one that doesn't.
<p align="center">
<img src="docs/demo.svg" alt=" Demo" width="800">
</p>
---
Choose a backend:
No config files. No rules to write. No database to build.
> Claude Code and Codex backends are free for users with existing subscriptions. pipes prompts through your local CLI, so there are no additional API costs.
---
| Capability | | Semgrep | CodeQL | Snyk Code | Checkmarx | SonarQube |
|:---|:---:|:---:|:---:|:---:|:---:|:---:|
| Detection method | AI reasoning | AST patterns | QL data flow | ML + rules | Patterns + flow | Patterns |
| Business logic flaws | Yes | No | Limited | Limited | Limited | No |
| Cross-file context | Automatic | Custom rules | Custom queries | Partial | Paid tier | Limited |
| Setup complexity | Zero config | Rule config | DB build + QL | Config file | Complex | Ser |
| Custom rules required | No | Yes (YAML) | Yes (QL) | Partial | Yes | Yes |
| Context-aware fixes | Yes | Generic | Generic | Generic | Generic | Generic |
| Local / private mode | Ollama | Yes | Yes | No | No | Self-hosted |
| CI/CD integration | 1-line Action | Action | Action | Action | Plugin | Plugin |
| SARIF input (chain tools) | Yes | No | No | No | No | No |
| Pricing | Free\* | Free / Paid | Free / Paid | Free / $$$ | $$$$$ | Free / $$$ |
<sub>\*Free with Claude Code, Codex CLI, or Ollama. API backends cost ~$0.50-$2.00 per scan.</sub>
| class | Why rule-based tools miss it |
|:---|:---|
| Missing authorization on 1-of-N endpoints | No pattern to match - the bug is the *absence* of a check |
| IDOR / BOLA | Requires understanding that the user ID in the JWT should match the ID in the URL |
| Payment amount manipulation | Business logic - the amount field shouldn't be trusted from the client |
| Inconsistent input | 5 handlers sanitize, the 6th doesn't - needs cross-file comparison |
| Stored input misuse | Input sa, but eval()'d or raw-SQL'd 3 files away |
| Race conditions in state updates | Concurrent balance modifications without locking |
is designed as a complementary layer, not a replacement:
| Layer | Tool | Purpose |
|:---|:---|:---|
| 1 | Semgrep | Fast, deterministic gatekeeping on known-bad patterns |
| 2 | CodeQL | Deep taint tracking across complex call chains |
| 3 | | Business logic, auth gaps, IDOR, and inconsistencies rules can't express |
---
Feed Semgrep, CodeQL, or any SARIF-producing tool's output into . It uses those findings as additional context to , expand, and chain them into deeper .
What this enables:
---
runs as a baseline scan on your default branch and incrementally on every pull request.
Findings are automatically uploaded to GitHub's Security > Code Scanning tab .
<table>
<tr><th>Backend</th><th>Configuration</th></tr>
<tr>
<td><strong>Claude Code</strong> (free)</td>
<td>
Get your token: claude config get oauth_token
</td>
</tr>
<tr>
<td><strong>Codex</strong> (free)</td>
<td>
Requires codex login on the runner.
</td>
</tr>
<tr>
<td><strong>Claude API</strong></td>
<td>
</td>
</tr>
<tr>
<td><strong>OpenAI API</strong></td>
<td>
</td>
</tr>
</table>
---
| Language | Extensions | Framework detection |
|:---|:---|:---|
| Python | .py | Django, Flask, FastAPI |
| Ja | .js .jsx | Express, Fastify, Next.js |
| TypeScript | .ts .tsx | Express, NestJS, Fastify |
| Go | .go | net/http handlers |
| Java | .java | Class/method splitting |
| PHP | .php | Lara, classes, traits, interfaces |
| Ruby | .rb .erb | Rails routes, classes, modules |
---
The enrichment step is the core differentiator. For each code chunk, includes:
This gives the AI the context it needs to identify inconsistencies.
---
Exclude paths from scanning (gitignore syntax):
| | Description |
|:---|:---|
| CLAUDE_CODE_OAUTH_TOKEN | Claude Code CLI authentication (free for subscribers) |
| ANTHROPIC_API_KEY | Claude API key |
| OPENAI_API_KEY | OpenAI API key |
---
| Backend | Per scan (~100 files) | Requirement |
|:---|:---|:---|
| Claude Code CLI | Free | Claude Code Max or Team subscription |
| Codex CLI | Free | ChatGPT Pro or Plus subscription |
| Claude API | ~$0.50 - $2.00 | Anthropic API credits |
| OpenAI API | ~$1.00 - $4.00 | OpenAI API credits |
| Ollama | Free | Local machine with 8GB+ VRAM |
---
<details>
<summary><strong>How does the Claude Code CLI backend work for free?</strong></summary>
Claude Code subscriptions (Max at $100-$200/mo, or Team plans) include unlimited CLI usage. invokes claude --print under the hood, piping analysis prompts through your existing subscription. No API key. No per-token billing.
</details>
<details>
<summary><strong>How do I get my OAuth token for CI/CD?</strong></summary>
Run claude config get oauth_token on your local machine. Add the output as a GitHub Actions secret named CLAUDE_CODE_OAUTH_TOKEN.
</details>
<details>
<summary><strong>Should I run it on every PR or only on main?</strong></summary>
Both. Push-to-main scans establish your security baseline and populate the Security tab. PR scans catch new before merge. The recommended workflow config handles both triggers.
</details>
<details>
<summary><strong>Is my code sent to an external service?</strong></summary>
Yes - code chunks are sent to the configured LLM provider (Anthropic or OpenAI). For fully private, air-gapped scanning, use the Ollama backend which runs entirely on your local machine.
</details>
<details>
<summary><strong>Does it replace Semgrep or CodeQL?</strong></summary>
No. is a complementary layer. Semgrep and CodeQL are excellent at what they do (pattern matching and taint tracking). catches the business logic bugs, auth gaps, and inconsistencies that rules cannot express. Use all three together for the strongest co.
</details>
<details>
<summary><strong>Does it support PHP / Laravel and Ruby / Rails?</strong></summary>
Yes. includes framework-aware chunking for both. It detects Laravel Route::get() definitions, PHP classes/traits/interfaces, Rails route declarations (get, post, resources), and Ruby classes/modules. It also extracts framework-specific imports (use, require, include).
</details>
<details>
<summary><strong>What is SARIF input?</strong></summary>
You can feed a SARIF file produced by any other scanner (Semgrep, CodeQL, Snyk, etc.). uses those findings as additional context during analysis - them, finding related issues nearby, and building multi-step attack chains that connect findings across tools.
</details>
---
See CONTRIBUTING.md.
---
If is useful to you, consider sponsoring the project to support continued de.
---
is built and maintained by GreyCore Labs, a US-incorporated offensi firm. Want the same eye on your own product?
is source-a under the License.
Free for e - indi, teams, startups, and enterprises may use at no cost for internal security scanning, provided it is installed from an official distribution channel:
You may not sell the Software, offer it as a competing service, or redistribute forks as a product. Forks are permitted solely for submitting pull requests back to this repository. See LICENSE for full terms.
开发语言:Python
Star 数:84
该项目属于安全软件方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕AI-powered SAST scanner that finds auth bypass, IDOR, and logic bugs Semgrep/CodeQL miss. Free GitHub Action. Supports Python, JS/TS, Go, PHP, Ruby.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | vulnhawk - AI-powered SAST scanner that finds auth bypass, ID |
| 所属分类 | 安全软件 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 22:43:08 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 450 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |