Przejdź do treści głównej
50% zniżki wszystkie plany, oferta limitowana. Od $2.48/mo
Pozostały czas: 22 min
Aplikacje webowe i biznesowe

Jak zespoły finansowe mogą wdrażać aplikacje stworzone przez AI bez wycieku danych finansowych

E Autor: Emti 22 min czytania
Panel finansowy stworzony przez AI z tarczą chroniącą zapisy finansowe

Gdy firma zajmująca się bezpieczeństwem RedAccess szukała aplikacji zbudowanych narzędziami AI do programowania i opublikowanych na własnym hostingu tych narzędzi, znalazła ponad 5 000 aplikacji praktycznie bez zabezpieczeń ani uwierzytelniania. Wśród ekranów udostępnionych Wired były „różne dane sprzedażowe i finansowe wielu innych firm”. Aplikacje stworzone przez AI dla zespołów finansowych mogą trafić pod podobny otwarty adres, za którym kryją się księga główna, płace i nieogłoszone wyniki.

Prezes Replit, Amjad Masad, odpowiedział, że „dostępność publicznych aplikacji w internecie jest oczekiwanym zachowaniem”. Ma rację co do mechanizmu. W mojej ocenie ujawnienie wynikało z ustawienia widoczności i pominiętego przeglądu, a oba te elementy pozostają w zasięgu osoby, która stworzyła narzędzie.

TL;DR

  • Narzędzie finansowe stworzone przez AI może ujawnić dane przez sześć błędów wdrożenia, na które twórca ma wpływ: publiczny link, hasła i klucze pozostawione w kodzie lub historii czatu, administracyjny dostęp do bazy danych, księgowanie bez drugiej osoby zatwierdzającej, wysyłanie danych do zewnętrznych usług i niezarejestrowane zmiany obliczeń.
  • Każdy błąd można naprawić, w większości przez to samo narzędzie AI, które stworzyło aplikację, oraz zweryfikować prostym sprawdzeniem potwierdzającym skuteczność zmiany, na przykład operacją zapisu odrzuconą przez bazę lub starym hasłem, które już nie działa.
  • Domyślnie utrzymuj narzędzie finansowe w sieci prywatnej, dodaj logowanie firmowe, gdy potrzebują go osoby spoza finansów, i przekaż je IT, gdy księguje w księdze głównej bez drugiej osoby zatwierdzającej, korzysta z danych kart lub dostarcza liczby do sprawozdań finansowych objętych SOX.
  • Region serwera określa lokalizację podstawowego magazynu danych aplikacji na VPS, ale kopie zapasowe, logi i usługi zewnętrzne mogą tworzyć kopie gdzie indziej; zgodność całej konfiguracji jest osobnym pytaniem. Omów regulacje dotyczące swojego regionu z zespołem ds. zgodności.

Błędy wdrożenia prowadzące do wycieków danych finansowych

Sześć błędów wdrożenia ujawniających dane finansowe w narzędziach finansowych stworzonych przez AI

Narzędzie finansowe stworzone przez AI może ujawnić dane przez sześć błędów wdrożenia: pozostawienie go pod publicznym linkiem, przechowywanie danych dostępowych w kodzie lub czacie, dostęp administracyjny tam, gdzie wystarczyłby odczyt, księgowanie bez drugiej osoby zatwierdzającej, wysyłanie danych finansowych do usług zewnętrznych i zmienianie obliczeń bez rejestru. Każde z tych ustawień domyślnych sprzyja demonstracji.

Każda opisana poniżej poprawka zawiera polecenie dla narzędzia AI, które stworzyło aplikację; przed wklejeniem zmień pola w nawiasach kwadratowych. Polecenia są nieprzetestowanymi punktami wyjścia napisanymi do tego artykułu, a deklaracja narzędzia AI, że dokonało zmiany, niczego nie dowodzi. Dowodem jest sprawdzenie pod każdym poleceniem. Uruchamiaj polecenia na kodzie i przykładowym lub syntetycznym zbiorze danych, a nigdy nie wklejaj do czatu rzeczywistych zapisów ani aktywnych kluczy.

Pozostawienie narzędzia pod publicznym linkiem platformy AI

Panel prognoz przepływów pieniężnych pozostawiony publicznie na hostingu platformy AI może otworzyć każdy, kto zna jego adres, wraz ze wszystkim, co pokazuje: wiekowaniem zobowiązań (AP), budżetem względem wykonania, wynikami kwartału przed ich ogłoszeniem. Artykuł Wired o ustaleniach RedAccess opisuje, jak badacze znajdowali takie aplikacje prostymi wyszukiwaniami w Google i Bing w domenach dostawców AI.

Niektóre z tych aplikacji prosiły odwiedzających jedynie o zalogowanie się dowolnym adresem e-mail. Logowanie akceptujące każdy adres e-mail nie jest kontrolą dostępu.

Usuń rzeczywiste dane z hostingu dostawcy. Dopóki narzędzie nie działa na serwerze pod twoją kontrolą (kolejny rozdział opisuje gdzie), buduj i prezentuj je na syntetycznym zbiorze danych albo w środowisku testowym lub firmie testowej ERP, jeśli je udostępnia, nigdy na rzeczywistym eksporcie. Po zmianie wdroż aplikację ponownie, ponieważ adres na hostingu udostępnia ostatnio wdrożoną wersję.

Utwórz syntetyczny zbiór danych dla tej aplikacji odpowiadający tabelom i kolumnom, które odczytuje: [wymień tabele i kolumny, np. vendors, invoices, journal_lines].

Użyj wymyślonych nazw dostawców i klientów, wymyślonych numerów kont bankowych oraz kwot w [waluta], które zachowują się jak rzeczywiste księgi: każdy zapis księgowy się bilansuje, a sumy ksiąg pomocniczych zgadzają się z [kontem kontrolnym AP / AR].

Skieruj aplikację na ten zbiór danych zamiast dowolnego rzeczywistego eksportu i wymień wszystkie zmienione pliki lub ustawienia.

Nie proś mnie o rzeczywiste zapisy.

Potwierdź skuteczność: otwórz adres na hostingu dostawcy w przeglądarce bez zalogowania lub poproś o to osobę spoza finansów i upewnij się, że pokazuje wyłącznie dane syntetyczne, wymóg zalogowania lub nic. Następnie wyszukaj w plikach danych aplikacji i repozytorium trzy nazwy dostawców lub klientów z produkcyjnego ERP: nie powinno być dopasowań. Na końcu uruchom zestawienie obrotów i sald lub widok podsumowania aplikacji i potwierdź równość sum debetów i kredytów.

Pozostawienie danych dostępowych ERP, integracji bankowej i bazy danych w kodzie lub czacie

Jeżeli znajdują się tam aktywne dane dostępowe, każdy, kto może przeczytać historię czatu, repozytorium lub plik konfiguracji MCP, może też użyć ich do uzyskania dostępu do ERP, finansowej bazy danych lub integracji danych bankowych. MCP jest łącznikiem umożliwiającym narzędziu AI, takiemu jak Claude, bezpośrednią komunikację z ERP lub bazą danych, a jego plik konfiguracji to kolejne miejsce, w którym może znaleźć się hasło.

Raport GitGuardian State of Secrets Sprawl 2026 wykrył 24 008 unikalnych sekretów ujawnionych w plikach konfiguracji MCP, z czego 14% stanowiły ciągi połączenia z bazami PostgreSQL. W publicznych commitach GitHub ten sam raport wykazał, że commity współtworzone przez Claude Code ujawniały sekrety około dwa razy częściej niż poziom bazowy, i dodał, że czynnik ludzki nadal pozostaje kluczowy.

Usunięcie wiadomości z czatu nie cofa ujawnienia: każdy posiadający kopię czatu, repozytorium lub jego historii nadal ma daną wartość. Dla każdego hasła, klucza lub tokena, który kiedykolwiek znajdował się w jednym z tych miejsc, wydaj nowy w konsoli administracyjnej ERP, bazy danych lub integracji bankowej i wyłącz stary. To właśnie oznacza rotacja danych dostępowych.

Aplikacja odczytuje następnie dane dostępowe przy uruchomieniu ze zmiennych środowiskowych (nazwanych ustawień poza kodem), dostarczanych przez warstwę wdrożeniową, czyli narzędzie budujące i uruchamiające aplikację na serwerze. HashiCorp Vault jest kolejnym krokiem, gdy kilka narzędzi współdzieli sekrety i trzeba rotować je z jednego miejsca.

Własne kopie haseł zespołu powinny znajdować się w menedżerze haseł przeznaczonym dla ludzi, takim jak Vaultwarden; działająca aplikacja odczytuje swoje wartości ze środowiska. Zacznij od znalezienia wszystkich sekretów wpisanych na stałe w kodzie wygenerowanym przez AI.

