[{"data":1,"prerenderedAt":660},["ShallowReactive",2],{"tool-semgrep-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":21,"sources":28,"cover":53,"og":54,"expertise":55,"locales":56,"lang":58,"title":60,"description":61,"coverAlt":62,"url":24,"pricing":63,"kind":64,"metaTitle":65,"takeaways":66,"faq":72,"toc":85,"blocks":110,"others":449},"semgrep","2026-08-14",10,"security",[9,10,11,12,13],"SAST","Static analysis","CI security","Rule authoring","AppSec",[4,15,16,17,18,19,20],"semgrep vs codeql","semgrep rules","semgrep pricing","semgrep pro engine","free sast tools","semgrep ci github actions",[22,25],{"name":23,"url":24},"Semgrep","https:\u002F\u002Fsemgrep.dev",{"name":26,"url":27},"Static application security testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatic_application_security_testing",[29,32,35,38,41,44,47,50],{"title":30,"url":31},"Semgrep pricing: Free, Teams and Enterprise","https:\u002F\u002Fsemgrep.dev\u002Fpricing\u002F",{"title":33,"url":34},"Semgrep Community Edition","https:\u002F\u002Fsemgrep.dev\u002Fproducts\u002Fcommunity-edition",{"title":36,"url":37},"Semgrep documentation: cross-file analysis","https:\u002F\u002Fdocs.semgrep.dev\u002Fsemgrep-code\u002Fsemgrep-pro-engine-intro\u002F",{"title":39,"url":40},"Semgrep documentation: usage and billing","https:\u002F\u002Fdocs.semgrep.dev\u002Fusage-and-billing\u002Foverview\u002F",{"title":42,"url":43},"Semgrep releases: v1.179.0","https:\u002F\u002Fgithub.com\u002Fsemgrep\u002Fsemgrep\u002Freleases",{"title":45,"url":46},"Semgrep Rules License v1.0","https:\u002F\u002Fsemgrep.dev\u002Flegal\u002Frules-license\u002F",{"title":48,"url":49},"Important updates to Semgrep OSS, 13 December 2024","https:\u002F\u002Fsemgrep.dev\u002Fblog\u002F2024\u002Fimportant-updates-to-semgrep-oss\u002F",{"title":51,"url":52},"OpenGrep repository","https:\u002F\u002Fgithub.com\u002Fopengrep\u002Fopengrep","\u002Fimages\u002Fblog\u002Fsemgrep\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemgrep\u002Fog.jpg","ai-engineer",[57,58,59],"en","de","hu","Semgrep: statische Analyse, die in einen Pull Request passt","Semgrep parst über 30 Sprachen und gleicht YAML-Muster in Sekunden ab, die Engine steht unter LGPL-2.1. Cross-file-Analyse, Regelsätze und KI-Triage liegen hinter den bezahlten Stufen.","Diagramm der Semgrep-Scan-Pipeline, von Quelldateien über Parsing und Regelabgleich bis zu gemeldeten Findings","Free · from $30 per seat","Static analysis with AI rules","Semgrep-Review: freies SAST, bezahlte Grenze · Balázs Csorba",[67,68,69,70,71],"Die Semgrep-Engine steht unter LGPL-2.1 und analysiert über 30 Sprachen offline; Cross-file-Analyse braucht eine proprietäre Binary und ein Konto.","Die kostenlose Stufe umfasst 10 Mitwirkende und 10 private Repositories und zählt Mitwirkende über einen rollierenden 90-Tage-Zeitraum im git log.","Seit dem 13. Dezember 2024 tragen die von Semgrep gepflegten Regeln die Semgrep Rules License v1.0, die Weitergabe und Dienstnutzung verbietet; OpenGrep ist der LGPL-Fork, der darauf antwortet.","Die Cross-file-Analyse fällt nach 5 GB Speicher oder drei Stunden still auf Einzeldatei-Analyse zurück, ein großes Repository verliert Tiefe, ohne zu fallen.","KI-Autofix kostet 20 Credits pro Finding bei 20 monatlichen Credits pro Teams-Mitwirkendem, damit ist Autofix die teuerste Aktion des Tarifs.",[73,76,79,82],{"q":74,"a":75},"Ist Semgrep in Produktion kostenlos nutzbar?","Die Engine steht unter LGPL-2.1 und die CLI läuft ohne Konto. Die gehostete kostenlose Stufe umfasst bis zu 10 Mitwirkende und 10 private Repositories, darüber beginnt Teams bei 30 Dollar pro Mitwirkendem und Monat. Die von Semgrep gepflegten Regeln sind nur für interne, nicht wettbewerbswidrige Nutzung kostenlos.",{"q":77,"a":78},"Was unterscheidet Community Edition und Pro-Engine?","Die Analyse der Community Edition ist intraprozedural, sie denkt also innerhalb einer einzelnen Funktion. Die Pro-Engine ergänzt die Analyse über Funktionen, die Semgrep Code standardmäßig nutzt, und die optionale Analyse über Dateien hinweg. Es ist eine eigene Binary, die nach semgrep login mit semgrep install-semgrep-pro installiert wird.",{"q":80,"a":81},"Wie genau ist Semgrep?","Es gibt keine veröffentlichte Präzisionszahl, deshalb ist die ehrliche Antwort strukturell: Gematcht wird gegen einen Syntaxbaum, ein Finding ist also entweder ein exakter Mustertrreff oder eine zu lasch geschriebene Regel. Der meiste Lärm in der Praxis kommt aus Regeln ohne Metavariablen-Bedingungen, nicht aus der Engine.",{"q":83,"a":84},"Sendet Semgrep meinen Quellcode in die Cloud?","Lokal oder vollständig in der eigenen CI ausgeführt bleibt der Quellcode liegen; an den Dienst gehen nur Scan-Metadaten. KI-Funktionen übergeben die Datei mit dem Finding an ein Modell, und Managed Scans klonen das Repository für den Scan und vernichten den Klon danach.",[86,89,92,95,98,101,104,107],{"id":87,"title":88},"what-it-is","Was es ist",{"id":90,"title":91},"how-it-works","Wie es funktioniert",{"id":93,"title":94},"getting-started","Erste Schritte",{"id":96,"title":97},"pricing","Preis und Regellizenz",{"id":99,"title":100},"scaling-in-ci","Im CI betrieben",{"id":102,"title":103},"where-it-shingles","Wo es quietscht",{"id":105,"title":106},"verdict","Fazit",{"id":108,"title":109},"sources","Quellen",[111,115,118,121,124,149,150,153,162,169,179,180,183,185,212,228,229,232,271,274,277,320,328,329,332,344,345,348,395,398,399,402,415,421,422],{"type":112,"content":113},"paragraph",[114],"Semgrep ist ein statischer Analysierer, der auf Mustererkennung aufbaut: Er parst Quellcode in einen Syntaxbaum und meldet jede Stelle, an der das Muster einer YAML-Regel auf diesen Baum trifft. Die Engine steht unter LGPL-2.1, läuft ohne Netzwerkverbindung auf einem Laptop und ist bei einem typischen Repository in Sekunden fertig. Die Position hier ist: das günstigste glaubwürdige erste SAST-Tool, das ein kleines Team in CI stellen kann, und die kostenlose Stufe ist ein gut gebauter Aufweg statt ein fertiges Produkt, denn die Analyse, die den meisten Lärm beseitigt, die mitgelieferten Regelsätze und die KI-Triage liegen allesamt hinter einem Login.",{"type":112,"content":116},[117],"Es steht zwischen den Lintern, die ein Team ohnehin fährt, und den schweren Scannern, die einen Security-Ingenieur brauchen. In der Praxis konkurriert es mit CodeQL um Tiefe, mit SonarQube um das Pull-Request-Gate und mit Snyk Code um Ergonomie; der Open-Source-Fork OpenGrep konkurriert um die Lizenz. Ersetzt wird meistens ein Ordner halb gepflegter Grep-Muster.",{"type":119,"level":120,"id":87,"text":88},"heading",2,{"type":112,"content":122},[123],"Ein Kommandozeilen-Scanner plus eine gehostete Plattform. Die Kommandozeilen-Version leistet die Arbeit: Zielverzeichnis und einen oder mehrere Regelsätze angeben, zurück kommen Findings mit Regel-Id, Schweregrad, Meldung und dem gefundenen Bereich. Die Plattform, Semgrep AppSec Platform genannt, ergänzt Dashboard, Policy, Pull-Request-Kommentare, Supply Chain, Secret-Erkennung und die KI-Funktionen. Alles unterhalb der Plattform ist die Community Edition.",{"type":125,"ordered":126,"items":127},"list",false,[128,130,132,138,140,142,144],[129],"Engine-Lizenz LGPL-2.1; neueste Version 1.179.0, veröffentlicht am 1. Oktober 2026",[131],"Über 30 Sprachen in der Community Edition, über 35 für Semgrep Code",[133,134],"Über 3.000 Community-Regeln, dazu Regelsätze nach Präfix wie ",{"tag":135,"children":136},"code",[137],"p\u002Fpython",[139],"Kostenlose Stufe: 10 Mitwirkende, 10 private Repositories, 60 KI-Credits pro Monat",[141],"Teams ab 30 Dollar pro Mitwirkendem und Monat, Secrets kostet 15 Dollar",[143],"Mitwirkende werden über einen rollierenden 90-Tage-Zeitraum aus dem git log gezählt",[145,146],"Cross-file-Analyse braucht eine proprietäre Binary von ",{"tag":135,"children":147},[148],"semgrep install-semgrep-pro",{"type":119,"level":120,"id":90,"text":91},{"type":112,"content":151},[152],"Für jede Sprache gibt es einen Parser, überwiegend auf tree-sitter-Basis, der die Datei in einen Syntaxbaum übersetzt. Eine Regel ist ein Muster über diesen Baum, geschrieben mit Metavariablen wie $X und $F, dazu Bedingungen in patterns, pattern-not, metavariable-regex und im taint mode. Gematcht wird strukturell statt textuell: Leerraum, umbenannte Variablen und umgeschriebene Anweisungen verbergen keinen Treffer, deshalb bleibt die Falsch-Positiv-Rate niedrig genug für ein Pull-Request-Gate.",{"type":154,"attrs":155,"inner":159,"caption":160},"diagram",{"viewBox":156,"role":157,"aria-labelledby":158},"0 0 720 300","img","sg-t sg-d","\u003Ctitle id=\"sg-t\">Semgrep: how a scan turns source into findings\u003C\u002Ftitle>\u003Cdesc id=\"sg-d\">Source files are parsed into a syntax tree, matched against rule patterns, and reported as findings. Rulesets from the registry and the optional Pro engine feed the matching step, and findings leave as terminal output, JSON or SARIF.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Semgrep: source in, findings out\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">semgrep.dev\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"56\" class=\"d-label\">EVERY SCAN\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Source files\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">src, git\u003C\u002Ftext>\u003Cpath d=\"M140 102 H152\" class=\"d-line\" \u002F>\u003Cpath d=\"M160 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"160\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"220\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Parser\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">tree-sitter AST\u003C\u002Ftext>\u003Cpath d=\"M280 102 H292\" class=\"d-line\" \u002F>\u003Cpath d=\"M300 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"300\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"360\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Rule match\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">patterns, taint\u003C\u002Ftext>\u003Cpath d=\"M420 102 H432\" class=\"d-line\" \u002F>\u003Cpath d=\"M440 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"440\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"500\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Findings\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">id, severity\u003C\u002Ftext>\u003Cpath d=\"M560 102 H572\" class=\"d-line\" \u002F>\u003Cpath d=\"M580 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"580\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"640\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Report\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">json, SARIF\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"172\" class=\"d-label\">WHAT FEEDS THE MATCH\u003C\u002Ftext>\u003Cpath d=\"M185 186 C185 158 350 168 356 152\" class=\"d-line\" \u002F>\u003Cpath d=\"M358 144 l-5 10 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M535 186 C535 158 380 168 372 152\" class=\"d-line\" \u002F>\u003Cpath d=\"M370 144 l-5 10 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"20\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"185\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Registry rulesets\u003C\u002Ftext>\u003Ctext x=\"185\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">auto, p\u002Fpython\u003C\u002Ftext>\u003Crect x=\"370\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"535\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Pro engine\u003C\u002Ftext>\u003Ctext x=\"535\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">cross-file, login\u003C\u002Ftext>",[161],"Die Regel entscheidet, was als Finding zählt; die Engine entscheidet nur, wo ein Muster trifft.",{"type":112,"content":163},[164,165,168],"Findings tragen Regel-Id, Schweregrad und Meldung und lassen sich zeilenweise mit einem ",{"tag":135,"children":166},[167],"nosemgrep","-Kommentar oder regelweise über einen Ignore-Eintrag unterdrücken. Die Ausgabe geht ins Terminal, nach JSON oder SARIF, und das ist es, was die meisten Dashboards einlesen.",{"type":112,"content":170},[171,172,175,176,178],"Die entscheidende Grenze ist der Umfang. Die Analyse der Community Edition ist intraprozedural: Sie denkt innerhalb einer einzelnen Funktion. Analyse über Funktionen und über Dateien hinweg läuft auf der Pro-Engine, einer eigenen Binary, die erst nach ",{"tag":135,"children":173},[174],"semgrep login"," und ",{"tag":135,"children":177},[148]," aktiv wird.",{"type":119,"level":120,"id":93,"text":94},{"type":112,"content":181},[182],"Die CLI lässt sich mit pip, pipx, uv oder brew installieren; für Scans mit Community-Regeln braucht es kein Konto. Eine Regeldatei ist klein genug, um neben dem Code zu liegen, den sie schützt.",{"type":135,"code":184},"# rules\u002Fno-pickle.yaml\nrules:\n  - id: avoid-pickle-load\n    languages: [python]\n    severity: WARNING\n    message: |\n      pickle.load executes whatever is in the stream. Only feed it\n      bytes that never left this machine; use json.loads otherwise.\n    pattern: pickle.load($STREAM)",{"type":112,"content":186},[187,188,191,192,195,196,199,200,203,204,207,208,211],"Dann ",{"tag":135,"children":189},[190],"semgrep scan --config rules\u002Fno-pickle.yaml src\u002F"," für einen Regelsatz, ",{"tag":135,"children":193},[194],"semgrep scan --config p\u002Fpython src\u002F"," für ein Registry-Präfix oder ",{"tag":135,"children":197},[198],"semgrep --config auto",", damit das Werkzeug Regelsätze zu den erkannten Sprachen lädt. Dazu ",{"tag":135,"children":201},[202],"--json"," oder ",{"tag":135,"children":205},[206],"--sarif"," für maschinenlesbare Ausgabe und ",{"tag":135,"children":209},[210],"semgrep ci",", sobald ein Repository mit einem Deployment verbunden ist.",{"type":213,"variant":214,"title":215,"body":216},"callout","tip","Wohin der Quellcode geht",[217,226],[218,219,203,222,225],"Lokal oder vollständig in der eigenen CI ausgeführt, verlässt der Quellcode den Rechner nicht; an den Dienst gehen laut den Pricing-FAQ nur Semgrep-Metadaten. Metriken lassen sich mit ",{"tag":135,"children":220},[221],"--metrics off",{"tag":135,"children":223},[224],"SEMGREP_SEND_METRICS=off"," abschalten.",[227],"Zwei Dinge schicken Code trotzdem hinaus: die KI-Funktionen, die die Datei mit dem Finding übergeben, und Managed Scans, die das Repository für die Dauer des Scans klonen und den Klon danach vernichten.",{"type":119,"level":120,"id":96,"text":97},{"type":112,"content":230},[231],"Die Engine ist kostenlos, das interessante Geld liegt drumherum. Die Preisseite listet Stand Oktober 2026 drei Stufen, und die kostenlose ist so gedeckelt, dass man die Grenze erst beim elften Mitwirkenden sieht.",{"type":233,"head":234,"rows":243},"table",[235,237,239,241],[236],"Tarif",[238],"Preis",[240],"Grenzen",[242],"Was es freischaltet",[244,253,262],[245,247,249,251],[246],"Free",[248],"$0",[250],"10 Mitwirkende, 10 private Repositories",[252],"Code und Supply Chain, 60 KI-Credits pro Monat",[254,256,258,260],[255],"Teams",[257],"Ab 30 Dollar pro Mitwirkendem und Monat",[259],"500 private Repositories",[261],"SSO, rollenbasieter Zugriff, Secrets für 15 Dollar, je 20 KI-Credits",[263,265,267,269],[264],"Enterprise",[266],"Individuell",[268],"Keine Grenze bei Repositories oder Mitwirkenden",[270],"On-prem-Quellverwaltung, eigene CI, 50 KI-Credits, Ansprechpartner",{"type":112,"content":272},[273],"Die Lizenz ist eine andere Frage als der Preis. Die Engine bleibt LGPL-2.1, seit dem 13. Dezember 2024 werden die von Semgrep gepflegten Regeln unter der Semgrep Rules License v1.0 ausgeliefert: interne, nicht wettbewerbswidrige Nutzung ist erlaubt, Weitergabe und das Anbieten der Regeln als Dienst sind es nicht. Berater und Unternehmen, die die Regeln intern nutzen, liegen darin; ein Anbieter, der daraus ein konkurrierendes SAST-Produkt baut, nicht. Diese Änderung ist der Grund für OpenGrep, einen LGPL-2.1-Fork, den ein Konsortium aus Aikido, Endor Labs, Jit und Orca Security pflegt.",{"type":112,"content":275},[276],"KI-Funktionen werden separat in Credits abgerechnet, und die Kosten stehen öffentlich. Kommentare auf einem Pull Request kosten nichts, Triage kostet einen Credit pro Finding, und Autofix, der einen behebenden Pull Request öffnet, kostet zwanzig.",{"type":233,"head":278,"rows":285},[279,281,283],[280],"KI-Aktion",[282],"Credits",[284],"Was sie tut",[286,293,300,307,314],[287,289,291],[288],"KI-Kommentare auf einem Pull Request",[290],"0",[292],"Hinweise, die auf dem PR erscheinen",[294,296,298],[295],"KI-Analyse eines Findings",[297],"1 pro Finding",[299],"Triage, Behebungshinweise, Zuordnung der Komponente",[301,303,305],[302],"KI-Autofix",[304],"20 pro Finding",[306],"Öffnet einen Pull Request, der das Finding behebt",[308,310,312],[309],"KI-gestützter Detection-Scan",[311],"Variabel",[313],"Hängt von Größe und Komplexität des Scans ab",[315,317,318],[316],"Agentic-Workflows-Lauf",[311],[319],"Mehrschrittige Analyse, mehr Tokens als ein Detection-Scan",{"type":213,"variant":321,"title":322,"body":323},"warn","Was die KI-Funktionen senden",[324,326],[325],"Die KI-Analyse übergibt die Datei mit dem Finding an ein Modell. Gutschrift-Credits verfallen am Ende der Vertragslaufzeit und werden nicht übertragen, eine ruhige Runde ist also eine verlorene Runde.",[327],"Autofix kostet 20 Credits pro Finding, auf dem Teams-Tarif bekommt ein Mitwirkender 20 Credits pro Monat. Ein einziger Autofix verbraucht damit das gesamte Monatskontingent.",{"type":119,"level":120,"id":99,"text":100},{"type":112,"content":330},[331],"Semgrep ist ungewöhnlich schnell, und das ändert, worauf sich ein Gate lohnt. Die Fehlerfälle in großen Repositories drehen sich um Tiefe und Speicher, nicht um den Scan selbst.",{"type":125,"ordered":126,"items":333},[334,336,338,340,342],[335],"Diff-aware Scans analysieren nur die Stellen, die ein Pull Request berührt hat; die Cross-file-Analyse läuft bei vollen Scans und nie auf Pull-Request-Scans.",[337],"Die Cross-file-Analyse fällt auf Einzeldatei-Analyse zurück, sobald ein Scan 5 GB Speicher oder drei Stunden überschreitet, ein großes Repository verliert also leise an Tiefe, statt zu fallen.",[339],"Monorepo-Unterstützung teilt ein Repository auf jedem Tarif in Teile; verteilte Scans über mehrere Maschinen beginnen bei Teams.",[341],"Join mode, die einzige Einrichtung der offenen Engine zum Verknüpfen von Treffern über Regeln hinweg, ist laut Dokumentation experimentell und wird nicht aktiv gepflegt.",[343],"Regeln lassen sich über die Registry teilen; private Regeln, die sensible Regellogik in der Organisation behalten, brauchen mindestens Teams.",{"type":119,"level":120,"id":102,"text":103},{"type":112,"content":346},[347],"Die Decke kommt früher, als die Preisseite nahelegt. Die Community Edition denkt nur innerhalb einer Funktion, ein kontaminierter Wert, der eine Hilfsfunktion überquert, bleibt unsichtbar, bis jemand für die Pro-Engine bezahlt, und Typhinferenz sowie Konstantenpropagation sind dieselbe Geschichte. Die zweite Grenze ist die Regelqualität: generische Muster ohne Metavariablen-Bedingung erzeugen genug Lärm, bis ein Team das Werkzeug ignoriert, und enge Regeln zu schreiben, ist eine Fähigkeit, die ein Team erst erwerben muss. Die dritte ist Rechnung: 30 Dollar pro Mitwirkendem und Monat auf einem rollierenden 90-Tage-Zähler aus dem git log, gezählt wird jede Person, die in diesem Fenster einen privaten Commit hatte, ob sie noch am Projekt ist oder nicht.",{"type":233,"head":349,"rows":358},[350,352,354,356],[351],"Werkzeug",[353],"Analysentiefe",[355],"Regeln schreiben",[357],"Was es kostet",[359,368,377,386],[360,362,364,366],[361],"Semgrep CE",[363],"Intraprozedural, eine Funktion nach der anderen",[365],"YAML-Muster, die ein Prüfer lesen kann",[367],"Kostenlose Engine, Semgrep-Regeln nur für interne Nutzung",[369,371,373,375],[370],"CodeQL",[372],"Datenfluss über die ganze Datenbank",[374],"QL, eine Abfragesprache mit echter Einarbeitung",[376],"Für öffentliche Repositories frei, sonst GitHub Code Security",[378,380,382,384],[379],"SonarQube",[381],"Qualität plus Basis-Security, taint erst in bezahlten Stufen",[383],"Eigene Regeln brauchen ein Java-Plugin",[385],"Community Build kostenlos, bezahlte Stufen je Instanz",[387,389,391,393],[388],"Snyk Code",[390],"Datenfluss in einer gehosteten Engine",[392],"Vom Anbieter gepflegte Regeln, wenig Eigenes",[394],"Käuflich, pro Entwickler abgerechnet",{"type":112,"content":396},[397],"Die pointierte Variante: für ein Team von acht zählt Tiefe weniger als Gelesenwerden. Ein Regelsatz, den eine Entwicklerin versteht und in YAML erweitern kann, wird umgesetzt; eine Abfragesprache über die ganze Datenbank, für die niemand Zeit hat, nicht. Sobald Datenfluss über eine Servicegrenze hinweg das eigentliche Bedrohungsmodell ist, kann Semgrep CE die Frage nicht beantworten, und die 30-Dollar-Stufe ist im Vergleich zum Umzug der Regeln nach QL die günstige Option.",{"type":119,"level":120,"id":105,"text":106},{"type":112,"content":400},[401],"Als Standard-Scanner nehmen, mit offenen Augen dafür, wo die bezahlte Decke sitzt.",{"type":125,"ordered":403,"items":404},true,[405,407,409,411,413],[406],"Die kostenlose Community Edition nehmen, wenn das Ziel eine funktionierende Security-Gate in CI innerhalb einer Woche ist und niemand im Team Abfragesprachen schreibt.",[408],"Für Teams bezahlen, wenn Analyse auf einer Funktion Findings erzeugt, über die Entwickler streiten, und wenn SSO, Dashboard und private Regeln zu Anforderungen statt Wünschen geworden sind.",[410],"Nicht 30 Dollar als Preis behandeln: Es sind 30 Dollar pro Mitwirkendem und Monat auf einem rollierenden 90-Tage-Zähler, und unbegrenzte Repositories, on-prem-Quellverwaltung und eigene CI-Integrationen liegen in Enterprise.",[412],"Stattdessen CodeQL wählen, wenn die Frage ist, wie Daten über einen kompilierten Codeblock einen Sink erreichen, und SonarQube, wenn das Gate genauso um Wartbarkeit geht wie um Sicherheit.",[414],"Wenn die Regeln weitergegeben oder als Dienst angeboten werden müssen, ist nur die Engine ohne die von Semgrep gepflegten Regelsätze oder OpenGrep eine Lösung, die kein Gespräch mit dem Anbieter braucht.",{"type":213,"variant":416,"title":417,"body":418},"note","Die Behauptung, mit der man streiten kann",[419],[420],"Dass kostenlose statische Analyse für die meisten Teams reicht, ist vertretbar. Dass sie reich bleibt, nicht: Analyse auf einer Funktion war ein vernünftiger Kompromiss, als Semgrep eine Mustersuche war, und genau deshalb zahlen Teams. Wer die kostenlose Stufe übernimmt, sollte sich am Tag der Übernahme aufschreiben, welches Finding das Upgrade rechtfertigt, sonst entscheidet ein Zwischenfall statt eines Plans.",{"type":119,"level":120,"id":108,"text":109},{"type":125,"ordered":403,"items":423},[424,428,431,434,437,440,443,446],[425],{"tag":426,"href":31,"children":427},"a",[30],[429],{"tag":426,"href":34,"children":430},[33],[432],{"tag":426,"href":37,"children":433},[36],[435],{"tag":426,"href":40,"children":436},[39],[438],{"tag":426,"href":43,"children":439},[42],[441],{"tag":426,"href":46,"children":442},[45],[444],{"tag":426,"href":49,"children":445},[48],[447],{"tag":426,"href":52,"children":448},[51],[450,512,569,626],{"slug":451,"published":452,"minutes":6,"category":7,"tags":453,"keywords":458,"about":466,"sources":476,"cover":504,"og":505,"expertise":55,"locales":506,"lang":58,"title":507,"description":508,"coverAlt":509,"url":510,"pricing":511,"kind":455},"guardrails-ai","2026-09-29",[454,455,456,457],"Guardrails","Output validation","LLM reliability","Python",[459,460,461,462,463,464,465],"guardrails ai","guardrails ai validators","llm output validation python","guardrails vs nemo guardrails","guardrails on_fail actions","llm guardrails framework","pii validation llm output",[467,470,473],{"name":468,"url":469},"NVIDIA","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNVIDIA",{"name":471,"url":472},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",{"name":474,"url":475},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[477,480,483,486,489,492,495,498,501],{"title":478,"url":479},"Guardrails AI on GitHub: README, news and FAQ","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails",{"title":481,"url":482},"guardrails-ai 0.11.0 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fguardrails-ai\u002F",{"title":484,"url":485},"Guardrails Hub: 65 validators","https:\u002F\u002Fwww.guardrailsai.com\u002Fhub",{"title":487,"url":488},"Guardrails documentation: error remediation and on-fail actions","https:\u002F\u002Fwww.guardrailsai.com\u002Fdocs\u002Fconcepts\u002Ferror_remediation",{"title":490,"url":491},"Guardrails documentation: use on-fail actions","https:\u002F\u002Fwww.guardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fuse_on_fail_actions",{"title":493,"url":494},"Migration issue 1560: moving off hosted remote inferencing","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F1560",{"title":496,"url":497},"NVIDIA NeMo Guardrails on GitHub","https:\u002F\u002Fgithub.com\u002FNVIDIA-NeMo\u002FGuardrails",{"title":499,"url":500},"NVIDIA NeMo Guardrails documentation","https:\u002F\u002Fdocs.nvidia.com\u002Fnemo\u002Fguardrails\u002Flatest\u002Findex.html",{"title":502,"url":503},"OpenAI API pricing, including moderation","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing","\u002Fimages\u002Fblog\u002Fguardrails-ai\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fguardrails-ai\u002Fog.jpg",[57,58,59],"Guardrails AI: prüfen, was das Modell zurückgibt","Ein Test von Guardrails AI: 65 Validatoren, acht on-fail-Aktionen, das Ende der gehosteten Inferencing im August 2026 und wann NeMo Guardrails besser passt.","Covergrafik von Guardrails AI mit Validierungs-Pipeline-Labels","https:\u002F\u002Fwww.guardrailsai.com","Apache-2.0",{"slug":513,"published":514,"minutes":515,"category":7,"tags":516,"keywords":520,"about":529,"sources":535,"cover":560,"og":561,"expertise":55,"locales":562,"lang":58,"title":563,"description":564,"coverAlt":565,"url":566,"pricing":567,"kind":568},"lakera-guard","2026-08-04",9,[517,454,518,519],"Prompt injection","LLM security","Content moderation",[521,522,523,524,525,526,527,528],"lakera guard","lakera guard review","prompt injection filter","prompt injection detection","llm guardrails comparison","pint benchmark","check point ai guardrails","lakera pricing",[530,532],{"name":517,"url":531},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",{"name":533,"url":534},"Check Point","https:\u002F\u002Fwww.checkpoint.com\u002F",[536,539,542,545,548,551,554,557],{"title":537,"url":538},"Lakera documentation: Guard API","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fapi\u002Fguard",{"title":540,"url":541},"Guard API endpoint reference","https:\u002F\u002Fdocs.lakera.ai\u002Fapi-reference\u002Flakera-api\u002Fguard\u002Fscreen-content",{"title":543,"url":544},"Lakera documentation: projects","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fprojects",{"title":546,"url":547},"Lakera documentation: self-hosting","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fselfhosting",{"title":549,"url":550},"Lakera platform pricing","https:\u002F\u002Fplatform.lakera.ai\u002Fpricing",{"title":552,"url":553},"PINT benchmark on GitHub","https:\u002F\u002Fgithub.com\u002Flakeraai\u002Fpint-benchmark",{"title":555,"url":556},"Lakera homepage","https:\u002F\u002Fwww.lakera.ai\u002F",{"title":558,"url":559},"Check Point press release on the Lakera acquisition","https:\u002F\u002Fwww.checkpoint.com\u002Fpress-releases\u002Fcheck-point-acquires-lakera-to-deliver-end-to-end-ai-security-for-enterprises\u002F","\u002Fimages\u002Fblog\u002Flakera-guard\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flakera-guard\u002Fog.jpg",[57,58,59],"Lakera Guard: Prompt-Injection-Filter an der Request-Grenze","Ein Test von Lakera Guard: ein Endpunkt vor dem Modell, die PINT-Benchmark-Ergebnisse dahinter und warum die Gratis-Stufe bei 10.000 Anfragen pro Monat endet.","Coverbild zum Lakera-Guard-Test: ein Filterschirm vor einem Sprachmodell","https:\u002F\u002Fwww.lakera.ai","Free tier · from $20 per month","Prompt injection filter",{"slug":570,"published":571,"minutes":6,"category":7,"tags":572,"keywords":577,"about":584,"sources":591,"cover":619,"og":620,"expertise":55,"locales":621,"lang":58,"title":622,"description":623,"coverAlt":624,"url":594,"pricing":511,"kind":625},"detect-secrets","2026-08-03",[573,574,575,576],"Secret scanning","Pre-commit","Git","DevSecOps",[570,578,579,580,581,582,583],"detect-secrets vs gitleaks","detect-secrets baseline","secret scanning tools comparison","gitleaks vs trufflehog","rotate leaked api keys","pre-commit secret hook",[585,588,590],{"name":586,"url":587},"Yelp","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FYelp",{"name":575,"url":589},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGit",{"name":471,"url":472},[592,595,598,601,604,607,610,613,616],{"title":593,"url":594},"Yelp\u002Fdetect-secrets: README and usage","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets",{"title":596,"url":597},"Yelp\u002Fdetect-secrets: CHANGELOG (v1.5.0, 6 May 2024)","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":599,"url":600},"Yelp\u002Fdetect-secrets: plugin and verification documentation","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Fblob\u002Fmaster\u002Fdocs\u002Fplugins.md",{"title":602,"url":603},"detect-secrets 1.5.0 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdetect-secrets\u002F",{"title":605,"url":606},"Yelp\u002Fdetect-secrets: releases","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Freleases",{"title":608,"url":609},"Gitleaks README (MIT, Go)","https:\u002F\u002Fgithub.com\u002Fgitleaks\u002Fgitleaks",{"title":611,"url":612},"TruffleHog README (AGPL-3.0, credential verification)","https:\u002F\u002Fgithub.com\u002Ftrufflesecurity\u002Ftrufflehog",{"title":614,"url":615},"GitHub Docs: About secret scanning","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcode-security\u002Fsecret-scanning\u002Fintroduction\u002Fabout-secret-scanning",{"title":617,"url":618},"betterleaks\u002Fbetterleaks","https:\u002F\u002Fgithub.com\u002Fbetterleaks\u002Fbetterleaks","\u002Fimages\u002Fblog\u002Fdetect-secrets\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdetect-secrets\u002Fog.jpg",[57,58,59],"detect-secrets: Secret Scanning mit eingecheckter Baseline","Was detect-secrets tut, wie sich seine eingecheckte Baseline von gitleaks und TruffleHog unterscheidet, warum Verifikationsaufrufe in der CI zählen und wo das Tool aufhört.","Diagramm: Dateien laufen durch Transformer, Plugins, Filter und Verifikation in eine JSON-Baseline, die dann das Pre-Commit-Gate und die Audit-Sitzung speist.","Secret detection",{"slug":627,"published":628,"minutes":515,"category":7,"tags":629,"keywords":631,"about":636,"sources":641,"cover":653,"og":654,"expertise":55,"locales":655,"lang":58,"title":656,"description":657,"coverAlt":658,"url":639,"pricing":511,"kind":659},"rebuff","2026-06-22",[517,518,454,630],"Canary tokens",[627,524,632,633,634,635],"rebuff python sdk","llm prompt injection guardrail","canary token leak detection","rebuff alternative",[637,640],{"name":638,"url":639},"Rebuff","https:\u002F\u002Fgithub.com\u002Fprotectai\u002Frebuff",{"name":474,"url":475},[642,644,647,650],{"title":643,"url":639},"Rebuff repository, archived 16 May 2025",{"title":645,"url":646},"Rebuff 0.1.1 on PyPI, released 20 January 2024","https:\u002F\u002Fpypi.org\u002Fproject\u002Frebuff\u002F",{"title":648,"url":649},"LangChain: Rebuff, detecting prompt injection attacks","https:\u002F\u002Fwww.langchain.com\u002Fblog\u002Frebuff",{"title":651,"url":652},"LLM Guard repository, archived 9 July 2026","https:\u002F\u002Fgithub.com\u002Fprotectai\u002Fllm-guard","\u002Fimages\u002Fblog\u002Frebuff\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frebuff\u002Fog.jpg",[57,58,59],"Rebuff: vier Schichten Prompt-Injection-Erkennung, inzwischen archiviert","Rebuff bewertete Prompts mit Heuristiken, einem LLM, einem Vektorstore früherer Angriffe und Canary-Tokens. Das Repository wurde im Mai 2025 archiviert, die letzte Version stammt von Januar 2024.","Diagramm des Rebuff-Erkennungspfads, vom eingehenden Prompt über Heuristiken, LLM-Check und Vektorsuche bis zum Ergebnis","Prompt injection detection",1791383550627]