Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gosec — مدقق أمان Go | Kitploit
أدوات/GitHubGitHub/securego/gosec
تحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةتحليل الكودDevSecOpsالأفضل في تحليل الكود #9الأفضل في تحليل الشفرة الثابت (SAST) #6
GitHubsecurego/gosec

gosec

مدقق أمان Go

عرض المستودع
8.9k701119منذ 15س 13دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

gosec - فاحص أمان Go

يفحص الشيفرة المصدرية بحثًا عن مشكلات أمنية من خلال مسح شجرة AST الخاصة بـ Go وتمثيل الشيفرة SSA.

روابط سريعة

  • إجراء GitHub
  • التثبيت المحلي
  • البدء السريع
  • أنماط الاستخدام الشائعة
  • اختيار القواعد
  • صيغ الإخراج

الميزات

  • قواعد قائمة على الأنماط لاكتشاف المشكلات الأمنية الشائعة في شيفرة Go
  • محللات قائمة على SSA لتحويلات الأنواع وحدود الشرائح ومشكلات التشفير
  • تحليل التلوث (Taint analysis) لتتبع تدفق البيانات من إدخال المستخدم إلى الدوال الخطرة (حقن SQL، حقن الأوامر، اجتياز المسار، SSRF، XSS، حقن السجلات، حقن SMTP، SSTI، إلغاء التسلسل غير الآمن، إعادة التوجيه المفتوح)

الترخيص

مرخّص بموجب رخصة Apache، الإصدار 2.0 ("الرخصة"). لا يجوز لك استخدام هذا الملف إلا وفقًا للرخصة. يمكنك الحصول على نسخة من الرخصة هنا.

حالة المشروع

CII Best Practices Build Status Coverage Status GoReport GoDoc Docs Downloads GHCR Slack go-recipes

التثبيت

إجراء GitHub

يمكنك تشغيل gosec كإجراء GitHub على النحو التالي:

استخدم الوسم المُصدَّر بالإصدار مع @master المثبَّت على أحدث إصدار مستقر. سيوفر هذا سلوكًا مستقرًا.

name: Run Gosec
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@master
        with:
          args: ./...

فحص المشاريع التي تحتوي على وحدات خاصة

إذا كان مشروعك يستورد وحدات Go خاصة، فأنت بحاجة إلى تكوين المصادقة حتى يتمكن gosec من جلب الاعتماديات. عيّن متغيرات البيئة التالية في سير عملك:

  • GOPRIVATE: قائمة مفصولة بفواصل من بادئات مسارات الوحدات التي ينبغي اعتبارها خاصة (مثل github.com/your-org/*).
  • GITHUB_AUTHENTICATION_TOKEN: رمز GitHub يمتلك صلاحية قراءة على مستودعاتك الخاصة.
name: Run Gosec
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
      GOPRIVATE: github.com/your-org/*
      GITHUB_AUTHENTICATION_TOKEN: ${{ secrets.PRIVATE_REPO_TOKEN }}
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@v2
        with:
          args: ./...

التكامل مع فحص الشيفرة

يمكنك دمج أدوات تحليل الشيفرة التابعة لجهات خارجية مع فحص الشيفرة في GitHub عبر رفع البيانات كملفات SARIF.

يوضح سير العمل مثالاً على تشغيل gosec كخطوة داخل سير عمل GitHub action يُخرج ملف results.sarif. ثم يرفع سير العمل ملف results.sarif إلى GitHub باستخدام إجراء upload-sarif.

name: "Security Scan"

# Run workflow each time code is pushed to your repository and on a schedule.
# The scheduled workflow runs every at 00:00 on Sunday UTC time.
on:
  push:
  schedule:
  - cron: '0 0 * * 0'

jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@v2
        with:
          # we let the report trigger content trigger a failure using the GitHub Security features.
          args: '-no-fail -fmt sarif -out results.sarif ./...'
      - name: Upload SARIF file
        uses: github/codeql-action/upload-sarif@v2
        with:
          # Path to SARIF file relative to the root of the repository
          sarif_file: results.sarif

تحليل Go

توفّر حزمة goanalysis golang.org/x/tools/go/analysis.Analyzer للتكامل مع الأدوات التي تدعم واجهة تحليل Go القياسية، مثل إطار عمل nogo التابع لـ Bazel:

nogo(
    name = "nogo",
    deps = [
        "@com_github_securego_gosec_v2//goanalysis",
        # add more analyzers as needed
    ],
    visibility = ["//visibility:public"],
)

التثبيت المحلي

يتطلب gosec الإصدار 1.25 من Go أو أحدث.

go install github.com/securego/gosec/v2/cmd/gosec@latest

البدء السريع

# Scan all packages in current module
gosec ./...

# Write JSON report
gosec -fmt json -out results.json ./...

# Write SARIF report for code scanning
gosec -fmt sarif -out results.sarif ./...

رموز الخروج

  • 0: اكتمل الفحص دون وجود نتائج/أخطاء غير مستبعدة
  • 1: وجود نتيجة واحدة على الأقل غير مستبعدة أو خطأ في المعالجة
  • استخدم -no-fail لإرجاع 0 دائمًا

الاستخدام

يمكن تهيئة Gosec لتشغيل مجموعة فرعية من القواعد فقط، لاستبعاد مسارات ملفات معينة، وإنتاج تقارير بصيغ مختلفة. افتراضيًا، ستُشغَّل جميع القواعد على ملفات الإدخال المقدَّمة. لإجراء فحص تكراري من الدليل الحالي يمكنك تمرير ./... كوسيط إدخال.

القواعد المتاحة

يتضمن gosec قواعد عبر هذه الفئات:

  • G1xx: مشكلات الترميز الآمن العامة (على سبيل المثال بيانات الاعتماد المضمّنة، الاستخدام غير الآمن، تقوية HTTP، أمان ملفات تعريف الارتباط)
  • G2xx: مخاطر الحقن في بناء الاستعلامات/القوالب/الأوامر
  • G3xx: مخاطر التعامل مع الملفات والمسارات (الأذونات، اجتياز المسارات، الملفات المؤقتة، استخراج الأرشيفات)
  • G4xx: نقاط ضعف التشفير وTLS
  • G5xx: الاستيرادات المدرجة في القائمة السوداء
  • G6xx: فحوصات الصحة/الأمان الخاصة بـ Go (على سبيل المثال التسمية البديلة في range وحدود الشرائح)
  • G7xx: قواعد تحليل التلوث (حقن SQL، حقن الأوامر، اجتياز المسارات، SSRF، XSS، حقن السجلات، حقن SMTP، SSTI، إلغاء التسلسل غير الآمن، وإعادة التوجيه المفتوح)

للاطلاع على القائمة الكاملة وأوصاف القواعد وتهيئة كل قاعدة، راجع RULES.md.

القواعد المتقاعدة

  • G105: تدقيق استخدام math/big.Int.Exp - تم إصلاح CVE
  • G307: تأجيل دالة تُرجع خطأً - يسبب إزعاجًا أكثر من إصلاح مشكلة أمنية، على الرغم من التفاصيل الواردة في هذا المنشور

اختيار القواعد

افتراضيًا، سيشغّل gosec جميع القواعد على مسارات الملفات المقدَّمة. ومع ذلك، من الممكن اختيار مجموعة فرعية من القواعد لتشغيلها عبر العلامة -include=، أو تحديد مجموعة من القواعد لاستبعادها صراحةً باستخدام العلامة -exclude=.

# Run a specific set of rules
$ gosec -include=G101,G203,G401 ./...

# Run everything except for rule G303
$ gosec -exclude=G303 ./...

تعيين CWE

تنزيل الأداة