Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gosec — Go-Sicherheitsprüfer | Kitploit
Tools/GitHubGitHub/securego/gosec
Statische Code-Analyse (SAST)SchwachstellenanalyseCode-AnalyseDevSecOpsTop in Code-Analyse Nr.9Top in Statische Code-Analyse (SAST) Nr.6
GitHubsecurego/gosec

gosec

Go-Sicherheitsprüfer

Repository anzeigen
8.9k70186vor 6h 34mVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

gosec - Go-Sicherheitsprüfer

Untersucht Quellcode auf Sicherheitsprobleme durch Scannen der Go AST- und SSA-Code-Darstellung.

Kurzlinks

  • GitHub Action
  • Lokale Installation
  • Schnellstart
  • Häufige Verwendungsmuster
  • Regeln auswählen
  • Ausgabeformate

Funktionen

  • Musterbasierte Regeln zum Erkennen häufiger Sicherheitsprobleme in Go-Code
  • SSA-basierte Analysatoren für Typumwandlungen, Slice-Grenzen und Krypto-Probleme
  • Taint-Analyse zur Verfolgung des Datenflusses von Benutzereingaben zu gefährlichen Funktionen (SQL-Injection, Command-Injection, Path Traversal, SSRF, XSS, Log-Injection, SMTP-Injection, SSTI, unsichere Deserialisierung, Open Redirect)

Lizenz

Lizenziert unter der Apache License, Version 2.0 (der "Lizenz"). Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie hier.

Projektstatus

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

Installation

GitHub Action

Sie können gosec wie folgt als GitHub Action ausführen:

Verwenden Sie den versionierten Tag mit @master, der auf die neueste stabile Version festgelegt ist. Dies bietet ein stabiles Verhalten.```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: ./...

#### Scannen von Projekten mit privaten Modulen

Wenn Ihr Projekt private Go-Module importiert, müssen Sie die Authentifizierung konfigurieren, damit `gosec` die Abhängigkeiten abrufen kann. Setzen Sie die folgenden Umgebungsvariablen in Ihrem Workflow:

- `GOPRIVATE`: Eine kommagetrennte Liste von Modulpfad-Präfixen, die als privat betrachtet werden sollen (z.B. `github.com/your-org/*`).
- `GITHUB_AUTHENTICATION_TOKEN`: Ein GitHub-Token mit Lesezugriff auf Ihre privaten Repositorys.```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: ./...

Integration mit Code-Scanning

Sie können Tools zur Code-Analyse von Drittanbietern integrieren in das GitHub-Code-Scanning, indem Sie Daten als SARIF-Dateien hochladen.

Der Workflow zeigt ein Beispiel für die Ausführung von gosec als Schritt in einem GitHub Actions-Workflow, der die Datei results.sarif ausgibt. Der Workflow lädt dann die Datei results.sarif auf GitHub hoch, indem er die Aktion upload-sarif verwendet.```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 Analyse

Das Paket `goanalysis` bietet einen
[`golang.org/x/tools/go/analysis.Analyzer`](https://pkg.go.dev/golang.org/x/tools/go/analysis)
zur Integration mit Werkzeugen, die die standardmäßige Go-Analyse-Schnittstelle unterstützen, wie z.B. Bazels
[nogo](https://github.com/bazelbuild/rules_go/blob/master/go/nogo.rst)
Framework:```starlark
nogo(
    name = "nogo",
    deps = [
        "@com_github_securego_gosec_v2//goanalysis",
        # add more analyzers as needed
    ],
    visibility = ["//visibility:public"],
)

Lokale Installation

gosec benötigt Go 1.25 oder neuer.```bash go install github.com/securego/gosec/v2/cmd/gosec@latest

## Schnellstart```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 ./...

Exitcodes

  • 0: Scan abgeschlossen ohne ununterdrückte Funde/Fehler
  • 1: mindestens ein ununterdrückter Fund oder Verarbeitungsfehler
  • Verwenden Sie -no-fail, um immer 0 zurückzugeben

Usage

Gosec kann so konfiguriert werden, dass nur eine Teilmenge der Regeln ausgeführt wird, bestimmte Dateipfade ausgeschlossen werden und Berichte in verschiedenen Formaten erstellt werden. Standardmäßig werden alle Regeln gegen die angegebenen Eingabedateien ausgeführt. Für eine rekursive Suche ab dem aktuellen Verzeichnis können Sie ./... als Eingabeargument angeben.

Verfügbare Regeln

gosec umfasst Regeln aus diesen Kategorien:

  • G1xx: allgemeine Probleme sicherer Codierung (z. B. hartcodierte Anmeldeinformationen, unsichere Verwendung, HTTP-Härtung, Cookie-Sicherheit)
  • G2xx: Injektionsrisiken bei der Erstellung von Abfragen/Vorlagen/Befehlen
  • G3xx: Risiken bei der Datei- und Pfadverarbeitung (Berechtigungen, Traversal, temporäre Dateien, Archiv-Extraktion)
  • G4xx: Krypto- und TLS-Schwächen
  • G5xx: blockierte Importe
  • G6xx: Go-spezifische Korrektheits-/Sicherheitsprüfungen (z. B. Range-Aliasing und Slice-Grenzen)
  • G7xx: Taint-Analyse-Regeln (SQL-Injection, Command-Injection, Path Traversal, SSRF, XSS, Log, SMTP-Injection, SSTI, unsichere Deserialisierung und Open Redirect)

Die vollständige Liste, Regelbeschreibungen und die Konfiguration pro Regel finden Sie in RULES.md.

Ausgemusterte Regeln

Tool herunterladen