02 - Ocena i bezpieczeństwo / Przegląd bezpieczeństwa kodu pisanego przez AI

Przegląd bezpieczeństwa kodu pisanego przez AI

Przegląd bezpieczeństwa kodu pisanego przez AI: wstrzyknięcia, niebezpieczne ustawienia domyślne, obsługa sekretów, wygenerowana logika uprawnień. Do tego funkcje AI w aplikacji, jeśli je ma. Wynik to wykryte problemy z krokami odtworzenia i gotową poprawką.

Pakiet wejściowyPrzegląd bezpieczeństwa: 1 aplikacjaod 26 000 PLN1 aplikacja · do 4 tygodni od ustalenia zakresuCo zawiera
W skrócie
01

Kod i funkcje AI w jednym przeglądzie

Kod pisany przez AI oraz funkcje AI w aplikacji, jeśli są: prompty, granice zaufania, uprawnienia agenta.

02

Gotowa poprawka przy każdym problemie

Każde ustalenie przychodzi z patchem, diffem albo przykładem, który wasi inżynierowie dostosowują i testują u siebie.

03

Uszeregowane, żeby dało się zaplanować

Od krytycznych do niskich, każde z krokami odtworzenia, więc łatwiej ułożyć sprint po przeglądzie.

23Minds sprawdza bezpieczeństwo kodu pisanego przez AI oraz funkcji AI w aplikacji, jeśli produkt je ma.

Rozwiń podsumowanie

Przegląd obejmuje części repozytorium, które powstały z AI, razem z kodem, z którym się łączą: wstrzyknięcia, niebezpieczne ustawienia domyślne, obsługę sekretów, zależności wybrane przez asystenta, wygenerowaną logikę uprawnień i obsługę błędów, która zdradza wnętrze systemu. W funkcjach AI sprawdza, jak aplikacja buduje prompty, czemu ufa w odpowiedzi modelu, co wolno wywołać agentowi i co dzieje się z odpowiedzią, zanim trafi do użytkownika albo do bazy. Każdy wykryty problem ma kroki odtworzenia i gotową poprawkę, a zespół dostaje reguły przeglądu, żeby ta sama klasa problemu zatrzymywała się na code review. To przegląd na poziomie kodu: infrastruktura, chmura i bezpieczeństwo organizacji są poza zakresem z założenia.

Dlaczego 23Minds

Dowody, które możecie sprawdzić.

  • Odniesienie do OWASP LLM Top 10

    Ustalenia na powierzchni AI wskazują kategorię i mechanizm, a nie ogólną etykietę ryzyka.

  • Odtworzenie każdego ustalenia

    Plik, linie i dokładne żądanie albo inny sposób odtworzenia dopasowany do rodzaju podatności. Wszystko możecie sprawdzić sami.

  • Cena ustalona przed startem

    Jedna aplikacja, model zagrożeń i audyt w cenie; cena stała po ustaleniu zakresu, cztery tygodnie od jego zatwierdzenia.

  • Ponowny przegląd po poprawkach

    W zakresie projektu drugie przejście potwierdza, że poprawki weszły. Lista ustaleń zamyka się dowodem.

Jak pracujemy

Proces, faza po fazie.

  1. 1

    1. Zakres i przejście przez kod

    Uzgadniamy, które repozytoria i który kod pisany przez AI wchodzą w zakres, który asystent go wyprodukował i gdzie siedzą funkcje AI. Pochodzenie zmian ustalamy z historii PR-ów i z wami. Przechodzimy przez kod z doświadczonym inżynierem z waszej strony.

    Tydzień 1
    Repozytorium narysowane jako drzewo węzłów, trzy węzły na brzegu otoczone żółtymi pierścieniami: punkty wejścia danych z zewnątrz, uzgodnione jako zakres przeglądu.
  2. 2

    2. Przegląd bezpieczeństwa kodu

    Czytamy kod pisany przez AI pod kątem wstrzyknięć, niebezpiecznych ustawień domyślnych, obsługi sekretów, wygenerowanej logiki uprawnień, wyboru zależności i obsługi błędów, która zdradza wnętrze. Odtwarzamy to, co znajdziemy.

    Tydzień 1-2
    Rzędy linii kodu, jedna przerwana żółtym klinem wbijającym się z boku: miejsce wstrzyknięcia znalezione w kodzie pisanym przez AI.
  3. 3

    3. Przegląd funkcji AI w aplikacji

    Śledzimy, jak dane od użytkownika trafiają do promptu, co aplikacja wysyła do API modelu i czemu ufa w odpowiedzi, co wolno wywołać agentowi w aplikacji i co dzieje się z odpowiedzią, zanim trafi do użytkownika albo do bazy.

    Tydzień 2-3
    Centralne pole wymieniające strzałki z trzema mniejszymi, jedna strzałka przecina przerywaną granicę w żółtym punkcie: przepływ danych między aplikacją, modelem i agentem przez granicę zaufania.
  4. 4

    4. Raport, poprawki i reguły przeglądu

    Oddajemy listę ustaleń z poprawkami, omawiamy najważniejsze z zespołem i przekazujemy reguły przeglądu oraz kontrole w CI, które wyłapią te same klasy problemów w przyszłych PR-ach.

    Tydzień 3-4
    Lista kontrolna z czterema z pięciu wierszy odhaczonymi i karta z żółtą ramką wpięta w potok: ustalenia zamknięte, a w CI reguła przeglądu, która wyłapie tę samą klasę błędów w kolejnych PR-ach.
