Torna agli aggiornamenti
New releaseJul 24, 2026

semgrep v1.171.0

Analisi statica leggera per molti linguaggi. Trova varianti di bug con pattern che assomigliano a codice sorgente.

Condividi

Semgrep logo

Analisi del codice a velocità folle.

Homebrew PyPI Documentazione Unisciti alla community Slack di Semgrep Issue benvenute! Metti una stella a Semgrep su GitHub Download Docker Download Docker (Vecchio) Segui @semgrep su Twitter


Semgrep è uno strumento di analisi statica veloce, open-source, che cerca codice, trova bug e impone guardrail di sicurezza e standard di codifica. Semgrep supporta oltre 30 linguaggi e può essere eseguito in un IDE, come controllo pre-commit e come parte dei flussi di lavoro CI/CD.

Semgrep è un grep semantico per il codice. Mentre eseguire grep "2" corrisponderebbe solo alla stringa esatta 2, Semgrep corrisponderebbe a x = 1; y = x + 1 quando cerca 2. Le regole di Semgrep assomigliano al codice che già scrivi; niente alberi sintattici astratti, lotte con le regex o DSL dolorosi.

Tieni presente che nei contesti di sicurezza, Semgrep Community Edition perderà molti veri positivi poiché può analizzare il codice solo all'interno dei confini di una singola funzione o file. Se desideri utilizzare Semgrep per scopi di sicurezza (SAST, SCA o scansione dei segreti), la piattaforma Semgrep AppSec Platform è fortemente consigliata poiché aggiunge le seguenti capacità critiche:

  1. Capacità di analisi core migliorate (cross-file, cross-funzione, raggiungibilità del flusso dati) che riducono notevolmente i falsi positivi del 25% e aumentano i veri positivi rilevati del 250%
  2. Post-elaborazione contestuale dei risultati con Semgrep Assistant (AI) per ridurre ulteriormente il rumore di ~20%. Inoltre, Assistant arricchisce i risultati con una guida alla risoluzione personalizzata e passo-passo che gli umani trovano attuabile >80% delle volte.
  3. Politiche personalizzabili e integrazione senza soluzione di continuità nei flussi di lavoro degli sviluppatori, offrendo ai team di sicurezza un controllo granulare su dove, quando e come i diversi risultati vengono presentati agli sviluppatori (IDE, commento PR, ecc.)

La piattaforma Semgrep AppSec Platform funziona out-of-the-box con oltre 20.000 regole proprietarie in SAST, SCA e segreti. Le regole Pro sono scritte e mantenute dal team di ricerca sulla sicurezza di Semgrep e sono altamente accurate, il che significa che i team AppSec possono sentirsi sicuri di portare i risultati direttamente agli sviluppatori senza rallentarli.

Semgrep analizza il codice localmente sul tuo computer o nel tuo ambiente di build: per impostazione predefinita, il codice non viene mai caricato. Inizia subito →.

Immagine CLI di Semgrep

Supporto linguistico

Semgrep Code supporta oltre 30 linguaggi, tra cui:

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 · Generic (ERB, Jinja, etc.)

Semgrep Supply Chain supporta 12 linguaggi su 15 gestori di pacchetti, tra cui:

C# (NuGet) · Dart (Pub) · Go (Go modules, 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)

Per maggiori informazioni, consulta Linguaggi supportati.

Per iniziare 🚀

  1. Dalla piattaforma Semgrep AppSec Platform
  2. Dalla CLI

Per i nuovi utenti, consigliamo di iniziare con la piattaforma Semgrep AppSec Platform perché fornisce un'interfaccia visiva, un progetto demo, flussi di lavoro per il triage e l'esplorazione dei risultati e rende la configurazione in CI/CD veloce. Le scansioni sono ancora locali e il codice non viene caricato. In alternativa, puoi anche iniziare con la CLI e navigare nell'output del terminale per eseguire ricerche una tantum.

Opzione 1: Iniziare dalla piattaforma Semgrep AppSec Platform (Consigliato)

Immagine della piattaforma Semgrep

  1. Registrati su semgrep.dev

  2. Esplora i risultati demo per imparare come funziona Semgrep

  3. Scansiona il tuo progetto navigando su Projects > Scan New Project > Run scan in CI

  4. Seleziona il tuo sistema di controllo versione e segui i passaggi di onboarding per aggiungere il tuo progetto. Dopo questa configurazione, Semgrep scansionerà il tuo progetto dopo ogni pull request.

  5. [Opzionale] Se desideri eseguire Semgrep localmente, segui i passaggi nella sezione CLI.

Note:

In caso di problemi, chiedi aiuto nello Slack di Semgrep.

Opzione 2: Iniziare dalla CLI

  1. Installa la CLI di Semgrep

    # Per macOS
    $ brew install semgrep
    
    # Per Ubuntu/WSL/Linux/macOS
    $ python3 -m pip install semgrep
    
    # Per provare Semgrep senza installazione, esegui tramite 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
    

Categorie