
semgrep v1.171.0
Leichtgewichtige statische Analyse für viele Programmiersprachen. Finde Fehlervarianten mit Mustern, die wie Quellcode aussehen.
Code-Scanning mit wahnsinniger Geschwindigkeit.
Semgrep ist ein schnelles, quelloffenes, statisches Analysetool, das Code durchsucht, Fehler findet und sichere Leitplanken und Codierungsstandards durchsetzt. Semgrep unterstützt 30+ Sprachen und kann in einer IDE, als Pre-Commit-Prüfung und als Teil von CI/CD-Workflows ausgeführt werden.
Semgrep ist semantisches Grep für Code. Während grep "2" nur die exakte Zeichenfolge 2 finden würde, würde Semgrep x = 1; y = x + 1 finden, wenn nach 2 gesucht wird. Semgrep-Regeln sehen aus wie der Code, den Sie bereits schreiben; keine abstrakten Syntaxbäume, Regex-Gerangel oder schmerzhafte DSLs.
Beachten Sie, dass in Sicherheitskontexten die Semgrep Community Edition viele echte Positivbefunde übersehen wird, da sie Code nur innerhalb der Grenzen einer einzelnen Funktion oder Datei analysieren kann. Wenn Sie Semgrep zu Sicherheitszwecken (SAST, SCA oder Secret-Scanning) verwenden möchten, wird die Semgrep AppSec Platform dringend empfohlen, da sie die folgenden kritischen Fähigkeiten hinzufügt:
- Verbesserte Kernanalysefähigkeiten (dateiübergreifend, funktionsübergreifend, Datenfluss-Erreichbarkeit), die Fehlalarme um 25 % reduzieren und erkannte echte Positivbefunde um 250 % erhöhen
- Kontextbezogene Nachbearbeitung der Ergebnisse mit Semgrep Assistant (KI), um das Rauschen weiter um ~20% zu reduzieren. Darüber hinaus reichert Assistant die Ergebnisse mit maßgeschneiderten, schrittweisen Sanierungsanleitungen an, die Menschen in über 80 % der Fälle als umsetzbar empfinden.
- Anpassbare Richtlinien und nahtlose Integration in Entwickler-Workflows, die Sicherheitsteams eine granulare Kontrolle darüber geben, wo, wann und wie verschiedene Ergebnisse den Entwicklern präsentiert werden (IDE, PR-Kommentar usw.)
Die Semgrep AppSec Platform funktioniert sofort mit über 20.000 proprietären Regeln in den Bereichen SAST, SCA und Secrets. Pro-Regeln werden vom Semgrep-Sicherheitsforschungsteam geschrieben und gewartet und sind hochpräzise, sodass AppSec-Teams zuversichtlich Ergebnisse direkt an Entwickler weitergeben können, ohne sie auszubremsen.
Semgrep analysiert Code lokal auf Ihrem Computer oder in Ihrer Build-Umgebung: Standardmäßig wird Code niemals hochgeladen. Erste Schritte →
Language support
Semgrep Code unterstützt 30+ Sprachen, darunter:
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 · Generisch (ERB, Jinja usw.)
Semgrep Supply Chain unterstützt 12 Sprachen in 15 Paketmanagern, darunter:
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)
Weitere Informationen finden Sie unter Unterstützte Sprachen.
Getting started 🚀
Für neue Benutzer empfehlen wir den Einstieg mit der Semgrep AppSec Platform, da sie eine visuelle Oberfläche, ein Demoprojekt, Workflows zur Ergebnis-Triage und -Erkundung bietet und die Einrichtung in CI/CD schnell macht. Scans sind weiterhin lokal und Code wird nicht hochgeladen. Alternativ können Sie auch mit der CLI beginnen und die Terminalausgabe durchsuchen, um einmalige Suchen durchzuführen.
Option 1: Erste Schritte mit der Semgrep AppSec Platform (Empfohlen)
-
Registrieren Sie sich auf semgrep.dev
-
Erkunden Sie die Demo-Ergebnisse, um zu erfahren, wie Semgrep funktioniert
-
Scannen Sie Ihr Projekt, indem Sie zu
Projects > Scan New Project > Run scan in CInavigieren -
Wählen Sie Ihr Versionskontrollsystem aus und folgen Sie den Onboarding-Schritten, um Ihr Projekt hinzuzufügen. Nach dieser Einrichtung scannt Semgrep Ihr Projekt nach jedem Pull-Request.
-
[Optional] Wenn Sie Semgrep lokal ausführen möchten, folgen Sie den Schritten im CLI-Abschnitt.
Notes:
Wenn es Probleme gibt, bitten Sie im Semgrep-Slack um Hilfe.
Option 2: Erste Schritte mit der CLI
-
Installieren Sie die Semgrep CLI
# For macOS $ brew install semgrep # For Ubuntu/WSL/Linux/macOS $ python3 -m pip install semgrep # To try Semgrep without installation run via 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 -
Führen Sie
semgrep loginaus, um Ihr Konto zu erstellen und sich bei Semgrep anzumelden. Dieser Schritt ist optional, aber die Anmeldung bei Semgrep gibt Ihnen Zugriff auf: