Toolverse
Wszystkie skille

static-analysis

autor: gmh5225

Analiza statyczna kodu LLVM do wykrywania podatności i oceny jakości

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
gmh5225
Wyświetlenia
9

O skillu

Umiejętność specjalistyczna do implementacji skanerów bezpieczeństwa i narzędzi analizy kodu opartych na infrastrukturze LLVM. Obejmuje analizę przepływu danych, analizę wskaźników, śledzenie zanieczyszczenia danych i weryfikację programów. Idealna do badań bezpieczeństwa, wyszukiwania błędów oraz oceny jakości kodu na poziomie pośredniego reprezentacji LLVM IR.

Jak używać

  1. Zainstaluj umiejętność w swoim projekcie Claude, dodając katalog skills do konfiguracji agenta. Umiejętność wymaga dostępu do bibliotek LLVM Analysis (AliasAnalysis, LoopInfo, DominatorTree).

  2. Zaimportuj wymagane nagłówki LLVM w swoim kodzie C++: llvm/Analysis/AliasAnalysis.h, llvm/Analysis/LoopInfo.h oraz llvm/Analysis/DominatorTree.h. Te moduły stanowią fundament dla wszystkich analiz statycznych.

  3. Uzyskaj dostęp do wbudowanych analiz poprzez FunctionAnalysisManager — pobierz drzewo dominatorów, informacje o pętlach i wyniki analizy aliasów dla funkcji, którą analizujesz.

  4. Dla zaawansowanych scenariuszy implementuj własne analizy, takie jak TaintAnalysis, definiując klasy, które śledzą wartości podatne na zagrożenia. Użyj zbiorów wartości LLVM do przechowywania stanu analizy.

  5. Zastosuj analizę do konkretnego problemu — wybierz między analizą przepływu do przodu (od definicji do użycia), wstecz (od użycia do źródła) lub analizą wskaźników (flow-insensitive, flow-sensitive lub context-sensitive w zależności od wymaganej precyzji).

  6. Uruchom analizę na reprezentacji IR funkcji i interpretuj wyniki — alias results wskazują potencjalne konflikty dostępu do pamięci, a tainted values identyfikują ścieżki propagacji danych potencjalnie niebezpiecznych.

Podobne skille