variant-analysis
Find similar vulnerabilities and bugs across codebases using pattern-based analysis. Use when hunting bug variants, building CodeQL/Semgrep queries, analyzing security vulnerabilities, or performing systematic code audits after finding an initial issue.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Find similar vulnerabilities and bugs across codebases using pattern-based analysis. Use when hunting bug variants, building CodeQL/Semgrep queries, analyzing security vulnerabilities, or performing systematic code audits after finding an initial issue.
How to use
Zanim zaczniesz szukać wariantów, dokładnie zrozum znany błąd — określ pierwotną przyczynę (nie tylko symptom), warunki niezbędne do jego zaistnienia oraz co czyni go podatnym na eksploatację.
Stwórz dokładny wzorzec pasujący tylko do znanej instancji problemu. Użyj narzędzi takich jak ripgrep (rg) aby sprawdzić, czy wzorzec trafia dokładnie w jedno miejsce — oryginalny błąd.
Zidentyfikuj punkty abstrakcji w kodzie — elementy, które możesz uogólnić (nazwy zmiennych, wartości literałów) oraz te, które muszą pozostać specyficzne (unikalne nazwy funkcji, krytyczne warunki logiki).
Iteracyjnie rozszerzaj wzorzec, abstrahując jeden element na raz. Po każdej zmianie sprawdź wyniki — czy nowy wzorzec znajduje dodatkowe instancje bez fałszywych trafień.
Gdy wzorzec będzie stabilny, użyj go do systematycznego przeszukania całej bazy kodu w poszukiwaniu wszystkich wariantów podatności.
Dokumentuj każdy znaleziony wariant i jego kontekst — różne ścieżki kodu, w których manifestuje się ta sama pierwotna przyczyna.