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库, 上游代理, 代码安全, 安全合规, 漏洞枚举, 网络代理, 自动笔记