L
llvm-security
Zabezpiecz swój kod dzięki narzędziom LLVM: sanityzery, hartowanie i ochrona przed exploitami
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność pracy z mechanizmami bezpieczeństwa LLVM — detektorem błędów pamięci (AddressSanitizer), wyścigów danych (ThreadSanitizer), niezainicjalizowanej pamięci (MemorySanitizer) i niezdefiniowanego zachowania (UBSan). Zawiera techniki hartowania kodu, takie jak ochrona stosu czy red zones wokół alokacji. Używaj tej umiejętności gdy implementujesz funkcje bezpieczeństwa na poziomie kompilatora, analizujesz podatności lub wzmacniasz aplikacje przed atakami.
Jak używać
- Zainstaluj umiejętność w swoim środowisku Claude/Copilot, wskazując repozytorium gmh5225/awesome-llvm-security jako źródło. 2. Aby wykryć błędy pamięci (przepełnienia bufora, use-after-free), skompiluj program flagą -fsanitize=address -g, np. clang -fsanitize=address -g program.c -o program. 3. Do detekcji wyścigów danych w kodzie wielowątkowym użyj -fsanitize=thread, a do znalezienia niezainicjalizowanych odczytów pamięci -fsanitize=memory. 4. Dla niezdefiniowanego zachowania (integer overflow, null pointer) zastosuj -fsanitize=undefined lub konkretne sprawdzenia jak -fsanitize=signed-integer-overflow,null. 5. Wzmocnij stos programu poprzez -fstack-protector-strong, aby włączyć canary i ochronę przed stack clash. 6. Dla zaawansowanych przypadków pytaj umiejętność o implementację niestandardowych sanityzers, takich jak SecureAllocator z red zones, lub o integrację __asan_poison_memory_region do śledzenia alokacji.