cassiodeveloper/SecScore
GitHub: cassiodeveloper/SecScore
SecScore是一个轻量级CI/CD管道安全评分引擎,将SARIF格式的安全扫描结果转换为统一评分和自动化决策,帮助团队在Pull Request流程中实施安全门禁。
Stars: 1 | Forks: 0






# SecScore
🇺🇸 English | 🇧🇷 [Português](README.pt-br.md)
**至关重要的安全评分。**
安全扫描器
↓
SARIF
↓
SecScore
↓
PASS / REVIEW / FAIL
SecScore 是一个轻量级的 CI/CD 管道安全评分引擎。
它评估来自安全扫描器的发现结果,并计算 **Pull Request 的单一安全评分**,使团队能够自动决定某项更改是应该 **PASS(通过)、需要 REVIEW(审查)还是 FAIL(失败)**。
该工具与扫描器无关,并支持 **SARIF**,因此与大多数现代安全扫描器兼容。
## 为什么选择 SecScore
安全扫描器生成发现结果。
但管道需要 **决策**。
管道流程:
Scanner(扫描器) → Findings(发现结果) → SecScore → Score(评分) → Decision(决策)
示例:
Score(评分): 82 / 100
Decision(决策): REVIEW
## 关键特性
- 针对 Pull Request 的安全评分
- 针对严重漏洞的强制失败规则
- 兼容 SARIF (Snyk, CodeQL, Semgrep, Checkmarx 等)
- GitHub Action 就绪
- 策略驱动的安全决策
- 轻量且快速
- 开源
## 工作原理
Security Scanner(安全扫描器)
↓
SARIF
↓
SecScore Parser(解析器)
↓
Policy Engine(策略引擎)
↓
Score Calculation(评分计算)
↓
PASS / REVIEW / FAIL
兼容:
- [X] Snyk
- [X] Semgrep
- [X] CodeQL
- [X] Checkmarx
- [X] Trivy
- [X] 任何兼容 SARIF 的扫描器
## 支持的输入
| Scanner | Format |
|-------|-------|
| Snyk | SARIF |
| CodeQL | SARIF |
| Semgrep | SARIF |
| Checkmarx | SARIF |
| Checkmarx API | JSON |
大多数现代安全扫描器都支持 SARIF。
## 安装
克隆仓库:
```
git clone https://github.com/cassiodeveloper/secscore
cd secscore
```
安装依赖:
```
pip install -r requirements.txt
```
## 本地运行
你可以使用提供的示例在本地测试 SecScore。
```
python -m secscore.cli.main pr --sarif examples/example-snyk.sarif --policy policy/policy-pr.yml
```
示例输出:
```
Score: 85 / 100
Decision: PASS
```
## GitHub Action
示例工作流:
```
name: SecScore PR
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
checks: write
jobs:
secscore:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run SecScore
uses: cassiodeveloper/secscore@v1
with:
sarif: results.sarif
```
## 策略驱动安全
示例策略:
```
base_score: 100
penalties:
high: 20
medium: 10
low: 5
hard_fail:
- domain: sast
severity_in: ["critical"]
is_new: true
```
## 示例
示例 SARIF 文件:
examples/
- example-snyk.sarif
- example-checkmarx.sarif
示例工作流:
examples/workflows/
- example-minimal.yml
- example-snyk.yml
- example-checkmarx.yml
- example-checkmarx-api.yml
- example-multi-scanner.yml
## 项目结构
```
secscore/
adapters/
cli/
core/
normalizers/
utils/
examples/
policy/
schema/
```
## 安全
如果你在本项目中发现漏洞,请负责任地报告。
[SECURITY.md](SECURITY.md)
## 贡献
欢迎贡献。请阅读:
[CONTRIBUTING.md](CONTRIBUTING.md)
## 许可证
本项目根据 MIT 许可证授权。
[LICENSE](LICENSE)
## 理念
安全扫描器会产生噪音。
SecScore 专注于真正重要的内容:
**在 CI/CD 管道中做出清晰、自动化的安全决策。**
标签:Checkmarx, CI/CD 安全, CodeQL, DevSecOps, GitHub Action, GPT, Python, SARIF 解析, SAST, Semgrep, Snyk, WordPress安全扫描, 上游代理, 云安全监控, 安全评估工具, 安全评分引擎, 开源框架, 持续集成, 数据投毒防御, 文档结构分析, 无后门, 漏洞管理, 盲注攻击, 策略即代码, 聊天机器人安全, 质量门禁, 逆向工具, 静态分析, 风险评分