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.9k70186منذ 8 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

gosec - مدقق أمان Go

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

روابط سريعة

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

الميزات

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

الترخيص

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

حالة المشروع

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

التثبيت

إجراء GitHub

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

استخدم الوسم المُرقم مع @master المثبت على أحدث إصدار مستقر. سيوفر هذا سلوكًا مستقرًا.```yaml 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 مع صلاحية قراءة
  لمستودعاتك الخاصة.```yaml
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.```yaml 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`](https://pkg.go.dev/golang.org/x/tools/go/analysis)
للتكامل مع الأدوات التي تدعم Go القياسي
واجهة التحليل، مثل إطار Bazel's
[nogo](https://github.com/bazelbuild/rules_go/blob/master/go/nogo.rst)
إطار العمل:```starlark
nogo(
    name = "nogo",
    deps = [
        "@com_github_securego_gosec_v2//goanalysis",
        # add more analyzers as needed
    ],
    visibility = ["//visibility:public"],
)

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

يتطلب gosec إصدار Go 1.25 أو أحدث.```bash go install github.com/securego/gosec/v2/cmd/gosec@latest

## بداية سريعة```bash
# 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 (على سبيل المثال، تسمية النطاق وحدود الشرائح)
  • G7xx: قواعد تحليل التلوث (حقن SQL، حقن الأوامر، تجوال المسار، SSRF، XSS، السجل، حقن SMTP، SSTI، إلغاء التسلسل غير الآمن، وإعادة التوجيه المفتوحة)

للحصول على القائمة الكاملة، أوصاف القواعد، والتكوين لكل قاعدة، انظر RULES.md.

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

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

تحديد القواعد

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

Run a specific set of rules

$ gosec -include=G101,G203,G401 ./...

Run everything except for rule G303

$ gosec -exclude=G303 ./...

### تعيين CWE
تنزيل الأداة