RSOLV-dev/rsolv-action
GitHub: RSOLV-dev/rsolv-action
基于测试优先方法的 AI 安全漏洞检测与自动修复工具,通过生成可执行利用测试证明漏洞存在并验证修复效果。
Stars: 0 | Forks: 0
# RSOLV:测试优先的 AI 安全修复
[](https://github.com/marketplace/actions/rsolv-test-first-ai-security-fixes)
## 为什么选择 RSOLV?
- **🔍 证据,而非警告** — 我们生成一个能够利用每个漏洞的失败测试。您可以自己运行——如果测试失败,说明漏洞是真实的。不再需要调查扫描器给出的“可能”结果。
- **✅ 确实有效的修复** — 我们的 AI 编写的修复代码能够让利用测试通过。不是“这应该能修复它”——而是证明漏洞已经消失。
- **🛡️ 内置回归保护** — 那个利用测试将永远保留在您的代码库中。该漏洞永远无法悄无声息地卷土重来。
- **🔧 您的工具,您的框架** — 测试在 Jest、pytest、RSpec 中运行——无论您已经使用什么。无需学习新工具。
## 快速开始
### 1. 获取您的 API Key
- [在 rsolv.dev/signup 注册](https://rsolv.dev/signup) - 立即获得 5 个免费额度,添加账单信息后再获 5 个
### 2. 将 API Key 添加到 GitHub Secrets
在您的仓库中:Settings → Secrets → New repository secret
- Name:`RSOLV_API_KEY`
- Value:您在第 1 步中获得的 API key
### 3. 选择您的工作流
**推荐:扫描 + 矩阵处理** (生产工作流)
具有单 issue 隔离功能的双作业 pipeline。扫描作业检测漏洞,然后矩阵策略独立处理每个 issue —— 每个 PR 对应一个漏洞,修复之间不会发生范围泄漏。
创建 `.github/workflows/rsolv-security.yml`:
```
name: RSOLV Security Pipeline
on:
push:
branches: [main]
schedule:
- cron: '0 0 * * 0' # Weekly scan
workflow_dispatch:
jobs:
scan:
runs-on: ubuntu-latest
outputs:
pipeline_run_id: ${{ steps.rsolv.outputs.pipeline_run_id }}
issue_numbers: ${{ steps.rsolv.outputs.issue_numbers }}
permissions:
contents: write
issues: write
steps:
- uses: actions/checkout@v4
- id: rsolv
uses: RSOLV-dev/RSOLV-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
rsolvApiKey: ${{ secrets.RSOLV_API_KEY }}
mode: 'scan'
max_issues: '3'
process:
needs: scan
if: needs.scan.outputs.issue_numbers != '[]'
strategy:
matrix:
issue_number: ${{ fromJSON(needs.scan.outputs.issue_numbers) }}
fail-fast: false
max-parallel: 1
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: RSOLV-dev/RSOLV-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
rsolvApiKey: ${{ secrets.RSOLV_API_KEY }}
mode: 'process'
pipeline_run_id: ${{ needs.scan.outputs.pipeline_run_id }}
issue_number: ${{ matrix.issue_number }}
```
**为什么采用这种模式?**
- 每个矩阵单元获得一个全新的 `actions/checkout` —— 没有共享的工作目录
- 每个 PR 对应一个漏洞,修复之间不会发生范围泄漏
- `fail-fast: false` 确保一次失败不会阻止其他修复
- `max-parallel: 1` 避免分支冲突(如果您的仓库可以处理并发 PR,可以增加此值)
- `pipeline_run_id` 将扫描结果连接到每个处理步骤
- `issue_numbers` 输出驱动 GitHub Actions 矩阵策略
**仅扫描** (评估模式)
运行扫描而不处理修复。适合先了解您的安全状况。
```
name: RSOLV Security Scan
on:
push:
branches: [main]
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
jobs:
security:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
steps:
- uses: actions/checkout@v4
- name: RSOLV Security Scan
uses: RSOLV-dev/RSOLV-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
rsolvApiKey: ${{ secrets.RSOLV_API_KEY }}
mode: 'scan'
```
**旧版 (已弃用): 完整 Pipeline**
```
name: RSOLV Full Pipeline (deprecated)
on:
push:
branches: [main]
jobs:
security:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: RSOLV-dev/RSOLV-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
rsolvApiKey: ${{ secrets.RSOLV_API_KEY }}
mode: 'full' # deprecated -- use scan+matrix instead
```
## 工作原理
RSOLV 采用三阶段测试优先方法论:
1. **SCAN (扫描)** - 使用 170 多种安全模式和 AST 验证检测漏洞
2. **VALIDATE (验证)** - 生成可执行的 RED 测试,证明漏洞存在
3. **MITIGATE (缓解)** - 应用 AI 生成的修复,使测试通过
每次修复都通过测试证明——测试之前失败,之后通过——无需猜测。
## 配置选项
### 核心输入
| Input | Description | Required | Default |
|-------|-------------|----------|---------|
| `rsolvApiKey` | RSOLV API key (在 rsolv.dev/signup 获取) | Yes | - |
| `mode` | 操作模式: `scan`, `process`, 或 `full` (已弃用) | No | `scan` |
| `pipeline_run_id` | 来自先前扫描步骤的 Pipeline run ID ( `process` 模式必需) | No | - |
| `issue_number` | 要处理的 Issue 编号 (在 `process` 模式下与矩阵策略一起使用) | No | - |
| `github-token` | GitHub token (由 Actions 自动提供) | No | `${{ github.token }}` |
| `max_issues` | 每次运行处理的最大 issue 数 | No | `1` |
### 高级输入
| Input | Description | Default |
|-------|-------------|---------|
| `enable_ast_validation` | 使用 AST 验证以减少误报 | `true` |
| `executable_tests` | 生成可执行的 RED 测试 | `true` |
| `claude_max_turns` | 测试生成的 Claude 最大迭代次数 | `5` |
| `enable_educational_pr` | 在 PR 中包含安全说明 | `true` |
| `api_url` | RSOLV API endpoint | `https://api.rsolv.dev` |
有关完整的配置选项,请参阅 [Documentation](https://docs.rsolv.dev)。
## 安全特性
### 170 多种安全模式
覆盖 7 种语言的企业级漏洞检测,涵盖 OWASP Top 10:
- **注入**: SQL, NoSQL, Command, LDAP, Template, XPath
- **XSS**: React dangerouslySetInnerHTML, innerHTML, document.write
- **认证**: JWT 漏洞, 弱会话, 缺少认证
- **访问控制**: 缺少授权, CSRF, 未经验证的重定向
- **加密失败**: 弱加密, 硬编码机密
- **配置错误**: CORS, 安全头, 调试模式
- **易受攻击的组件**: 过时的依赖项, 危险的函数
- **SSRF**: 服务端请求伪造 (含 DNS 重绑定保护)
### 双层验证
**第 1 层:AST 分析** 在您看到之前过滤噪音:
- 注释检测 (过滤掉文档)
- 字符串字面量分析 (忽略示例代码)
- 数据流分析 (验证可达性)
**第 2 层:可执行证明** — 每个通过 AST 验证的漏洞都会获得一个生成的利用测试。如果测试没有失败,我们就不报告它。
支持:JavaScript, TypeScript, Python, Ruby, Java, PHP, Elixir
## 定价
- **试用**: 注册免费获 5 个额度,添加付款方式后再获 5 个
- **按需付费**: $29/次修复
- **Pro**: $599/月 (包含 60 次修复,额外修复 $15/次)
[查看详细定价](https://rsolv.dev/pricing)
## 速率限制
**AST 验证 API:** 每个 API key 每小时 500 次请求
此限制适用于漏洞验证(计算量大)。其他端点(模式获取、阶段数据)有宽裕的限制。每周定期扫描和手动运行都在这些限制内工作。
**需要更高的限制?** 通过 [support@rsolv.dev](mailto:support@rsolv.dev) 联系我们了解企业计划。
## 支持与文档
- 📧 Email: [support@rsolv.dev](mailto:support@rsolv.dev)
- 📖 Docs: [docs.rsolv.dev](https://docs.rsolv.dev)
- 💬 GitHub Issues: [报告错误或请求功能](https://github.com/RSOLV-dev/rsolv-action/issues)
## 故障排除
### 常见问题
#### Pull Request 创建失败
如果 RSOLV 无法创建 pull request:
1. 检查工作流是否具有 `contents: write` 和 `pull-requests: write` 权限
2. 验证 GITHUB_TOKEN 配置正确
3. 检查 action 日志中的具体错误消息
#### Issue 中的文件路径
创建 issue 时请始终使用 **相对路径** (而非绝对路径):
- ✅ **正确**: `app/data/allocations-dao.js`
- ❌ **错误**: `/app/data/allocations-dao.js`
GitHub Actions 在容器化环境中运行,绝对路径可能会失败。
#### 超时问题
对于复杂的漏洞:
- 默认超时为 60 分钟
- 考虑一次处理一个 issue
- 先使用 `mode: scan` 评估范围
如需更多帮助,请参阅 [Documentation](https://docs.rsolv.dev) 或 [open an issue](https://github.com/RSOLV-dev/rsolv-action/issues)。
## 许可证
Copyright © 2026 RSOLV. All rights reserved.
本软件为专有软件。有关条款,请参阅 [LICENSE](LICENSE)。
**由测试优先工程师构建。** 我们在修复之前编写失败测试——在我们的代码中如此,现在在您的代码中也是如此。
标签:CI/CD 安全, CMS安全, DevSecOps, GitHub Actions, GitHub Marketplace, JavaScript, JS文件枚举, Python, SOC Prime, 上游代理, 人工智能, 代码安全, 单元测试生成, 回归测试, 安全合规, 安全漏洞检测, 安全规则引擎, 开发工具, 数据可视化, 数据投毒防御, 无后门, 漏洞修复, 漏洞枚举, 用户模式Hook绕过, 网络代理, 网络安全培训, 自动化代码修复, 自动化攻击, 自动化攻击, 自动笔记, 软件供应链安全, 远程方法调用, 逆向工具, 静态应用程序安全测试(SAST)