Sprawdź projekt pod kątem sekretów wpisanych na stałe. Znajdź każde hasło, klucz API, token dostępu i ciąg połączenia, także w plikach .env, notatnikach, plikach konfiguracji MCP i kodzie łączącym się z [nazwa ERP / dostawca danych bankowych / finansowa baza danych].

Zastąp każdą wartość w kodzie nazwaną zmienną środowiskową i podaj mi listę nazw zmiennych.

Upewnij się, że żaden plik z rzeczywistymi wartościami nie trafia do commitów repozytorium, i wymień wszystkie commity w historii repozytorium zawierające jedną z tych wartości.

Pokaż tylko lokalizacje. Nie wypisuj żadnej wartości sekretu.

Potwierdź skuteczność: spróbuj użyć starego hasła lub tokena samodzielnie albo poproś IT i oczekuj odrzucenia. Następnie wyszukaj stare wartości w bieżących plikach projektu: nie powinno być żadnych. Dopasowanie pozostawione w historii nie daje już dostępu dopiero po potwierdzeniu, że wartość została unieważniona lub wygasła.

Połączenie kontem administratora twórcy, gdy narzędzie potrzebuje tylko odczytu

Panel wiekowania należności (AR) nie może mieć możliwości edytowania księgi głównej (GL). Jeśli narzędzie łączy się kontem administratora twórcy, dziedziczy uprawnienia tego konta. Sekretny klucz Supabase lub starszy klucz service_role zapewnia podwyższony dostęp do danych projektu i omija Row Level Security, więc nie należy używać go do zwykłego dostępu tylko do odczytu. Raport utworzony dla jednego zestawienia wiekowania ujawnia wtedy całą księgę główną, łącznie z tabelami płac.

Możliwość zapisu powoduje wysokie koszty. Skan Symbiotic Security obejmujący 1 072 aplikacje stworzone przez AI i oparte na Supabase wykrył 172 pozwalające każdemu usuwać zapisy bez uwierzytelnienia, 172 pozwalające każdemu zmieniać istniejące zapisy oraz 39 z tabelami w całości czytelnymi dla każdego posiadacza klucza publicznego.

Nadaj narzędziu dane dostępowe tylko do odczytu, ograniczone do czytanych tabel. W ERP lub bazie danych oznacza to dedykowanego użytkownika integracji: osobne konto utworzone dla narzędzia, z prawem odczytu obiektów potrzebnych raportowi i niczego więcej. W Supabase włącz Row Level Security (regułę bazy danych określającą, które wiersze może zobaczyć każde żądanie) dla każdej udostępnionej tabeli używanej przez narzędzie oraz sprawdź uprawnienia tabel: określają one, czy rola może w ogóle wykonywać select, insert, update lub delete. Rola aplikacji finansowej tylko do odczytu nie powinna mieć niepotrzebnych operacji zapisu. Klucz publikowalny może znajdować się w kodzie przeglądarki, jeśli RLS i uprawnienia zgodne z zasadą najmniejszych przywilejów są poprawne. Klucze sekretne i starsze service_role pozostają po stronie serwera i powinny służyć wyłącznie zadaniom backendu, które rzeczywiście potrzebują podwyższonego dostępu i wymuszają własną autoryzację.

Uwaga: klucz publikowalny Supabase lub starszy klucz anon widoczny w JavaScript strony jest normalny. Dokumentacja kluczy API Supabase mówi, że zapewnia dostęp wyłącznie do tego, na co pozwala Row Level Security. Klucz sekretny omija Row Level Security, więc nigdy nie może znajdować się w niczym wysyłanym do przeglądarki.

Wymień każdą operację odczytu i zapisu tej aplikacji w [nazwa ERP lub bazy danych], grupując je według tabeli lub obiektu.

Zmień aplikację, by odczytywała tylko [potrzebne jej tabele] i łączyła się osobnymi danymi dostępowymi tylko do odczytu, dostarczanymi przez zmienną środowiskową, nigdy moim własnym kontem.

Jeśli aplikacja używa Supabase: włącz Row Level Security dla każdej udostępnionej tabeli, z którą pracuje. Wymień uprawnienia select, insert, update i delete dla anon i authenticated. Dla tej aplikacji tylko do odczytu usuń zbędne uprawnienia zapisu; jeśli zależy od któregoś inna aplikacja produkcyjna, oznacz je zamiast zmieniać. Następnie napisz polityki, aby niezalogowani odwiedzający nie mogli nic odczytać, a zalogowani użytkownicy mogli odczytać tylko [reguła, np. wiersze własnego centrum kosztów], i potwierdź, że żaden sekretny lub starszy klucz service_role nie występuje w plikach wysyłanych do przeglądarki.

