static-analysis
Expertise in LLVM-based static analysis including dataflow analysis, pointer analysis, taint tracking, and program verification. Use this skill when implementing security scanners, bug finders, code quality tools, or performing program analysis research.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Expertise in LLVM-based static analysis including dataflow analysis, pointer analysis, taint tracking, and program verification. Use this skill when implementing security scanners, bug finders, code quality tools, or performing program analysis research.
How to use
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).
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.
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.
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.
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).
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.