cassiodeveloper/SecScore

GitHub: cassiodeveloper/SecScore

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

Stars: 1 | Forks: 0

![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c90ad8d29e063921.svg) ![GitHub release](https://img.shields.io/github/v/release/cassiodeveloper/secscore) ![License](https://img.shields.io/github/license/cassiodeveloper/secscore) ![Marketplace](https://img.shields.io/badge/github-marketplace-blue) ![Python](https://img.shields.io/badge/python-3.10%2B-blue) ![GitHub Action](https://img.shields.io/badge/github-action-ready) # 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安全扫描, 上游代理, 云安全监控, 安全评估工具, 安全评分引擎, 开源框架, 持续集成, 数据投毒防御, 文档结构分析, 无后门, 漏洞管理, 盲注攻击, 策略即代码, 聊天机器人安全, 质量门禁, 逆向工具, 静态分析, 风险评分