Jak zacząć

Sposoby rozpoczęcia współpracy, od bezpłatnego do pełnego projektu.

Każda usługa ma bezpłatny pierwszy krok, pakiet wejściowy z pisemnym rezultatem i ceną podaną tutaj oraz pełny projekt albo stałą współpracę, wyceniane po rozmowie wstępnej. Po ustaleniu zakresu cena jest stała, bez ukrytych kosztów.

  1. 1
    Krok 1 · Bezpłatnie

    Rozmowa wstępna z inżynierem

    do 60 minut · z inżynierem · bez zobowiązań

    Bezpłatnie
    Pokaż szczegóły
    • Rozmowa wstępna z inżynierem, a jeśli wolicie zacząć sami: samoocena online
    • Pisemne podsumowanie rozmowy z propozycją następnego kroku w ciągu jednego dnia roboczego
    • Bez zobowiązań i bez prezentacji sprzedażowej
    Porozmawiajcie z inżynierem
  2. Polecany
    2
    Krok 2 · Pakiet wejściowy

    Przegląd bezpieczeństwa: 1 aplikacja

    1 aplikacja · do 4 tygodni od ustalenia zakresu

    od 26 000 PLN netto

    Cena stała po ustaleniu zakresu na rozmowie wstępnej, bez ukrytych kosztów; dopłaty tylko za pozycje z listy Poza zakresem.

    Pokaż szczegóły
    • Model zagrożeń jednej aplikacji z kodem pisanym przez AI
    • Praktyczny audyt bezpieczeństwa z diagramem przepływu danych
    • Ocena ryzyka w łańcuchu dostaw AI: pakiety i zależności wprowadzone przez asystenta
    • Wykryte problemy według wagi, z gotową poprawką do wdrożenia przez wasz zespół
    • Poza zakresem: Testy sieci i infrastruktury, testy penetracyjne systemów produkcyjnych, certyfikacja zgodności, wdrożenie poprawek.
    Zapytajcie o ten pakiet
  3. 3
    Krok 3 · Projekt albo stała współpraca

    Pełny zakres, wycena po rozmowie wstępnej

    Zakres ustalony po rozmowie · praca w etapach · osobna wycena każdego etapu

    od 80 000 PLN netto, wycena po rozmowie wstępnej
    Pokaż szczegóły
    • Przegląd bezpieczeństwa kilku repozytoriów albo produktów
    • Wsparcie przy naprawie
    • Ponowny przegląd po wdrożeniu poprawek
    Porozmawiajcie o projekcie
Brzmi znajomo?

Problemy, które rozwiązuje ta usługa.

  • Asystent w tempie napisał budowanie zapytań, obsługę plików i parsowanie żądań, a nikt nie sprawdził tych ścieżek pod kątem wstrzyknięć
  • Wygenerowany kod niesie ustawienia domyślne frameworka, które model akurat znał: liberalny CORS, wyłączona weryfikacja, szczegóły błędów na produkcji
  • Sekrety i tokeny są obsługiwane tak, jak pokazał asystent: w kodzie, w logach, w paczce dla przeglądarki
