在每次推送或拉取请求时运行完整的 Offensive360 静态应用安全扫描(SAST)。支持 60+ 种语言的深度污点分析和数据流分析,结果以 SARIF 格式呈现于 GitHub 代码扫描 标签页,并为你的流水线提供严重性门禁。
开源免费: 公共仓库可申请免费扫描令牌 — 请参阅 offensive360.com/free-for-open-source。
name: SAST
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
security-events: write # only needed when upload-sarif is enabled
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: offensive360/sast-scan-action@v1
with:
api-url: https://sast.offensive360.com # or your own on-prem instance
api-token: ${{ secrets.O360_API_TOKEN }}
upload-sarif: 'true'
fail-on: high
扫描结果随后会显示在 安全 → 代码扫描 下,包含文件/行位置、影响与修复建议,以及 Offensive360 仪表板中的完整追踪信息。
将令牌存储为仓库机密(例如 O360_API_TOKEN)。切勿将其提交到代码中。
| 输入 | 默认值 | 描述 |
|---|---|---|
api-url | —(必填) | Offensive360 实例的基础 URL |
api-token | —(必填) | 外部扫描令牌(仓库机密) |
project-name | 仓库名称 | Offensive360 仪表板中的项目名称 |
path | . | 要扫描的目录 |
dependency-scan | false | 同时运行依赖(SCA)分析 |
malware-scan | false | 同时运行恶意软件 / 二进制篡改分析 |
license-scan | false | 同时运行许可证合规性分析 |
fail-on | high | 达到或超过此严重性时使任务失败:none、low、medium、high、critical |
sarif-file | offensive360.sarif | 要写入的 SARIF 报告路径 |
timeout-seconds | 3000 | 等待扫描完成的最大秒数 |
exclude | .git node_modules dist … | 以空格分隔的、从上传中排除的目录名称 |
upload-sarif | false | 将 SARIF 上传到 GitHub 代码扫描(需要 security-events: write) |
| 输出 | 描述 |
|---|---|
total、critical、high、medium、low | 发现的问题数量 |
status | 扫描状态(Succeeded、PartialFailed 等) |
sarif-file | 生成的 SARIF 报告路径 |
project-id | 此仓库对应的 Offensive360 项目 ID |
示例 — 将计数输出到后续步骤:
- uses: offensive360/sast-scan-action@v1
id: o360
with:
api-url: ${{ vars.O360_API_URL }}
api-token: ${{ secrets.O360_API_TOKEN }}
- run: echo "Found ${{ steps.o360.outputs.total }} issues (${{ steps.o360.outputs.critical }} critical)"
使用 GitLab?请引入本仓库中的等效模板:
include:
- remote: 'https://raw.githubusercontent.com/offensive360/sast-scan-action/main/templates/gitlab-ci.yml'
并设置 O360_API_URL 以及一个掩码的 O360_API_TOKEN CI/CD 变量。
扫描行为完全相同(同一 API,ExternalScanSourceType=GitLab)。
bash、zip、curl、python3 — 均已预装)。path 扫描子目录,或使用你自己的实例。PartialFailed — SARIF 仍包含所有已完成的发现结果。一个平台涵盖 SAST、DAST、MAST、SCA、恶意软件与二进制分析以及许可证合规性 — 统一价格、无限用户和扫描次数,支持本地部署或云端。 offensive360.com · 预约演示