semgrep-rule-variant-creator
Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.
How to use
Przygotuj istniejącą regułę Semgrep w formacie YAML. Powinna to być reguła, którą chcesz przenieść na inne języki — na przykład reguła wykrywająca SQL injection lub niezabezpieczone połączenia sieciowe.
Określ języki docelowe, na które chcesz portować regułę. Wymień je wyraźnie — na przykład "Go i Java" lub "Python, JavaScript i TypeScript". Skill automatycznie sprawdzi, czy wzorzec podatności ma sens w każdym z wybranych języków.
Uruchom skill, przekazując ścieżkę do pliku YAML reguły oraz listę języków docelowych. Skill przeanalizuje oryginalną regułę i jej logikę bezpieczeństwa.
Skill wygeneruje dla każdego języka osobny katalog zawierający portowaną regułę w formacie YAML oraz plik testowy z przykładami kodu w docelowym języku. Struktura będzie taka: nazwa-reguły-nazwa-języka/ z plikami .yaml i rozszerzeniem języka.
Przejrzyj wygenerowane warianty — każdy powinien zawierać regułę dostosowaną do idiomów i składni docelowego języka. Skill odrzuci języki, w których wzorzec podatności nie ma zastosowania.
Zintegruj wygenerowane reguły ze swoim systemem Semgrep. Możesz je natychmiast uruchomić na kodzie w odpowiednich językach, aby rozszerzyć pokrycie bezpieczeństwa w projekcie wielojęzycznym.