Wymień utworzone polityki.

Potwierdź skuteczność: używając danych dostępowych narzędzia, spróbuj wykonać jeden zapis, np. edycję testowego rekordu, i oczekuj odmowy. W Supabase zażądaj wierszy tabeli finansowej bez zalogowania i oczekuj pustego wyniku lub błędu.

Pozwolenie narzędziu na księgowanie bez drugiej osoby zatwierdzającej

Importer zapisów księgowych, który księguje bezpośrednio, lub generator plików płatniczych wysyłający je prosto do banku sprawia, że osoba uruchamiająca narzędzie jest jednocześnie przygotowującym i zatwierdzającym. Jeden błąd duplikuje miesiąc rozliczeń międzyokresowych. Jedno zmienione pole kieruje płatność dostawcy na niewłaściwe konto. To naruszenie rozdziału obowiązków, którego finanse nie dopuszczają między dwiema osobami, a oprogramowanie stworzone z asystentem AI nie otrzymuje wyjątku.

Szkoda nie pozostaje w aplikacji. Błędna partia trafia do ksiąg, gdzie jej cofnięcie wymaga zapisu korygującego i wyjaśnienia przy zamknięciu okresu, a gdy narzędzie księguje kontem twórcy, każdy zdublowany zapis nosi jego nazwisko.

Narzędzie stworzone przez AI odczytuje i przygotowuje; księgowanie i zwalnianie płatności odbywa się we własnym obiegu zatwierdzania ERP, z akceptacją osoby innej niż ta, która uruchomiła narzędzie. Każdy system księgowy, przy którym pracowałem, traktuje zapis i jego zatwierdzenie jako dwa zdarzenia z dwiema osobami odpowiedzialnymi, a narzędzie stworzone przez AI zasługuje na takie samo podejście.

W praktyce zamień każde bezpośrednie księgowanie na zapis roboczy lub przygotowany import czekający na zatwierdzenie w ERP. Narzędzie nadal wykonuje żmudną część (mapowanie, walidację, budowanie partii), a zatwierdzenie pozostaje w ERP obok innych zatwierdzeń, od których zależy zamknięcie okresu. Jeśli ERP nie ma etapu zatwierdzania importów, wynik narzędzia staje się plikiem, który druga osoba sprawdza względem podsumowania partii i samodzielnie importuje.

Narzędzie, które musi księgować automatycznie, generować pliki płatnicze lub zmieniać dane bankowe dostawców, należy przekazać IT zgodnie z warunkami kolejnego rozdziału.

Wymień każde miejsce, w którym aplikacja tworzy, edytuje lub księguje [zapisy księgowe / rachunki / płatności] w [nazwa ERP].

Zmień każde z nich tak, by aplikacja zapisywała zapis roboczy lub przygotowany import, który musi zostać zatwierdzony w [nazwa ERP] przed zaksięgowaniem. Jeśli [nazwa ERP] nie ma etapu zatwierdzania importów, zamiast tego wygeneruj plik importu i niczego nie księguj.

Usuń każdą ścieżkę kodu, która księguje lub zwalnia płatność bez tego zatwierdzenia.

Dla każdej partii przygotuj podsumowanie z liczbą wierszy, sumą debetów i sumą kredytów.

Wymień wszystko, co nadal księguje bezpośrednio, abym mógł to sprawdzić.

Potwierdź skuteczność: uruchom jedną partię na przykładowych danych. Nic nie powinno pojawić się jako zaksięgowane, zanim drugi użytkownik zatwierdzi to w ERP. Następnie porównaj podsumowanie partii z danymi ERP dla tej partii: liczba wierszy, suma debetów i suma kredytów muszą zgadzać się dokładnie. Różnica jednego wiersza oznacza nieudane uzgodnienie, a nie problem zaokrągleń.

Wysyłanie danych finansowych do usług poza twoją kontrolą

Funkcja komentowania odchyleń wysyłająca pełny eksport księgi głównej do API AI przekazuje każdy wiersz stronie trzeciej. Dane opuszczają system także dwiema mniej widocznymi drogami: skryptem analitycznym na stronie, zgłaszającym każdą wizytę dostawcy, oraz systemem śledzenia błędów lub logiem przechowującym pełne treści żądań, gdzie mogą znaleźć się pozycje płacowe, dane bankowe klientów i liczby sprzed publikacji.

