Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gosec — Controllo di sicurezza per Go | Kitploit
Strumenti/GitHubGitHub/securego/gosec
Analisi Statica del Codice (SAST)Analisi delle VulnerabilitàAnalisi del CodiceDevSecOpsTop in Analisi del Codice n.9Top in Analisi Statica del Codice (SAST) n.6
GitHubsecurego/gosec

gosec

Controllo di sicurezza per Go

Vedi Repository
8.9k701889h 3m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

gosec - Go Security Checker

Ispeziona il codice sorgente alla ricerca di problemi di sicurezza analizzando l'AST di Go e la rappresentazione del codice SSA.

Collegamenti rapidi

  • GitHub Action
  • Installazione locale
  • Avvio rapido
  • Pattern di utilizzo comuni
  • Selezione delle regole
  • Formati di output

Caratteristiche

  • Regole basate su pattern per individuare problemi di sicurezza comuni nel codice Go
  • Analizzatori basati su SSA per conversioni di tipo, limiti di slice e problemi crittografici
  • Analisi del flusso dei dati per tracciare il flusso dei dati dall'input utente verso funzioni pericolose (SQL injection, command injection, path traversal, SSRF, XSS, log injection, SMTP injection, SSTI, deserializzazione non sicura, open redirect)

Licenza

Concesso in licenza secondo i termini dell'Apache License, Versione 2.0 (la "Licenza"). Non è consentito utilizzare questo file se non in conformità con la Licenza. È possibile ottenere una copia della Licenza qui.

Stato del progetto

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

Installazione

GitHub Action

Puoi eseguire gosec come azione GitHub come segue:

Usa il tag versionato con @master che è fissato all'ultima release stabile. Questo fornirà un comportamento stabile.```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: ./...

#### Scansione di progetti con moduli privati

Se il tuo progetto importa moduli Go privati, devi
configurare l'autenticazione in modo che `gosec` possa recuperare le
dipendenze. Imposta le seguenti variabili d'ambiente nel
tuo workflow:

- `GOPRIVATE`: un elenco separato da virgole di prefissi di percorso dei moduli
  che dovrebbero essere considerati privati
  (ad es., `github.com/your-org/*`).
- `GITHUB_AUTHENTICATION_TOKEN`: un token GitHub con accesso in lettura
  ai tuoi repository privati.```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: ./...

Integrazione con la scansione del codice

Puoi integrare strumenti di analisi del codice di terze parti con la scansione del codice di GitHub caricando i dati come file SARIF.

Il flusso di lavoro mostra un esempio di esecuzione di gosec come passaggio in un flusso di lavoro di GitHub Action che produce il file results.sarif. Il flusso di lavoro quindi carica il file results.sarif su GitHub utilizzando l'azione 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

Il pacchetto `goanalysis` fornisce un
[`golang.org/x/tools/go/analysis.Analyzer`](https://pkg.go.dev/golang.org/x/tools/go/analysis)
per l'integrazione con strumenti che supportano l'interfaccia standard di analisi di Go, come il framework
[nogo](https://github.com/bazelbuild/rules_go/blob/master/go/nogo.rst)
di Bazel:```starlark
nogo(
    name = "nogo",
    deps = [
        "@com_github_securego_gosec_v2//goanalysis",
        # add more analyzers as needed
    ],
    visibility = ["//visibility:public"],
)

Installazione locale

gosec richiede Go 1.25 o superiore.```bash go install github.com/securego/gosec/v2/cmd/gosec@latest

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

Codici di uscita

  • 0: scansione completata senza risultati/errori non soppressi
  • 1: almeno un risultato non soppresso o errore di elaborazione
  • Usa -no-fail per restituire sempre 0

Utilizzo

Gosec può essere configurato per eseguire solo un sottoinsieme di regole, escludere determinati percorsi di file e produrre report in formati diversi. Per impostazione predefinita, tutte le regole vengono eseguite sui file di input forniti. Per eseguire una scansione ricorsiva dalla directory corrente, puoi fornire ./... come argomento di input.

Regole disponibili

gosec include regole in queste categorie:

  • G1xx: problemi generali di codifica sicura (ad esempio, credenziali hardcoded, utilizzo non sicuro, hardening HTTP, sicurezza dei cookie)
  • G2xx: rischi di injection nella costruzione di query/template/comandi
  • G3xx: rischi di gestione di file e percorsi (permessi, traversal, file temporanei, estrazione di archivi)
  • G4xx: debolezze crittografiche e TLS
  • G5xx: import bloccati
  • G6xx: controlli di correttezza/sicurezza specifici di Go (ad esempio, aliasing di range e limiti di slice)
  • G7xx: regole di analisi del taint (SQL injection, command injection, path traversal, SSRF, XSS, log, SMTP injection, SSTI, deserializzazione non sicura e open redirect)

Per l'elenco completo, le descrizioni delle regole e la configurazione per regola, consulta RULES.md.

Regole ritirate

Scarica lo strumento