Scanverra
Repo Scanner

مرجع API

ماسح المستودعات

تحليل ثابت لمستودعات GitHub وBitbucket وAzure DevOps - SAST، وكشف الأسرار، وفحص الثغرات (CVE) في التبعيات، وفحوصات IaC، ومؤشرات جودة الكود.

POST/api/repo/scanasync

بدء فحص - جودة الكود، والمشكلات الأمنية، وإصلاحات الذكاء الاصطناعي

تعمل فحوصات المستودعات بشكل غير متزامن وتُعيد فقط scanId فورًا. استعلم عبر GET /api/repo/result أدناه، أو اطّلع على النتائج على https://www.scanverra.com/repo?scan={scanId}. يجب أولاً ربط حساب GitHub أو Bitbucket أو Azure DevOps الخاص بك في إعدادات Scanverra — يعمل الفحص باستخدام الرمز (token) المخزَّن هناك، وليس رمزًا تُرسله مع كل طلب.

نص الطلب

{
  "owner": "your-org",
  "repo": "your-repo",
  "branch": "main"
}

الاستجابة (الفورية)

{
  "scanId": "clxyz..."
}

مثال

curl -X POST https://www.scanverra.com/api/repo/scan \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"owner":"acme","repo":"website","branch":"main"}'
GET/api/repo/resultsynchronous

استعلم عن حالة الفحص باستخدام المعرّف حتى اكتماله

معاملات الاستعلام

?id={scanId}

الاستجابة

{
  "id": "clxyz...",
  "status": "completed",
  "score": 82,
  "qualityGate": "passed",
  "issues": [...],
  "fixes": [...],
  "riskFindings": [...],
  "dependencyVulns": [...],
  "aiSummary": "..."
}

تكون قيمة status إحدى القيم التالية: running أو completed أو failed. استمر بالاستعلام حتى تصبح القيمة مختلفة عن running.

مثال

curl "https://www.scanverra.com/api/repo/result?id=clxyz..." \
  -H "X-API-Key: sk_live_..."

النقطة الطرفية الوحيدة ذات البوابة المدمجة

يُحتسب qualityGate تلقائيًا: تكون القيمة "failed" إذا كان لأي نتيجة severity: "critical"، أو إذا كانت score < 60. تبدأ score من 100 ويتم خصم نقاط منها بحسب شدة كل مشكلة، مع حد أقصى للخصم لكل فئة (الأمان ≤50، التبعيات ≤30، الجودة ≤15، IaC ≤15). هذه هي الأداة الوحيدة التي يوفر فيها حقل واحد إشارة نجاح/فشل جاهزة لأنظمة CI — راجع التكامل مع CI/CD.