W wewnętrznym narzędziu stworzonym przez finanse nie wysyłaj nieopublikowanych wyników i danych płacowych do usług zewnętrznych, chyba że usługa i konkretny przepływ danych zostały wyraźnie zatwierdzone w procesie organizacji dotyczącym dostawców, bezpieczeństwa i zgodności. Dla pozostałych danych wymień każdy cel i wysyłaj w każdym wywołaniu tylko niezbędne pola. To, czy usługa zewnętrzna przechowuje otrzymane dane lub używa ich do trenowania, powinien ustalić podpisujący umowy z dostawcami, sprawdzając własne warunki danego dostawcy. Jeśli zespół chce znać częstotliwość używania narzędzia, samodzielnie hostowane narzędzie analityczne, takie jak Umami, utrzymuje te odsłony na własnym serwerze.

Wymień każde miejsce, w którym aplikacja wysyła dane poza [nasz serwer], w tym API AI, skrypty analityczne, śledzenie błędów, e-mail, webhooki i pliki logów.

Dla każdego celu wymień dokładnie otrzymywane pola.

Oznacz wszystko, co zawiera [kwoty płac / numery kont bankowych / nieopublikowane wyniki / nazwy klientów].

Dla każdej oznaczonej pozycji pokaż, jak wysyłać mniej pól lub żadne, i wprowadź zmianę dopiero po moim potwierdzeniu.

Potwierdź skuteczność: uruchom każdą funkcję raz na przykładowych danych zawierających rozpoznawalny fikcyjny numer konta i fikcyjną kwotę płacy. Wyszukaj obie wartości w systemie śledzenia błędów i logach: nie powinno ich być. Dla połączenia z API AI zleć aplikacji zapisanie wychodzącej treści żądania podczas tego testu, wyszukaj w logu te same dwie wartości i oczekuj braku obu oraz obecności wyłącznie zatwierdzonych pól. Następnie wyłącz to logowanie.

Zmiana obliczeń bez rejestru i bez uzgodnienia wyników

W kalkulatorze rozliczeń międzyokresowych lub walidatorze harmonogramu rozpoznawania przychodów kod jest mechanizmem kontrolnym. Zmień jedną formułę, a zmienią się liczby trafiające do zamknięcia okresu; bez kontroli wersji nikt nie powie, kto zmienił co ani kiedy.

Pod wątkiem firmy księgowej CPA w r/ClaudeAI o wewnętrznych narzędziach stworzonych z Claude Code komentujący ujął ograniczenie wprost: „«księgowy + claude code» działa, dopóki nie trafisz na wymagania dotyczące ścieżki audytu. To jest rzeczywisty pułap”.

Utrwal dzisiejsze działanie przed jakąkolwiek zmianą; po utrwaleniu wyników logikę można ulepszać bez niezauważonego rozchodzenia się sum. Przechowuj kod w systemie kontroli wersji, który zapisuje każdą zmianę wraz z autorem i datą.

Napisz testy uruchamiające narzędzie na stałym pliku przykładowym i porównujące wyniki z zapisanym punktem odniesienia, aby kod musiał przejść uzgodnienie przed wydaniem każdej zmiany. Utrwalony test chroni wszystko, co zapisuje, również błędy, więc przed zaufaniem sumom bazowym uzgodnij je z sumami ERP za dany okres.

Wymagaj przeglądu każdej zmiany logiki obliczeń przez drugą osobę i uzgadniaj każde uruchomienie produkcyjne z własnymi sumami ERP.

Obejmij projekt kontrolą wersji, jeśli jeszcze nie jest nią objęty, i wymień pliki zawierające logikę obliczeń.

Napisz testy uruchamiające aplikację na [plik przykładowy] i zapisujące dzisiejsze wyniki: liczby wierszy i sumy według [konto / jednostka / okres].

Przed zapisaniem utrwalonych wyników pokaż mi sumy, abym mógł uzgodnić je z [nazwa ERP] za [okres].

Każda zmiana, która zmienia jedną z tych sum, musi powodować niepowodzenie testu.

Nie zmieniaj logiki obliczeń podczas pisania testów.

Potwierdź skuteczność: celowo zmień jedno obliczenie, na przykład regułę zaokrąglania, i sprawdź, że test nie przechodzi. Cofnij zmianę i potwierdź, że wszystkie testy znów przechodzą.

Domyślnie sieć prywatna, logowanie firmowe dla większej liczby osób, IT dla księgi głównej

