OpenAI
Ta strona została przetłumaczona maszynowo. Wyświetl oryginalny artykuł w języku angielskim.

Bezpieczeństwo Codex

Zaktualizowano: 15 days ago

Codex Security to wersja zapoznawcza badań, która pomaga zespołom identyfikować, weryfikować i usuwać luki w kodzie. Została zaprojektowana tak, aby działać bardziej jak badacz bezpieczeństwa niż tradycyjny skaner: czyta kod, uruchamia testy, bada realistyczne ścieżki ataku i proponuje poprawki, które zespoły mogą przeglądać w swoim standardowym przepływie pracy.

Omówienie

Dziś Codex Security łączy się bezpośrednio z repozytoriami GitHub. Po włączeniu repozytorium buduje model zagrożeń specyficzny dla bazy kodu, skanuje historię repozytorium, weryfikuje potencjalne luki w odizolowanym środowisku i przedstawia proponowane poprawki do przeglądu przez człowieka.

Codex Security opiera się na trzech etapach: identyfikacji, weryfikacji i usuwaniu luk. Podczas identyfikacji analizuje repozytorium i bada realistyczne ścieżki ataku. Podczas weryfikacji próbuje odtworzyć każdy problem, aby potwierdzić, że jest rzeczywisty. Podczas usuwania luk generuje konkretną poprawkę, którą zespoły mogą przejrzeć i zamienić w żądanie pull request.

Jak działa Codex Security

Gdy Codex Security łączy się z repozytorium, skanuje commity w odwrotnej kolejności chronologicznej i buduje model zagrożeń specyficzny dla bazy kodu. Model ten obejmuje punkty wejścia dla atakującego, granice zaufania, dane wrażliwe i ścieżki kodu o dużym wpływie, dzięki czemu Codex może skoncentrować analizę na realistycznych scenariuszach ataku. Zespoły mogą sprawdzać i edytować model zagrożeń, aby odzwierciedlał ich rzeczywiste założenia wdrożeniowe.

Codex Security działa zgodnie z zamkniętym przepływem pracy usuwania luk:

  1. Skanowanie repozytorium: Codex łączy się z Twoim repozytorium GitHub, analizuje bazę kodu i buduje model zagrożeń na podstawie repozytorium oraz historii commitów.

  2. Wykrywanie luk: Korzystając z tego modelu zagrożeń, Codex bada realistyczne ścieżki kodu i identyfikuje potencjalne luki.

  3. Weryfikacja w piaskownicy: Codex uruchamia zautomatyzowany walidator w odizolowanym środowisku, aby odtworzyć problem, zarejestrować szczegóły wykonania i potwierdzić możliwość wykorzystania przed pokazaniem wyniku.

  4. Generowanie poprawki: Dla zweryfikowanych luk Codex tworzy minimalną propozycję poprawki, która usuwa przyczynę źródłową.

  5. Przegląd przez człowieka i żądanie pull request: Poprawka nie modyfikuje automatycznie Twojego kodu. Jest przedstawiana do przeglądu przez człowieka i może zostać zamieniona w żądanie pull request w ramach standardowego przepływu pracy.

  6. Ponowna weryfikacja po usunięciu luki: Po poprawieniu i scaleniu potwierdzonego problemu Codex może ponownie zweryfikować poprawkę, zamykając pętlę od wykrycia do usunięcia luki.

Dla każdego wyniku Codex Security może utworzyć analizę ścieżki ataku, która pokazuje, jak dane wejściowe kontrolowane przez atakującego mogą przejść od punktu wejścia do wrażliwego skutku. Ocenia tę ścieżkę pod względem prawdopodobieństwa i wpływu oraz ujawnia założenia bazowe, co pomaga zespołom nadawać priorytet realistycznym ryzykom zamiast odizolowanym alertom.

Zanim pokaże wynik, Codex Security próbuje odtworzyć go w odizolowanym środowisku. Walidator rejestruje wyniki odtworzenia, szczegóły wykonania i artefakty proof-of-concept, aby zespoły mogły skupić się na wynikach, co do których faktycznie wykazano, że działają.

W przypadku zweryfikowanych wyników Codex Security proponuje minimalną poprawkę, która usuwa przyczynę źródłową. Nie modyfikuje automatycznie Twojego kodu. Zamiast tego poprawka jest przedstawiana do przeglądu przez człowieka i może zostać zamieniona w żądanie pull request w istniejącym przepływie pracy.