Pokaż pozostałe problemy (3)
  • Kontrole uprawnień zostały wygenerowane osobno dla każdego endpointu i wymagają sprawdzenia, czy są spójne i obecne wszędzie
  • Instrukcje od użytkownika mogą zmienić zachowanie modelu albo uruchomić niedozwolone narzędzia, a odpowiedź modelu idzie prosto do HTML, do wywołania powłoki albo do zapisu w bazie
  • Agent w aplikacji ma dostęp do narzędzi i poświadczeń znacznie szerszy niż zadanie, które wykonuje
Dla kogo
  • Zespoły produktowe, które wdrożyły asystenta AI i wysyłają kod szybciej, niż ktokolwiek sprawdza go pod kątem bezpieczeństwa
  • Software house'y i agencje oddające kod pisany z AI, których klienci zaczęli prosić o niezależną opinię o jego bezpieczeństwie
  • Firmy, które dodały funkcję opartą na modelu językowym (czat, streszczenia, agent w aplikacji) do istniejącego produktu i chcą sprawdzić, co odsłoniła
  • Szefowie inżynierii, CTO zespołów produktowych i tech leadzi, którzy chcą dostać ustalenia prosto w repozytorium
Z doświadczenia

Co może pójść nie tak i co z tym robimy.

  1. 1. Niebezpieczne ustawienie domyślne przechodzi przegląd jako zwykły kodCo zostaje u was: kroki odtworzenia dla każdego ustalenia, waga z uzasadnieniem oraz poprawka sprawdzona na waszej gałęzi
    Co się dzieje

    Asystenci często proponują najpopularniejszy wzorzec, a najpopularniejszy wzorzec bywa najmniej ostrożny: zapytania sklejane ze stringów, weryfikacja podpisu wyłączona, żeby test przeszedł, sekrety czytane ze środowiska prosto do linii logu. Kompiluje się, testy przechodzą, a recenzent czyta to jak zwykły kod, bo wygląda zwyczajnie.

    Co z tym robimy

    Modelujemy powierzchnię ataku, której asystent faktycznie dotknął: obsługę wejścia, ścieżki uwierzytelniania, przepływ sekretów. Nie skanujemy całego repozytorium po równo. Każde ustalenie odtwarzamy na działającej instancji, zanim je zgłosimy, więc dostajecie ścieżkę ataku zamiast ostrzeżenia.

  2. 2. Nie ma incydentu, z którego można się uczyć, bo nikt go nie publikujeCo zostaje u was: lista znanych typów błędów sprawdzonych w waszym kodzie, z werdyktem i kontrolą przy każdym
    Co się dzieje

    Zespoły rzadko publikują incydenty spowodowane przez agenta kodującego: stoją za tym NDA i wstyd. Ryzyko bywa więc kalibrowane na podstawie materiałów dostawców zamiast na podstawie tego, co naprawdę się psuje. Udokumentowane przypadki zbieramy w przewodniku z katalogiem incydentów bezpieczeństwa kodu pisanego przez AI.

    Co z tym robimy

    Pracujemy na udokumentowanych przypadkach zamiast na wyczuciu: opublikowanych incydentach, ujawnionych podatnościach i konkretnych klasach błędów za nimi. Każdą klasę nakładamy na waszą technologię z odpowiedzią tak albo nie, czy może się zdarzyć u was. Te, które mogą, zamieniamy w kontrole.

  3. 3. Raport starzeje się szybciej, niż zespół go przerobiCo zostaje u was: kontrole wpięte w wasz pipeline, z celowo padającym testem, który dowodzi, że każda z nich działa
    Co się dzieje

    Jednorazowy audyt opisuje repozytorium z dnia, w którym zostało przeczytane. Z asystentami w pętli to samo repozytorium wygląda inaczej po trzech tygodniach, więc raport starzeje się szybciej, niż zespół jest w stanie go przerobić. Ustalenia zostają naprawione, wzorzec, który je wyprodukował, zostaje.

    Co z tym robimy

    Naprawiamy całą klasę problemu: dla każdego ustalenia znajdujemy, co je przepuściło. Potem dokładamy kontrolę, która następnym razem zatrzyma taką zmianę. Kontrolę sprawdzamy, wypychając zmianę, która powinna ją uruchomić.

Co dostajecie