Poziomy wdrożenia aplikacji finansowych: od sieci prywatnej po logowanie firmowe i odpowiedzialność IT
Ten diagram podsumowuje poziomy wdrożenia. Korzystaj z pełnej listy warunków przekazania poniżej, obejmującej także narzędzia oceniające zdolność kredytową osób fizycznych.

Rzeczywiste dane finansowe nigdy nie pozostają na hostingu narzędzia AI. Aby bezpiecznie wdrożyć aplikację finansową stworzoną przez AI tylko dla zespołu finansowego, umieść ją na serwerze pod własną kontrolą, dostępnym wyłącznie przez sieć prywatną. Dodaj logowanie firmowe, gdy potrzebują jej osoby spoza zespołu, i przekaż IT, gdy spełnia którykolwiek warunek z poniższej listy.

VPS to wynajmowany serwer wirtualny, którego system operacyjny i stos oprogramowania kontrolujesz. Sieć prywatna (tailnet w terminologii Tailscale) łączy zatwierdzone urządzenia z tym serwerem. Aby narzędzie nie było dostępne w otwartym internecie, nadal musisz zablokować publiczny ruch przychodzący do aplikacji, na przykład zaporą serwera, i udostępnić ją tylko przez interfejs VPN lub tailnet. Dostawca tożsamości przechowuje firmowe konta użytkowników, a odwrotne proxy jest bramą przed aplikacją, kierującą każde żądanie najpierw przez logowanie.

Poziom wdrożenia Kto ma dostęp Zastosowanie Na czym działa
Tylko sieć prywatna Zespół finansowy na własnych urządzeniach Pomoc w uzgodnieniach, prognozy środków pieniężnych, listy kontrolne zamknięcia okresu, wszystko pokazujące liczby przed publikacją VPS z warstwą wdrożeniową, taką jak Coolify lub Dokku, dostępny tylko przez Tailscale lub WireGuard
Logowanie firmowe przed aplikacją Wskazane osoby z całej firmy, np. odpowiedzialni za budżet i kierownicy działów Widoki budżetu względem wykonania, wnioski o wydatki Poziom 1 plus dostawca tożsamości (Authentik lub Keycloak) za odwrotnym proxy (Caddy lub Nginx Proxy Manager)
Odpowiedzialność IT lub zespołu inżynierskiego Osoby wskazane przez IT Każde narzędzie spełniające warunek z listy przekazania IT Własna platforma IT

Własny hosting narzędzia AI nie trafia do tabeli z powodów opisanych przy pierwszym błędzie. Nie trafia też platforma wdrożeniowa klasy korporacyjnej, taka jak Northflank, odpowiednia dla większych organizacji już budżetujących dostawców platform i wymagane przeglądy. To więcej zobowiązań umownych, niż potrzebuje narzędzie działowe z kilkoma użytkownikami.

Z mojego doświadczenia Tailscale wdraża się szybciej z tych dwóch opcji sieci prywatnej, ale Tailscale sam hostuje usługę koordynacji. WireGuard jest opcją w pełni hostowaną samodzielnie.

Dlaczego wybieram domyślnie sieć prywatną: narzędzia, które nie odpowiada z internetu, nie można znaleźć w wyszukiwarce ani zaatakować przez stronę logowania, natomiast strona logowania napisana przez AI jest tylko tak dobra, jak kod AI za nią. Jeśli musisz udostępnić aplikację poza siecią prywatną, logowanie firmowe dodaje przed nią zarządzaną warstwę uwierzytelniania, dlatego jest drugim krokiem.

Gdy osoby odpowiedzialne za budżety potrzebują dostępu, zastąp własne logowanie narzędzia logowaniem firmowym, zwanym też jednokrotnym logowaniem (SSO): ludzie używają istniejącego konta firmowego, więc jego wyłączenie blokuje nowe logowania; skonfiguruj unieważnianie sesji, back-channel logout lub odpowiednio krótkie czasy życia sesji, aby istniejące sesje nie trwały zbyt długo. Polecenie używa OIDC, standardowego protokołu logowania obsługiwanego przez Authentik i Keycloak.

Zastąp własne logowanie aplikacji logowaniem firmowym przez [Authentik / Keycloak / nasz dostawca tożsamości] przy użyciu OIDC.

Odczytuj grupę każdego użytkownika z danych logowania.

Zezwalaj na [strony płacowe] tylko członkom [nazwa grupy] i wymuszaj tę regułę na serwerze dla każdej strony, każdego eksportu i każdego endpointu API, nie tylko w menu.

Odrzucaj każde żądanie bez prawidłowego zalogowania.

