Toolverse
Wszystkie skille

llvm-security

autor: gmh5225

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ć

  1. 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.

Podobne skille