opensecdevops/osdo-actions

GitHub: opensecdevops/osdo-actions

一个集中式 Monorepo,为 OSDO 框架维护细粒度、独立版本且可复用的 GitHub Composite Actions,覆盖 DevSecOps 全流程安全工具链。

Stars: 1 | Forks: 0

# OSDO Actions **Open SecDevOps (OSDO) - Actions 仓库** 一个集中式的 Monorepo,维护了所有用于 OSDO 框架的**细粒度 GitHub Actions**。每个 Action 都是**独立、带版本控制且可复用的**。 ## 📚 目录 - [描述](#descripción) - [结构](#estructura) - [可用的 Actions](#acciones-disponibles) - [快速使用](#uso-rápido) - [版本控制](#versionado) - [与其他仓库的关系](#relación-con-otros-repos) - [贡献](#contribución) - [支持](#soporte) ## 描述 `osdo-actions` 是一个 **monorepo**,托管了 OSDO 框架使用的所有 GitHub Actions。它提供: **细粒度的 Actions** - 每个安全工具都有独立的 Action **语义化版本控制** - 每个 Action 都有独立的版本控制 **复用性** - 可以在你自己的 workflow 中使用它们 **集中式发布** - 只需一个 workflow 即可发布所有 Action **完善的文档** - 每个 Action 都有详尽的文档 ## 结构 ``` osdo-actions/ ├── actions/ │ ├── osdo-sca/ # Software Composition Analysis │ │ └── action.yml # npm audit, Safety, etc. │ ├── osdo-sast/ # Static Application Security Testing │ │ └── action.yml # Semgrep, Bandit, etc. │ ├── osdo-secrets-scan/ # Detección de secretos │ │ └── action.yml # TruffleHog, Gitleaks │ ├── osdo-container-scan/ # Container security │ │ └── action.yml # Trivy, Hadolint │ ├── osdo-iac-scan/ # Infrastructure as Code scanning │ │ └── action.yml # Checkov, TFLint, etc. │ ├── osdo-sbom/ # Software Bill of Materials │ │ └── action.yml # CycloneDX, generación │ ├── osdo-sign/ # Code signing & attestation │ │ └── action.yml # cosign, attestation │ ├── osdo-test-quality/ # Test & quality checks │ │ └── action.yml # Coverage, quality gates │ └── osdo-compliance-report/ # Compliance reporting │ └── action.yml # Reporte de compliance ├── .github/ │ └── workflows/ │ └── publish.yml # Publicar releases ├── docs/ # Documentación específica ├── README.md # Este archivo ├── CHANGELOG.md # Historial de versiones └── LICENSE ``` ## 可用的 Actions | Action | 目的 | 版本 | 使用 | |--------|-----------|---------|-----| | **osdo-sca** | 软件成分分析 | v1.0.0+ | npm, pip, maven, 等 | | **osdo-sast** | 静态代码分析 | v1.0.0+ | Semgrep, Bandit, 等 | | **osdo-secrets-scan** | 密钥检测 | v1.0.0+ | TruffleHog, Gitleaks | | **osdo-container-scan** | 容器扫描 | v1.0.0+ | Trivy, Grype, Hadolint, SBOM | | **osdo-iac-scan** | Infrastructure as Code | v1.0.0+ | Checkov, KICS, tfsec, Terrascan | | **osdo-sbom** | Bill of Materials | v1.0.0+ | CycloneDX, SPDX | | **osdo-sign** | Code signing | v1.0.0+ | cosign, attestation | | **osdo-test-quality** | 测试与质量 | v1.0.0+ | 覆盖率, 质量门禁 | | **osdo-compliance-report** | 合规报告 | v1.0.0+ | 报告整合 | | **osdo-dast-scan** | 动态应用安全测试 | v1.0.0+ | OWASP ZAP, SSL/TLS 检查 | | **osdo-api-scan** | API 安全测试 | v1.0.0+ | OpenAPI 验证, fuzzing | | **osdo-mobile-scan** | 移动安全 | v1.0.0+ | MASVS 合规, iOS/Android | | **osdo-cloud-scan** | 云安全 | v1.0.0+ | AWS/Azure/GCP, Prowler | | **osdo-license-scan** | 许可证合规 | v1.0.0+ | 许可证检测, 策略执行 | | **osdo-llm-scan** | LLM/AI 安全 | v1.0.0+ | Prompt 注入, 模型安全 | | **osdo-build-security** | 包含 SBOM 的安全构建 | v1.0.0+ | 构建强化, SBOM 生成 | | **osdo-fuzz** | 应用 Fuzzing | v1.0.0+ | Go, Python Atheris, Rust cargo-fuzz, JS jsfuzz, C/C++ AFL++ | | **osdo-policy-gate** | Policy as Code | v1.0.0+ | OPA, Kyverno | | **osdo-security-gate** | 安全质量门禁 | v1.0.0+ | 严重性阈值, pipeline 阻断 | | **osdo-setup-env** | 环境配置 | v1.0.0+ | 工具设置与环境变量 | | **osdo-slsa-provenance** | SLSA Provenance | v1.0.0+ | SLSA Level 3, Sigstore/Cosign, Rekor | | **osdo-smart-contract-audit** | 智能合约审计 | v1.0.0+ | 用于 Solidity 的 Slither, Mythril, Solhint | ## 快速使用 ### 使用单个 Action ``` name: Security Scan on: [push, pull_request] jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Usar acción directamente - name: SCA Scan uses: opensecdevops/osdo-actions/actions/osdo-sca@osdo-sca/v1.0.0 with: results-dir: '.osdo/results' enable-npm: true enable-python: true ``` ### 组合多个 Actions ``` jobs: security: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: SCA Analysis uses: opensecdevops/osdo-actions/actions/osdo-sca@osdo-sca/v1.0.0 - name: SAST Analysis uses: opensecdevops/osdo-actions/actions/osdo-sast@osdo-sast/v1.0.0 - name: Secrets Scan uses: opensecdevops/osdo-actions/actions/osdo-secrets-scan@osdo-secrets-scan/v1.0.0 - name: Generate Report uses: opensecdevops/osdo-actions/actions/osdo-compliance-report@osdo-compliance-report/v1.0.0 ``` ## 版本控制 每个 Action 遵循带有独立标签的 **Semantic Versioning**: ``` osdo-/v.. ``` **示例:** ``` osdo-sca/v1.0.0 # Primera versión osdo-sca/v1.1.0 # Nueva feature (backwards compatible) osdo-sast/v2.0.0 # Breaking change ``` ### 发布新版本 ``` # 1. 修改 action git checkout -b feature/mejora-sca # 2. 编辑 action # actions/osdo-sca/action.yml # 3. Commit 和 Push git add . git commit -m "feat(osdo-sca): agregar soporte para npm semver ranges" git push origin feature/mejora-sca # 4. 创建 PR 并获取批准 # 5. 合并到 main # 6. 发布 release gh release create osdo-sca/v1.1.0 \ --title "Release: osdo-sca v1.1.0" \ --notes "Soporte para npm semver ranges" ``` ## 与其他仓库的关系 ### 三层架构 ``` ┌──────────────────────────────────────────────────┐ │ osdo-workflow-template (Orquestador) │ │ Usa acciones de osdo-actions + osdo-workflows │ └────────────────────┬─────────────────────────────┘ │ ┌───────────┴───────────┐ │ │ ┌────▼────────────┐ ┌─────▼──────────────┐ │ osdo-actions │ │ osdo-workflows │ │ (Granulares) │ │ (Reutilizables) │ └─────────────────┘ └────────────────────┘ ``` ### **osdo-actions**(本仓库) - **细粒度**且**独立**的 Actions - 每个工具 = 1 个 Action - 可在任何上下文中复用 - 独立进行版本控制 **在以下情况使用:** - 你需要**细粒度控制** - 你想组合**特定**的工具 - 你正在开发**自己的编排** ### **osdo-workflow-template** - 🎯 **完整**且**带有既定规范**的框架 - 🔗 编排 `osdo-actions` 中的 actions - 📦 提供可复用的 workflows - ⚙️ 预置了最佳实践 **在以下情况使用:** - 你想要一个**完整的** pipeline - 你不需要**极致的定制化** - 你追求**“默认安全 (security by default)”** ### **osdo-workflows** - 📋 可复用的 workflows - 🎯 适用于特定场景 - 🔄 框架的补充 ## 📚 文档 - 📖 [ARCHITECTURE.md](../ARCHITECTURE.md) - 整体架构说明 - 📋 [INTEGRATION_GUIDE.md](../INTEGRATION_GUIDE.md) - 完整集成指南 - 🤝 [CONTRIBUTING.md](../CONTRIBUTING.md) - 详细的贡献指南 - 🔧 [docs/ACTIONS_REFERENCE.md](docs/ACTIONS_REFERENCE.md) - 技术参考 ## 🆘 支持 ### 获取帮助 - 📖 [完整示例](docs/examples.md) - 🐛 [故障排除](docs/TROUBLESHOOTING.md) - 💬 [GitHub Discussions](https://github.com/opensecdevops/osdo-actions/discussions) - 🐙 [GitHub Issues](https://github.com/opensecdevops/osdo-actions/issues) ### 报告安全问题 对于安全漏洞,请**不要**公开 issue。相反,请使用: [GitHub Security Advisory](https://github.com/opensecdevops/osdo-actions/security/advisories) ## 📊 影响力 - **22 个 Actions** 用于生产环境 - **30+ 种安全工具** 已集成 - **10+ 种编程语言** 受支持 - **100+ 个项目** 依赖于它 ## 🎯 路线图 - [x] DAST (动态应用安全测试) - [x] 许可证合规扫描 - [x] API 安全测试 - [x] 移动安全 (MASVS) - [x] 云安全 (多云) - [ ] 实时安全仪表盘 - [ ] 基于 ML 的异常检测 - [ ] 自定义规则引擎 ## 📄 许可证 MIT License - 查看 [LICENSE](LICENSE) ## 🌟 喜欢?给个 Star ⭐ 如果你觉得这个项目有用,请在 [GitHub](https://github.com/opensecdevops/osdo-actions) 上给它点个 Star。这有助于其他人发现它! **OSDO Actions** - 模块化、可扩展且可复用的安全方案。 由 OpenSecDevOps 社区 ❤️ 制作 [网站](https://opensecdevops.dev) | [Twitter](https://twitter.com/opensecdevops) | [Slack](https://opensecdevops.slack.com)
标签:DevSecOps, GitHub Actions, Python库, 上游代理, 代码安全, 安全合规, 漏洞枚举, 网络代理, 自动笔记