Potwierdź skuteczność: zaloguj się kontem testowym spoza grupy, zażądaj bezpośrednio ograniczonej strony i adresu jej eksportu lub API i oczekuj odmowy w obu przypadkach. Następnie wyłącz konto testowe u dostawcy tożsamości i potwierdź, że nie może rozpocząć nowej sesji. Potwierdź też, że istniejąca sesja zostaje unieważniona lub wygasa w skonfigurowanym przedziale czasu.

Niektóre narzędzia w ogóle nie powinny pozostawać w zespole. Przekaż narzędzie IT lub inżynierom, gdy spełnia którykolwiek z warunków:

  1. Księguje w księdze głównej lub innym systemie źródłowym bez zatwierdzenia przez człowieka w ERP.
  2. Generuje pliki płatnicze, zwalnia płatności lub zmienia dane bankowe dostawców.
  3. Jego wyniki zasilają sprawozdania finansowe podmiotu zarejestrowanego w SEC, co może objąć narzędzie kontrolą wewnętrzną nad sprawozdawczością finansową (ICFR). Omów to z audytem wewnętrznym przed użyciem przy zamknięciu okresu; w przypadku emitentów objętych sekcją 404(b) SOX audytor zewnętrzny może także testować odpowiednie mechanizmy kontrolne.
  4. Przechowuje, przetwarza lub przesyła dane kart płatniczych.
  5. Ocenia zdolność kredytową osób fizycznych.
  6. Nikt w zespole nie weźmie odpowiedzialności za poprawki, przeglądy dostępu i wycofanie narzędzia.

Szósty warunek ma większe znaczenie, niż się wydaje. Przy samodzielnym hostingu odpowiadasz za aktualizacje, kopie zapasowe i monitoring, a narzędzie finansowe, którego nikt nie utrzymuje, jest bezpieczniejsze pod opieką IT. IT może działać wolniej; to cena nadzoru wymaganego przez te warunki.

Dla poziomów 1 i 2 serwer, warstwa wdrożeniowa, sieć prywatna oraz, w poziomie 2, dostawca tożsamości muszą być gotowe, zanim ktokolwiek otworzy narzędzie, a zespół finansowy bez inżyniera musi przygotować je samodzielnie. Na naszym Linux VPS otrzymujesz dostęp root. Coolify i WireGuard są dostępne jako wdrożenia jednym kliknięciem; Tailscale instaluje się oficjalnym instalatorem uruchamianym jedną komendą, a Authentik działa z oficjalnego stosu Docker Compose. Czas zespołu może wtedy pójść na opisane poprawki zamiast budowania stosu wdrożeniowego od podstaw. Nasze lokalizacje obejmują Frankfurt i Amsterdam w UE, Londyn w Wielkiej Brytanii oraz kilka miast USA, co pozwala wybrać region podstawowego magazynu danych aplikacji na VPS; akceptowalność wyboru pozostaje w gestii zespołu ds. zgodności.

Przepisy do sprawdzenia z zespołem ds. zgodności według regionu

To, jakie regulacje mają zastosowanie, zależy od danych, z którymi pracuje narzędzie, oraz lokalizacji firmy i osób występujących w danych. Tabela płac z wynagrodzeniami pracowników z UE i harmonogram przychodów zasilający sprawozdania firmy notowanej w USA mogą podlegać różnym regulacjom.

Nic w tym artykule nie stanowi porady prawnej. Poniższa tabela wymienia regulacje do omówienia z zespołem ds. zgodności i nie rozstrzyga, czy którakolwiek ma do ciebie zastosowanie.