Pierwsze kroki

  1. Przejdź do chatgpt.com/codex/security.

  2. Połącz i włącz repozytoria GitHub, które Codex Security ma skanować.

  3. Poczekaj na zakończenie początkowego skanowania. Codex Security najpierw buduje model zagrożeń dla projektu i skanuje historię repozytorium pod kątem istniejących luk. W przypadku dużych projektów może to potrwać dłużej. Skanowanie nowego kodu jest szybsze.

  4. Przejrzyj wyniki, szczegóły weryfikacji i proponowane poprawki.

Kontrola dostępu oparta na rolach (RBAC)

W przestrzeniach roboczych Enterprise i Edu administratorzy mogą zarządzać dostępem do Codex Security w uprawnieniach przestrzeni roboczej. Codex Security wymaga, aby w przestrzeni roboczej był włączony zarówno dostęp do Codex Cloud, jak i Codex Security. Dostęp można też ograniczyć do określonych ról lub grup za pomocą RBAC, w tym grup synchronizowanych przez SCIM.

Aby zaktualizować uprawnienia swojej przestrzeni roboczej:

  1. W ChatGPT kliknij ikonę profilu i wybierz Workspace Settings -> Permissions, aby przejść do strony uprawnienia przestrzeni roboczej.

  2. Przewiń w dół do sekcji Codex Cloud.

  3. Upewnij się, że dostęp do Codex Cloud jest włączony.

  4. Włącz lub wyłącz dostęp, przełączając opcję Zezwól członkom na korzystanie z Codex Security.

Dowiedz się więcej o kontroli dostępu opartej na rolach w swojej przestrzeni roboczej ChatGPT.

Sprawdzone praktyki

  • Zacznij od małego zestawu repozytoriów i wydzielonej grupy recenzentów. Na początku zalecamy wdrożenie w ograniczonym zakresie, zwłaszcza gdy onboarding i udostępnianie informacji o lukach są nadal stosunkowo ręczne.

  • Udoskonalaj model zagrożeń w miarę zdobywania wiedzy. Niewielkie aktualizacje modelu mogą poprawić kontekst i z czasem zwiększyć precyzję wyników.

  • Jeśli obecnie nie korzystasz z GitHub Cloud, rozważ rozpoczęcie oceny od repozytoriów o niższym ryzyku lub nieprodukcyjnych. Może to pomóc zespołom zbudować zaufanie do tego przepływu pracy przed szerszym wdrożeniem.

  • Przeglądaj wygenerowane żądania pull request z poprawkami zgodnie ze swoim standardowym procesem przeglądu. Zalecamy też korzystanie z Codex Code Review w żądaniach pull request Codex Security, aby usuwanie luk nie wprowadzało regresji.

FAQ

Czy Codex Security automatycznie zmienia mój kod?

Nie. Codex Security proponuje poprawkę do przeglądu przez człowieka. Tę propozycję można zamienić w żądanie pull request, ale nie modyfikuje ona automatycznie Twojego kodu.

Czy Codex Security opiera się na fuzzingu lub skanowaniu opartym na sygnaturach?

Nie. Codex Security wykorzystuje rozumowanie modelu językowego, zasoby obliczeniowe w czasie testowania, użycie narzędzi i duży kontekst, zamiast fuzzingu lub skanowania opartego na sygnaturach.

Czy mogę sprawdzić lub edytować model zagrożeń?

Tak. Model zagrożeń jest widoczny i edytowalny, dzięki czemu zespoły mogą sprawdzić, jak Codex Security rozumie aplikację, oraz aktualizować założenia tak, aby odpowiadały ich środowisku.

Co oznacza weryfikacja?

Weryfikacja to etap, na którym Codex Security próbuje odtworzyć potencjalną lukę w odizolowanym środowisku, zanim ją pokaże. Ma to ograniczyć liczbę wyników fałszywie dodatnich i utrzymać wysoką jakość wyników.

Co się dzieje po zweryfikowaniu wyniku?

Po weryfikacji Codex Security proponuje poprawkę, która usuwa przyczynę źródłową i może zostać zamieniona w żądanie pull request do przeglądu.

Czy ten artykuł był pomocny?