Rezultaty, które zostają u was.

  • Lista wykrytych problemów według wagi (krytyczne, wysokie, średnie, niskie), każdy z krokami odtworzenia oraz dokładnym plikiem i liniami
  • Gotowa poprawka przy każdym problemie: patch, diff albo przykład, który wasz zespół dostosowuje, testuje i wdraża (wdrożenie jest poza pakietem wejściowym)
  • Przegląd funkcji AI w aplikacji: budowanie promptów, granice zaufania wokół API modelu, obsługa odpowiedzi, zakres narzędzi i uprawnień agenta
  • Ustalenia o sekretach i zależnościach w kodzie pisanym z AI, w tym pakiety wprowadzone przez asystenta
  • Krótki zestaw reguł przeglądu dla zespołu: czego szukać w PR-ach pisanych z AI, jako lista kontrolna i jako reguły lintera lub CI tam, gdzie da się je zautomatyzować; kontrole trafiają do was jako PR do pipeline, a wdraża je wasz zespół albo 23Minds z dodatkowym dostępem
  • Sesja robocza z zespołem inżynierskim o najważniejszych ustaleniach i o tym, jak każde z nich powstało
FAQ

Pytania przed rozpoczęciem współpracy.

Audyt kodu ocenia kod pisany przez AI w czterech wymiarach (poprawność, bezpieczeństwo, utrzymywalność, jakość testów) i daje ogólny obraz. Przegląd bezpieczeństwa bierze tylko wymiar bezpieczeństwa i idzie znacznie głębiej: każdy problem doprowadzamy do działającego odtworzenia i poprawki w kodzie. Sprawdzamy też funkcje AI w aplikacji, które audyt tylko próbkuje. Zespoły, które chcą jednego szerokiego obrazu, kupują audyt; zespoły, które już wiedzą, że chodzi o bezpieczeństwo, kupują ten przegląd.
Nie zajmujemy się bezpieczeństwem infrastruktury, chmury ani sieci, testami penetracyjnymi działających systemów, ofensywnym red teamingiem wdrożonej AI, programami audytu SOC 2 i ISO 27001 ani nadzorem nad bezpieczeństwem w organizacji. Nie oceniamy też waszego dostawcy modeli jako organizacji; sprawdzamy pakiety i zależności, które asystent wprowadził do kodu. Przeglądamy kod i to, co ten kod wystawia na zewnątrz. Zakresy z tej listy wymagają osobnego badania; jego wykonawcy przekażemy nasz raport, żeby zaczynał od konkretu.
Dostępu do odczytu repozytoriów w zakresie, historii PR-ów z okresu pracy z asystentem oraz działającej instancji w środowisku nieprodukcyjnym, żeby odtwarzać ustalenia. Bez dostępu do produkcji i bez danych klientów. Do tego doświadczony inżynier z waszej strony: na przejście przez kod na starcie i na omówienie ustaleń na końcu. Wszystko pod NDA.
Pakiet dla jednej aplikacji to cztery tygodnie od zatwierdzenia zakresu. Pojedynczy serwis albo dobrze wydzielona funkcja AI zamyka się szybciej; duża baza w wielu repozytoriach dostaje kilka osobnych przebiegów zamiast jednego długiego przeglądu. Cena jest stała i ustalona, gdy zakres jest jasny.
Domyślnie zdalnie, pod NDA, na dostępie do waszego repozytorium. Na miejscu w Polsce, gdy polityka klienta wymaga, żeby kod nie opuszczał jego sieci, w tej samej cenie.
Listę ustaleń z poprawkami, reguły przeglądu jako listę kontrolną i to, co udało się zamienić w kontrole lintera albo CI. Chodzi o to, żeby następny PR pisany z asystentem zatrzymał wasz własny przegląd, a nie my. Po kilku miesiącach ma sens krótszy ponowny przegląd zamiast powtórki całego zlecenia.
TypeScript i JavaScript, Python, Go, Ruby, Java i Kotlin oraz popularne frameworki webowe wokół nich. Aplikacje mobilne i systemy wbudowane są poza zakresem tej praktyki. Powiedzcie nam o technologii na rozmowie wstępnej, a powiemy wprost, czy jesteśmy do tego właściwym zespołem.
Nie. Przegląd obejmuje też zwykły produkt, w którym jedyną AI był asystent pomagający pisać kod. Jeśli produkt nie ma funkcji opartej na modelu językowym, pomijamy fazę trzecią, a ten czas idzie na przegląd kodu.

Porozmawiajmy o AI w waszej firmie.

Napiszcie, na jakim etapie jesteście. Temat: Przegląd bezpieczeństwa kodu pisanego przez AI. Odpowiedź w ciągu jednego dnia roboczego.

Porozmawiajcie z inżynierem
Szczecin - ul. Wawrzyniaka 6WWarszawaZielona GóraKraków