Gdzie / kiedy Ramy zgodności z wymogami Pytanie do zespołu ds. zgodności Gdzie przeczytać
USA, firmy składające raporty do SEC Sekcja 404 Sarbanes-Oxley, kontrola wewnętrzna nad sprawozdawczością finansową (ICFR) Czy wyniki tego narzędzia zasilają sprawozdania finansowe i czy powinno ono znaleźć się w naszym rejestrze mechanizmów kontrolnych? AS 2201 PCAOB
UE, dane osobowe (płace, wydatki pracowników, dane bankowe klientów) GDPR Jaka jest nasza podstawa prawna dla tych danych w tym narzędziu i czy jego środki bezpieczeństwa spełniają art. 32? Przewodnik EDPB dotyczący zabezpieczania danych osobowych
Wielka Brytania, dane osobowe UK GDPR Jaka jest nasza podstawa prawna na gruncie UK GDPR i czy narzędzie spełnia zasadę bezpieczeństwa? Przewodnik ICO po zasadach ochrony danych
Wszędzie, gdzie występują dane kart PCI DSS (standard branżowy, sam w sobie niebędący prawem) Czy to narzędzie włącza dane kart do zakresu wymagań i czy może całkowicie uniknąć pracy z nimi? PCI Security Standards Council o PCI DSS
UE, jeśli narzędzie ocenia zdolność kredytową osób fizycznych (zgodnie z obecnym harmonogramem reguły wysokiego ryzyka z załącznika III obowiązują od 2 grudnia 2027 r.) EU AI Act, kategoria wysokiego ryzyka (wyjątkiem jest AI służąca wykrywaniu oszustw finansowych) Czy to system AI wysokiego ryzyka w rozumieniu załącznika III? Strona Komisji Europejskiej o AI Act; załącznik III do AI Act
Dane osobowe z UE lub Wielkiej Brytanii udostępniane odrębnemu odbiorcy poza właściwą jurysdykcją albo umowy z klientami określające miejsce przechowywania zapisów Rozdział V GDPR, brytyjskie zasady transferów międzynarodowych, umowy z klientami Czy te dane mogą znajdować się na serwerze w [lokalizacja] i czy jakakolwiek umowa z klientem to ogranicza? Przewodnik EDPB dotyczący międzynarodowych transferów danych; wytyczne ICO dotyczące transferów międzynarodowych

W wierszu SOX AS 2201 jest standardem PCAOB dotyczącym poświadczenia audytora, do którego odnosi się sekcja 404(b) ustawy Sarbanes-Oxley; wymienia kontrolę zapisów księgowych i korekt dokonywanych w procesie sprawozdawczości finansowej na koniec okresu wśród mechanizmów ocenianych przez audytora przy analizie ryzyka oszustwa. Poza tymi regionami zacznij od strony krajowego organu ochrony danych. Lokalizacja serwera określa miejsce podstawowego magazynu danych; nie mówi, gdzie znajduje się każda kopia zapasowa, log lub kopia u strony trzeciej, i sama w sobie nie zapewnia zgodności z żadnymi regulacjami powyżej.

Często zadawane pytania

Czy vibe coding jest bezpieczny dla narzędzi finansowych?

Może być, gdy usunie się luki pozostawione przez demonstrację; odczytuję dowody raczej jako problem wdrożenia niż programowania. Narzędzie finansowe jest bardziej ryzykowne niż projekt osobisty, ponieważ odczytuje ERP i może zapisywać w księgach. Gdy zaczyna księgować bez drugiej osoby zatwierdzającej, obsługiwać płatności lub korzystać z danych kart, powinno przejść do IT.

Czym jest shadow AI w finansach?

Shadow AI to narzędzia AI lub aplikacje stworzone przez AI używane na danych firmy bez wiedzy lub zgody IT, na przykład panel prognoz połączony z ERP, którego IT nigdy nie widziało. Według komunikatu IBM raport IBM Cost of a Data Breach Report z 2025 r. wykazał, że organizacje o wysokim poziomie shadow AI miały średnie koszty naruszenia danych o 670 000 USD wyższe niż te o niskim poziomie lub bez shadow AI.

Co pokazać audytowi wewnętrznemu lub audytorowi zewnętrznemu?

Przed użyciem narzędzia przy zamknięciu okresu przygotuj cztery rzeczy: gdzie działa i kto ma do niego dostęp, historię zmian z testami utrwalonych wyników, sposób zatwierdzania księgowań w ERP i dowody uzgodnienia każdej partii z sumami ERP. O wymaganiach decyduje audytor; te materiały dają mu coś konkretnego do oceny.

Kto odpowiada za narzędzie finansowe stworzone przez AI po odejściu jego twórcy?

Przed uruchomieniem wyznacz osobę odpowiedzialną w finansach i kontakt techniczny. Uruchamiaj narzędzie na danych dostępowych konta usługowego zamiast na własnym koncie twórcy i kieruj dostęp przez logowanie firmowe, aby wyłączenie konta odchodzącego pracownika blokowało nowe logowania, a istniejące sesje były unieważniane lub wygasały zgodnie z polityką sesji. Wycofanie narzędzia oznacza wyłączenie jego danych dostępowych, zachowanie tego, czego wymaga polityka retencji, usunięcie reszty i zatrzymanie narzędzia.

Udostępnij

Dyskusja

Komentarze

Zaloguj się, aby dołączyć do dyskusji.

Więcej z bloga

Czytaj dalej.

Gotowy do wdrożenia? Od $2,48/mies.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.