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

Bezpieczeństwo Codex

Zaktualizowano: 8 days ago

Codex Security to wersja zapoznawcza dostępna dla użytkowników ChatGPT Enterprise, Edu, Business i Pro. Pomaga zespołom identyfikować, weryfikować i usuwać podatności w kodzie. Zaprojektowano go 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ą sprawdzić w swoim standardowym przepływie pracy.

Omówienie

Obecnie Codex Security łączy się bezpośrednio z repozytoriami GitHub. Po włączeniu repozytorium tworzy dla niego model zagrożeń właściwy dla bazy kodu, skanuje historię repozytorium, weryfikuje potencjalne podatności w izolowanym środowisku i przedstawia proponowane poprawki do przeglądu przez człowieka.

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

Jak działa Codex Security

Gdy Codex Security łączy się z repozytorium, skanuje commity w odwrotnej kolejności chronologicznej i tworzy model zagrożeń właściwy dla bazy kodu. Ten model obejmuje punkty wejścia atakującego, granice zaufania, dane wrażliwe i ścieżki kodu o dużym wpływie, których Codex używa do skupienia analizy na realistycznych scenariuszach ataku. Zespoły mogą sprawdzać i edytować model zagrożeń, aby odzwierciedlał ich rzeczywiste założenia dotyczące wdrożenia.

Codex Security korzysta z zamkniętego przepływu pracy remediacji:

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

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

  3. Weryfikacja w piaskownicy: Codex uruchamia automatyczny walidator w izolowanym środowisku, aby odtworzyć problem, zebrać szczegóły wykonania i potwierdzić możliwość wykorzystania przed ujawnieniem ustalenia.

  4. Generowanie poprawki: W przypadku zweryfikowanych podatności Codex tworzy minimalną propozycję poprawki, która usuwa główną przyczynę.

  5. Przegląd przez człowieka i żądanie pull request: Poprawka nie modyfikuje automatycznie kodu. Jest przedstawiana do przeglądu przez człowieka i może zostać przekształcona w żądanie pull request w standardowym przepływie pracy.

  6. Ponowna weryfikacja po remediacji: Po załataniu i scaleniu potwierdzonego problemu Codex może ponownie zweryfikować poprawkę, zamykając pętlę od wykrycia do remediacji.

Dla każdego ustalenia 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 kątem prawdopodobieństwa i wpływu oraz ujawnia założenia bazowe, co pomaga zespołom priorytetyzować realistyczne ryzyka zamiast izolowanych alertów.

Przed ujawnieniem ustalenia Codex Security próbuje odtworzyć je w izolowanym środowisku. Walidator rejestruje wyniki odtworzenia, szczegóły wykonania i artefakty proof-of-concept, aby zespoły mogły skupić się na ustaleniach, których działanie faktycznie wykazano.

W przypadku zweryfikowanych ustaleń Codex Security proponuje minimalną poprawkę, która usuwa główną przyczynę. Nie modyfikuje automatycznie kodu. Zamiast tego poprawka jest przedstawiana do przeglądu przez człowieka i może zostać przekształcona w żądanie pull request w istniejącym przepływie pracy.

Pierwsze kroki

  1. Przejdź do 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 tworzy model zagrożeń dla projektu i skanuje historię repozytorium pod kątem istniejących podatności. W przypadku dużych projektów może to potrwać dłużej. Skanowanie nowego kodu jest szybsze.

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

Kontrola dostępu oparta na rolach (RBAC)

W przypadku przestrzeni roboczych Enterprise i Edu administratorzy mogą zarządzać dostępem do Codex Security w uprawnieniach przestrzeni roboczej. Codex Security wymaga włączenia w przestrzeni roboczej zarówno dostępu do Codex Cloud, jak i do 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 umożliwić członkom zarządzanie konfiguracjami skanowania Codex Security, włącz też uprawnienie administratora Codex Security dla odpowiedniej roli lub grupy.

Aby zaktualizować uprawnienia przestrzeni roboczej:

  1. W ChatGPT wybierz ikonę profilu, a następnie wybierz Ustawienia przestrzeni roboczej > Uprawnienia, aby otworzyć uprawnienia przestrzeni roboczej.

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

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

  4. Włącz lub wyłącz dostęp przełącznikiem Zezwalaj członkom na używanie Codex Security.

  5. Jeśli rola lub grupa ma zarządzać konfiguracjami skanowania, włącz też Zezwalaj członkom na administrowanie Codex Security.

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

Sprawdzone metody

  • Zacznij od niewielkiego zestawu repozytoriów i dedykowanej grupy recenzentów. Na początku zalecamy ukierunkowane wdrożenie, zwłaszcza gdy wdrażanie użytkowników i udostępnianie podatności są nadal stosunkowo ręczne.

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

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

  • Przeglądaj wygenerowane żądania pull request z poprawkami w ramach standardowego procesu przeglądu. Zalecamy też używanie Codex Code Review w przypadku żądań pull request z Codex Security, aby usuwanie podatności nie wprowadzało regresji.

Często zadawane pytania

Czy Codex Security automatycznie zmienia mój kod?

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

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

Nie. Codex Security korzysta z rozumowania modelu językowego, mocy obliczeniowej w czasie testu, użycia narzędzi i dużego kontekstu, a nie z fuzzingu czy 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 zaktualizować założenia, aby pasowały do ich środowiska.

Co oznacza weryfikacja?

Weryfikacja to etap, na którym Codex Security próbuje odtworzyć potencjalną podatność w izolowanym środowisku, zanim ją ujawni. Ma to ograniczyć liczbę fałszywych alarmów i utrzymać wysoką jakość ustaleń.

Co się dzieje po zweryfikowaniu ustalenia?

Po weryfikacji Codex Security proponuje poprawkę, która usuwa główną przyczynę i może zostać przekształcona w żądanie pull request do przeglądu.

Czy ten artykuł był pomocny?