[{"data":1,"prerenderedAt":680},["ShallowReactive",2],{"blog-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,"metaTitle":63,"takeaways":64,"faq":70,"toc":83,"blocks":108,"others":443},"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.","Zwei überlappende Blätter, von einer waagerechten Schiene mit vier Marken überfahren, dahinter ein verschlossenes Tor.","Semgrep-Review: freies SAST, bezahlte Grenze · Balázs Csorba",[65,66,67,68,69],"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.",[71,74,77,80],{"q":72,"a":73},"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":75,"a":76},"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":78,"a":79},"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":81,"a":82},"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.",[84,87,90,93,96,99,102,105],{"id":85,"title":86},"what-it-is","Was es ist",{"id":88,"title":89},"how-it-works","Wie es funktioniert",{"id":91,"title":92},"getting-started","Erste Schritte",{"id":94,"title":95},"pricing","Preis und Regellizenz",{"id":97,"title":98},"scaling-in-ci","Im CI betrieben",{"id":100,"title":101},"where-it-shingles","Wo es quietscht",{"id":103,"title":104},"verdict","Fazit",{"id":106,"title":107},"sources","Quellen",[109,113,116,119,122,147,148,151,157,164,174,175,178,180,207,223,224,227,266,269,272,315,323,324,327,339,340,343,390,393,394,397,409,415,416],{"type":110,"content":111},"paragraph",[112],"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":110,"content":114},[115],"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":117,"level":118,"id":85,"text":86},"heading",2,{"type":110,"content":120},[121],"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":123,"ordered":124,"items":125},"list",false,[126,128,130,136,138,140,142],[127],"Engine-Lizenz LGPL-2.1; neueste Version 1.179.0, veröffentlicht am 1. Oktober 2026",[129],"Über 30 Sprachen in der Community Edition, über 35 für Semgrep Code",[131,132],"Über 3.000 Community-Regeln, dazu Regelsätze nach Präfix wie ",{"tag":133,"children":134},"code",[135],"p\u002Fpython",[137],"Kostenlose Stufe: 10 Mitwirkende, 10 private Repositories, 60 KI-Credits pro Monat",[139],"Teams ab 30 Dollar pro Mitwirkendem und Monat, Secrets kostet 15 Dollar",[141],"Mitwirkende werden über einen rollierenden 90-Tage-Zeitraum aus dem git log gezählt",[143,144],"Cross-file-Analyse braucht eine proprietäre Binary von ",{"tag":133,"children":145},[146],"semgrep install-semgrep-pro",{"type":117,"level":118,"id":88,"text":89},{"type":110,"content":149},[150],"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":152,"src":153,"alt":154,"wide":155,"caption":156},"image","\u002Fimages\u002Fblog\u002Fsemgrep\u002Fdiagram-7.webp","Semgrep: how a scan turns source into findings 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.",true,"Die Regel entscheidet, was als Finding zählt; die Engine entscheidet nur, wo ein Muster trifft.",{"type":110,"content":158},[159,160,163],"Findings tragen Regel-Id, Schweregrad und Meldung und lassen sich zeilenweise mit einem ",{"tag":133,"children":161},[162],"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":110,"content":165},[166,167,170,171,173],"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":133,"children":168},[169],"semgrep login"," und ",{"tag":133,"children":172},[146]," aktiv wird.",{"type":117,"level":118,"id":91,"text":92},{"type":110,"content":176},[177],"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":133,"code":179},"# 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":110,"content":181},[182,183,186,187,190,191,194,195,198,199,202,203,206],"Dann ",{"tag":133,"children":184},[185],"semgrep scan --config rules\u002Fno-pickle.yaml src\u002F"," für einen Regelsatz, ",{"tag":133,"children":188},[189],"semgrep scan --config p\u002Fpython src\u002F"," für ein Registry-Präfix oder ",{"tag":133,"children":192},[193],"semgrep --config auto",", damit das Werkzeug Regelsätze zu den erkannten Sprachen lädt. Dazu ",{"tag":133,"children":196},[197],"--json"," oder ",{"tag":133,"children":200},[201],"--sarif"," für maschinenlesbare Ausgabe und ",{"tag":133,"children":204},[205],"semgrep ci",", sobald ein Repository mit einem Deployment verbunden ist.",{"type":208,"variant":209,"title":210,"body":211},"callout","tip","Wohin der Quellcode geht",[212,221],[213,214,198,217,220],"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":133,"children":215},[216],"--metrics off",{"tag":133,"children":218},[219],"SEMGREP_SEND_METRICS=off"," abschalten.",[222],"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":117,"level":118,"id":94,"text":95},{"type":110,"content":225},[226],"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":228,"head":229,"rows":238},"table",[230,232,234,236],[231],"Tarif",[233],"Preis",[235],"Grenzen",[237],"Was es freischaltet",[239,248,257],[240,242,244,246],[241],"Free",[243],"$0",[245],"10 Mitwirkende, 10 private Repositories",[247],"Code und Supply Chain, 60 KI-Credits pro Monat",[249,251,253,255],[250],"Teams",[252],"Ab 30 Dollar pro Mitwirkendem und Monat",[254],"500 private Repositories",[256],"SSO, rollenbasieter Zugriff, Secrets für 15 Dollar, je 20 KI-Credits",[258,260,262,264],[259],"Enterprise",[261],"Individuell",[263],"Keine Grenze bei Repositories oder Mitwirkenden",[265],"On-prem-Quellverwaltung, eigene CI, 50 KI-Credits, Ansprechpartner",{"type":110,"content":267},[268],"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":110,"content":270},[271],"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":228,"head":273,"rows":280},[274,276,278],[275],"KI-Aktion",[277],"Credits",[279],"Was sie tut",[281,288,295,302,309],[282,284,286],[283],"KI-Kommentare auf einem Pull Request",[285],"0",[287],"Hinweise, die auf dem PR erscheinen",[289,291,293],[290],"KI-Analyse eines Findings",[292],"1 pro Finding",[294],"Triage, Behebungshinweise, Zuordnung der Komponente",[296,298,300],[297],"KI-Autofix",[299],"20 pro Finding",[301],"Öffnet einen Pull Request, der das Finding behebt",[303,305,307],[304],"KI-gestützter Detection-Scan",[306],"Variabel",[308],"Hängt von Größe und Komplexität des Scans ab",[310,312,313],[311],"Agentic-Workflows-Lauf",[306],[314],"Mehrschrittige Analyse, mehr Tokens als ein Detection-Scan",{"type":208,"variant":316,"title":317,"body":318},"warn","Was die KI-Funktionen senden",[319,321],[320],"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.",[322],"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":117,"level":118,"id":97,"text":98},{"type":110,"content":325},[326],"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":123,"ordered":124,"items":328},[329,331,333,335,337],[330],"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.",[332],"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.",[334],"Monorepo-Unterstützung teilt ein Repository auf jedem Tarif in Teile; verteilte Scans über mehrere Maschinen beginnen bei Teams.",[336],"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.",[338],"Regeln lassen sich über die Registry teilen; private Regeln, die sensible Regellogik in der Organisation behalten, brauchen mindestens Teams.",{"type":117,"level":118,"id":100,"text":101},{"type":110,"content":341},[342],"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":228,"head":344,"rows":353},[345,347,349,351],[346],"Werkzeug",[348],"Analysentiefe",[350],"Regeln schreiben",[352],"Was es kostet",[354,363,372,381],[355,357,359,361],[356],"Semgrep CE",[358],"Intraprozedural, eine Funktion nach der anderen",[360],"YAML-Muster, die ein Prüfer lesen kann",[362],"Kostenlose Engine, Semgrep-Regeln nur für interne Nutzung",[364,366,368,370],[365],"CodeQL",[367],"Datenfluss über die ganze Datenbank",[369],"QL, eine Abfragesprache mit echter Einarbeitung",[371],"Für öffentliche Repositories frei, sonst GitHub Code Security",[373,375,377,379],[374],"SonarQube",[376],"Qualität plus Basis-Security, taint erst in bezahlten Stufen",[378],"Eigene Regeln brauchen ein Java-Plugin",[380],"Community Build kostenlos, bezahlte Stufen je Instanz",[382,384,386,388],[383],"Snyk Code",[385],"Datenfluss in einer gehosteten Engine",[387],"Vom Anbieter gepflegte Regeln, wenig Eigenes",[389],"Käuflich, pro Entwickler abgerechnet",{"type":110,"content":391},[392],"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":117,"level":118,"id":103,"text":104},{"type":110,"content":395},[396],"Als Standard-Scanner nehmen, mit offenen Augen dafür, wo die bezahlte Decke sitzt.",{"type":123,"ordered":155,"items":398},[399,401,403,405,407],[400],"Die kostenlose Community Edition nehmen, wenn das Ziel eine funktionierende Security-Gate in CI innerhalb einer Woche ist und niemand im Team Abfragesprachen schreibt.",[402],"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.",[404],"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.",[406],"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.",[408],"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":208,"variant":410,"title":411,"body":412},"note","Die Behauptung, mit der man streiten kann",[413],[414],"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":117,"level":118,"id":106,"text":107},{"type":123,"ordered":155,"items":417},[418,422,425,428,431,434,437,440],[419],{"tag":420,"href":31,"children":421},"a",[30],[423],{"tag":420,"href":34,"children":424},[33],[426],{"tag":420,"href":37,"children":427},[36],[429],{"tag":420,"href":40,"children":430},[39],[432],{"tag":420,"href":43,"children":433},[42],[435],{"tag":420,"href":46,"children":436},[45],[438],{"tag":420,"href":49,"children":439},[48],[441],{"tag":420,"href":52,"children":442},[51],[444,512,582,638],{"slug":445,"published":446,"minutes":447,"category":7,"tags":448,"keywords":454,"about":467,"sources":475,"cover":506,"og":507,"expertise":55,"locales":508,"lang":58,"title":509,"description":510,"coverAlt":511},"llm-output-guardrails-moderation","2026-10-17",13,[449,450,451,452,453],"LLM security","Guardrails","Content moderation","OWASP","Output validation",[455,456,457,458,459,460,461,462,463,464,465,466],"llm output guardrails","improper output handling llm","owasp llm05","openai moderation api","omni-moderation-latest","llama guard 4","nemo guardrails streaming","markdown image exfiltration","sanitize llm output html","groundedness detection","llm content moderation production","output rails",[468,470,473],{"name":451,"url":469},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContent_moderation",{"name":471,"url":472},"Cross-site scripting","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-site_scripting",{"name":452,"url":474},"https:\u002F\u002Fowasp.org\u002F",[476,479,482,485,488,491,494,497,500,503],{"title":477,"url":478},"OWASP GenAI Security Project: LLM05:2025 Improper Output Handling","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm052025-improper-output-handling\u002F",{"title":480,"url":481},"OpenAI API Docs: Moderation","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fmoderation",{"title":483,"url":484},"Meta: Llama Guard 4 model card and prompt formats","https:\u002F\u002Fwww.llama.com\u002Fdocs\u002Fmodel-cards-and-prompt-formats\u002Fllama-guard-4\u002F",{"title":486,"url":487},"NVIDIA NeMo Guardrails: Output rail streaming configuration","https:\u002F\u002Fdocs.nvidia.com\u002Fnemo\u002Fguardrails\u002Fconfigure-guardrails\u002Fyaml-schema\u002Fstreaming\u002Foutput-rail-streaming.md",{"title":489,"url":490},"Microsoft Learn: Prompt Shields in Azure AI Content Safety","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Fconcepts\u002Fjailbreak-detection",{"title":492,"url":493},"Microsoft Learn: Groundedness detection in Azure AI Content Safety","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Fconcepts\u002Fgroundedness",{"title":495,"url":496},"Microsoft Learn: Protected material detection in Azure AI Content Safety","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Fconcepts\u002Fprotected-material",{"title":498,"url":499},"Guardrails AI documentation","https:\u002F\u002Fwww.guardrailsai.com\u002Fdocs",{"title":501,"url":502},"Vue.js docs: Security best practices","https:\u002F\u002Fvuejs.org\u002Fguide\u002Fbest-practices\u002Fsecurity.html",{"title":504,"url":505},"Simon Willison: Remote prompt injection in GitLab Duo leads to source code theft","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FMay\u002F23\u002Fremote-prompt-injection-in-gitlab-duo\u002F","\u002Fimages\u002Fblog\u002Fllm-output-guardrails-moderation\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-output-guardrails-moderation\u002Fog.jpg",[57,58,59],"Output-Guardrails für LLMs: Moderation, sicheres Rendern und Validierung, bevor etwas passiert","Was nach der Modellantwort zu prüfen ist: sicheres Markdown-Rendering, Schema-Prüfung vor Aktionen, Moderations-Klassifikatoren, Streaming und Groundedness.","Drei enger werdende Rahmen als Trichter gestapelt, Punkte fallen zu einer Schale neben einem Schloss.",{"slug":513,"published":446,"minutes":514,"category":7,"tags":515,"keywords":519,"about":531,"sources":539,"cover":576,"og":577,"expertise":55,"locales":578,"lang":58,"title":579,"description":580,"coverAlt":581},"ai-red-teaming-checklist-llm-apps",12,[516,449,452,517,518],"AI red teaming","promptfoo","Penetration testing",[520,521,522,523,524,525,526,527,528,529,530],"ai red teaming checklist","llm red teaming","red teaming llm applications","owasp genai red teaming guide","promptfoo red team","garak llm scanner","pyrit red teaming","llm penetration testing","owasp top 10 llm 2025 testing","jailbreak testing llm app","red team rag chatbot",[532,535,538],{"name":533,"url":534},"Red team","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRed_team",{"name":536,"url":537},"Prompt injection","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",{"name":452,"url":474},[540,543,546,549,552,555,558,561,564,567,570,573],{"title":541,"url":542},"OWASP GenAI Security Project: GenAI Red Teaming Guide (January 2025)","https:\u002F\u002Fgenai.owasp.org\u002Fresource\u002Fgenai-red-teaming-guide\u002F",{"title":544,"url":545},"OWASP GenAI Security Project: Top 10 for LLM Applications 2025","https:\u002F\u002Fgenai.owasp.org\u002Fllm-top-10\u002F",{"title":547,"url":548},"Bullwinkel et al. (Microsoft): Lessons From Red Teaming 100 Generative AI Products (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.07238",{"title":550,"url":551},"NIST AI 600-1: Generative Artificial Intelligence Profile (July 2024)","https:\u002F\u002Fnvlpubs.nist.gov\u002Fnistpubs\u002Fai\u002FNIST.AI.600-1.pdf",{"title":553,"url":554},"Promptfoo Docs: Red team quickstart","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fquickstart\u002F",{"title":556,"url":557},"Promptfoo Docs: Red team configuration","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fconfiguration\u002F",{"title":559,"url":560},"Promptfoo Docs: Red team plugins","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fplugins\u002F",{"title":562,"url":563},"Promptfoo Docs: Red team strategies","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fstrategies\u002F",{"title":565,"url":566},"NVIDIA garak: LLM vulnerability scanner (GitHub)","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgarak",{"title":568,"url":569},"Microsoft PyRIT documentation","https:\u002F\u002Fmicrosoft.github.io\u002FPyRIT\u002F",{"title":571,"url":572},"EU AI Act, Article 55: Obligations for providers of GPAI models with systemic risk","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F55\u002F",{"title":574,"url":575},"OWASP GenAI LLM Top 10 2026: final entries (GitHub)","https:\u002F\u002Fgithub.com\u002FGenAI-Security-Project\u002FGenAI-LLM-Top10\u002Ftree\u002Fmain\u002F2026\u002Ffinal","\u002Fimages\u002Fblog\u002Fai-red-teaming-checklist-llm-apps\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-red-teaming-checklist-llm-apps\u002Fog.jpg",[57,58,59],"AI-Red-Teaming-Checkliste für LLM-Apps: was man angreifen sollte, bevor es Nutzer tun","Eine praktische Red-Teaming-Checkliste für LLM-Funktionen: Scope, OWASP-2025-Testfälle, promptfoo, garak und PyRIT, menschliche Tester und Regressionstests.","Eine Liste auf einer Klemmschiene, dann ein durchkreuztes Schild und ein Haken am Ende einer Kurve.",{"slug":583,"published":584,"minutes":585,"category":7,"tags":586,"keywords":592,"about":603,"sources":613,"cover":632,"og":633,"expertise":55,"locales":634,"lang":58,"title":635,"description":636,"coverAlt":637},"slopsquatting-ai-package-hallucinations","2026-10-16",6,[587,588,589,590,591],"Supply chain security","Coding agents","npm","PyPI","Package hallucination",[593,594,595,596,597,598,599,600,601,602],"slopsquatting","package hallucination","ai hallucinated packages","llm package confusion attack","coding agent supply chain security","npm min-release-age","pnpm minimumReleaseAge","uv exclude-newer","npm ignore-scripts","huggingface-cli hallucinated package",[604,607,610],{"name":605,"url":606},"Typosquatting","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTyposquatting",{"name":608,"url":609},"Supply chain attack","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSupply_chain_attack",{"name":611,"url":612},"Hallucination (artificial intelligence)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHallucination_(artificial_intelligence)",[614,617,620,623,626,629],{"title":615,"url":616},"Spracklen et al.: We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.10279",{"title":618,"url":619},"Lasso Security, Bar Lanyado: Diving Deeper into AI Package Hallucinations (Mar 2024)","https:\u002F\u002Fwww.lasso.security\u002Fblog\u002Fai-package-hallucinations",{"title":621,"url":622},"npm Docs: config (min-release-age, before, ignore-scripts, allow-scripts)","https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fusing-npm\u002Fconfig",{"title":624,"url":625},"pnpm: Dependency resolution settings (minimumReleaseAge)","https:\u002F\u002Fpnpm.io\u002Fsettings\u002Fdependency-resolution",{"title":627,"url":628},"uv: Settings reference (exclude-newer, require-hashes)","https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Freference\u002Fsettings\u002F",{"title":630,"url":631},"pip documentation: Secure installs and hash-checking mode","https:\u002F\u002Fpip.pypa.io\u002Fen\u002Fstable\u002Ftopics\u002Fsecure-installs\u002F","\u002Fimages\u002Fblog\u002Fslopsquatting-ai-package-hallucinations\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fslopsquatting-ai-package-hallucinations\u002Fog.jpg",[57,58,59],"Slopsquatting: wenn Coding-Agenten Pakete installieren, die es nicht gibt","Wie LLMs Paketnamen halluzinieren, wie Angreifer sie registrieren und welche Registry-, Lockfile- und Agenten-Kontrollen die Installation stoppen.","Drei Kästen auf einer Schiene, der mittlere hohl und versetzt, darunter passende Quadrate auf einer Ablage.",{"slug":639,"published":584,"minutes":585,"category":7,"tags":640,"keywords":644,"about":655,"sources":661,"cover":674,"og":675,"expertise":55,"locales":676,"lang":58,"title":677,"description":678,"coverAlt":679},"rag-poisoning-knowledge-base-attacks",[641,642,536,452,643],"RAG security","Data poisoning","Vector database",[645,646,647,648,649,650,651,652,653,654],"rag poisoning","knowledge base poisoning","poisonedrag","rag security","indirect prompt injection rag","owasp llm08 vector and embedding weaknesses","vector database security","rag data poisoning defense","hidden text prompt injection","secure rag ingestion",[656,659,660],{"name":657,"url":658},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":536,"url":537},{"name":452,"url":474},[662,665,668,671],{"title":663,"url":664},"Zou et al.: PoisonedRAG: Knowledge Corruption Attacks to Retrieval-Augmented Generation of Large Language Models (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.07867",{"title":666,"url":667},"Greshake et al.: Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2302.12173",{"title":669,"url":670},"OWASP Gen AI Security Project: LLM08:2025 Vector and Embedding Weaknesses","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm082025-vector-and-embedding-weaknesses\u002F",{"title":672,"url":673},"OWASP Gen AI Security Project: LLM04:2025 Data and Model Poisoning","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm042025-data-and-model-poisoning\u002F","\u002Fimages\u002Fblog\u002Frag-poisoning-knowledge-base-attacks\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-poisoning-knowledge-base-attacks\u002Fog.jpg",[57,58,59],"RAG-Poisoning: wie wenige Dokumente einen Assistenten steuern und wie man die Wissensbasis verteidigt","Wie Angreifer Dokumente platzieren, die RAG-Systeme finden, was PoisonedRAG und OWASP zeigen und welche Kontrollen bei Ingestion, Retrieval und Antwort helfen.","Blätter laufen auf einem Band in einen Behälter, eines trägt einen kleinen Block, ein Tor am Ausgang.",1792261157735]