العودة إلى التحديثات
New releaseJul 24, 2026

semgrep v1.171.0

تحليل ثابت خفيف الوزن للعديد من اللغات. اعثر على متغيرات الأخطاء باستخدام أنماط تشبه الكود المصدري.

مشاركة

شعار Semgrep

فحص الكود بسرعة هائلة.

Homebrew PyPI التوثيق انضم إلى مجتمع Semgrep على Slack المشكلات مرحب بها! ضع نجمة لـ Semgrep على GitHub سحوبات Docker سحوبات Docker (قديم) تابع @semgrep على تويتر


Semgrep هي أداة تحليل ثابت سريعة ومفتوحة المصدر تبحث في الكود، وتجد الأخطاء، وتفرض قواعد الأمان ومعايير الترميز. تدعم Semgrep أكثر من 30 لغة ويمكن تشغيلها في IDE، وكفحص قبل الالتزام (pre-commit)، وكجزء من سير عمل CI/CD.

Semgrep هي grep دلالي للكود. بينما تشغيل grep "2" سيطابق فقط السلسلة النصية الدقيقة 2، فإن Semgrep ستطابق x = 1; y = x + 1 عند البحث عن 2. تبدو قواعد Semgrep مثل الكود الذي تكتبه بالفعل؛ لا حاجة لأشجار النحو المجردة، أو الصراع مع التعبيرات النمطية، أو لغات خاصة مؤلمة.

لاحظ أنه في سياقات الأمان، ستفوت Semgrep Community Edition العديد من الإيجابيات الحقيقية حيث يمكنها فقط تحليل الكود ضمن حدود دالة أو ملف واحد. إذا كنت ترغب في استخدام Semgrep لأغراض أمنية (SAST، SCA، أو فحص الأسرار)، فإن Semgrep AppSec Platform موصى بها بشدة لأنها تضيف القدرات الحرجة التالية:

  1. قدرات تحليل أساسية محسّنة (عبر الملفات، عبر الدوال، قابلية الوصول لتدفق البيانات) تقلل بشكل كبير من الإيجابيات الخاطئة بنسبة 25% وتزيد الإيجابيات الحقيقية المكتشفة بنسبة 250%
  2. معالجة لاحقة سياقية للنتائج باستخدام Semgrep Assistant (AI) لتقليل الضوضاء بشكل أكبر بنسبة ~20%. بالإضافة إلى ذلك، يثري المساعد النتائج بإرشادات علاجية مخصصة خطوة بخطوة يجدها البشر قابلة للتنفيذ بنسبة >80% من الوقت.
  3. سياسات قابلة للتخصيص وتكامل سلس في سير عمل المطورين، مما يمنح فرق الأمان تحكماً دقيقاً في أين ومتى وكيف يتم عرض النتائج المختلفة للمطورين (IDE، تعليق PR، إلخ.)

تعمل Semgrep AppSec Platform فوراً مع أكثر من 20000 قاعدة خاصة عبر SAST وSCA والأسرار. القواعد الاحترافية مكتوبة ومُدارة بواسطة فريق أبحاث الأمان في Semgrep ودقيقة للغاية، مما يعني أن فرق AppSec يمكنها أن تثق في نقل النتائج مباشرة إلى المطورين دون إبطائهم.

تقوم Semgrep بتحليل الكود محلياً على جهاز الكمبيوتر الخاص بك أو في بيئة البناء الخاصة بك: بشكل افتراضي، لا يتم رفع الكود أبداً. ابدأ الآن ←.

صورة Semgrep CLI

دعم اللغات

Semgrep Code تدعم أكثر من 30 لغة، بما في ذلك:

Apex · Bash · C · C++ · C# · Clojure · Dart · Dockerfile · Elixir · HTML · Go · Java · JavaScript · JSX · JSON · Julia · Jsonnet · Kotlin · Lisp · Lua · OCaml · PHP · Python · R · Ruby · Rust · Scala · Scheme · Solidity · Swift · Terraform · TypeScript · TSX · YAML · XML · عام (ERB, Jinja, إلخ)

Semgrep Supply Chain تدعم 12 لغة عبر 15 مدير حزم، بما في ذلك:

C# (NuGet) · Dart (Pub) · Go (وحدات Go، go mod) · Java (Gradle, Maven) · Javascript/Typescript (npm, Yarn, Yarn 2, Yarn 3, pnpm) · Kotlin (Gradle, Maven) · PHP (Composer) · Python (pip, pip-tool, Pipenv, Poetry) · Ruby (RubyGems) · Rust (Cargo) · Scala (Maven) · Swift (SwiftPM)

لمزيد من المعلومات، انظر اللغات المدعومة.

البدء 🚀

  1. من Semgrep AppSec Platform
  2. من CLI

للمستخدمين الجدد، نوصي بالبدء مع Semgrep AppSec Platform لأنها توفر واجهة مرئية، مشروع تجريبي، سير عمل لتصنيف النتائج واستكشافها، وتجعل الإعداد في CI/CD سهلاً. لا تزال عمليات الفحص محلية ولا يتم رفع الكود. بدلاً من ذلك، يمكنك أيضاً البدء مع CLI والتنقل في مخرجات الطرفية لتشغيل عمليات بحث لمرة واحدة.

الخيار 1: البدء من Semgrep Appsec Platform (موصى به)

صورة منصة Semgrep

  1. سجل على semgrep.dev

  2. استكشف النتائج التجريبية لتعلم كيفية عمل Semgrep

  3. افحص مشروعك بالانتقال إلى Projects > Scan New Project > Run scan in CI

  4. حدد نظام التحكم في الإصدار الخاص بك واتبع خطوات الإعداد لإضافة مشروعك. بعد هذا الإعداد، سوف تفحص Semgrep مشروعك بعد كل طلب سحب.

  5. [اختياري] إذا كنت ترغب في تشغيل Semgrep محلياً، اتبع الخطوات في قسم CLI.

ملاحظات:

إذا كانت هناك أي مشكلات، يرجى طلب المساعدة في Slack Semgrep.

الخيار 2: البدء من CLI

  1. قم بتثبيت Semgrep CLI

    # For macOS
    $ brew install semgrep
    
    # For Ubuntu/WSL/Linux/macOS
    $ python3 -m pip install semgrep
    
    # To try Semgrep without installation run via Docker
    $ docker run -it -v "${PWD}:/src" semgrep/semgrep semgrep login
    $ docker run -e SEMGREP_APP_TOKEN=<TOKEN> --rm -v "${PWD}:/src" semgrep/semgrep semgrep ci
    
  2. قم بتشغيل semgrep login لإنشاء حسابك وتسجيل الدخول إلى Semgrep. هذه الخطوة اختيارية، لكن تسجيل الدخول إلى Semgrep يمنحك الوصول إلى:

  3. اذهب إلى الدليل الجذر لتطبيقك وقم بتشغيل semgrep ci. سيقوم هذا بفحص مشروعك للتحقق من وجود ثغرات في الكود المصدري وتبعياته.

الفئات