
GitHub Action: فحص Offensive360 SAST مع مخرجات SARIF لفحص الكود. أكثر من 60 لغة. مجاني للمصادر المفتوحة.
قم بتشغيل فحص أمان تطبيقات ثابت (SAST) كامل من Offensive360 عند كل push أو pull request. تحليل عميق للـ taint وتدفق البيانات عبر أكثر من 60 لغة، مع نتائج بصيغة SARIF لتبويب code scanning في GitHub، وبوابة تصعيد (severity gate) لخط الأنابيب الخاص بك.
مجاني للمصادر المفتوحة: يمكن للمستودعات العامة طلب رمز فحص مجاني — انظر 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
تظهر النتائج بعد ذلك تحت Security → Code scanning مع مواقع الملفات والأسطر، وتوجيهات التأثير والمعالجة، ومسارات كاملة في لوحة تحكم Offensive360 الخاصة بك.
قم بتخزين الرمز كسر سري في المستودع (مثل O360_API_TOKEN). لا تقم أبدًا بإرساله إلى git.
| Input | Default | Description |
|---|---|---|
api-url | — (required) | Base URL of your Offensive360 instance |
api-token | — (required) | External scan token (repository secret) |
project-name | repository name | Project name in the Offensive360 dashboard |
path | . | Directory to scan |
dependency-scan | false | Also run dependency (SCA) analysis |
malware-scan | false | Also run malware / binary tampering analysis |
license-scan | false | Also run license compliance analysis |
fail-on | high | Fail the job at/above this severity: none, low, medium, high, critical |
sarif-file | offensive360.sarif | Path of the SARIF report to write |
timeout-seconds | 3000 | Max seconds to wait for the scan |
exclude | .git node_modules dist … | Space-separated directory names excluded from upload |
upload-sarif | false | Upload SARIF to GitHub code scanning (needs security-events: write) |
| Output | Description |
|---|---|
total, critical, high, medium, low | Finding counts |
status | Scan status (Succeeded, PartialFailed, …) |
sarif-file | Path of the generated SARIF report |
project-id | Offensive360 project id for this repository |
مثال — التعليق على الأعداد في خطوات لاحقة:
- 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 بالإضافة إلى متغير CI/CD مقنّع O360_API_TOKEN.
يعمل الفحص بشكل مطابق (نفس API، ExternalScanSourceType=GitLab).
bash, zip, curl, python3 — جميعها مثبتة مسبقًا).path، أو استخدم المثيل الخاص بك.PartialFailed عندما تنجح بعض محركات اللغة
وتفشل أخرى — لا يزال SARIF يحتوي على جميع النتائج المكتملة.منصة واحدة لـ SAST و DAST و MAST و SCA وتحليل البرمجيات الخبيثة والملفات الثنائية والامتثال للتراخيص — تسعير ثابت، مستخدمون وفحوصات غير محدودة، محليًا أو سحابيًا. offensive360.com · احجز عرضًا توضيحيًا