AI oddaje HTML lub SVG: co uruchamia się przy otwarciu pliku?
HTML i SVG z AI mogą zachowywać się inaczej zależnie od miejsca otwarcia. Sprawdź format, zewnętrzne zasoby, podgląd i faktycznie przekazywaną wersję.

W tym artykule
„To tylko raport” — mówi autor, przesyłając plik HTML z wykresem. Po otwarciu raport prosi jednak o pobranie biblioteki z internetu, a obraz firmowego znaku pochodzi z jeszcze innego serwera. Dokument ma zaskakująco rozbudowane życie towarzyskie. Zanim trafi do klienta, trzeba ustalić, jakie kontakty są mu naprawdę potrzebne.
Rozważmy fikcyjną firmę Vela, która używa AI do przygotowania podsumowania zgłoszeń. Odbiorca potrzebuje przeczytać zatwierdzone liczby i porównać kategorie. Nie zamawiał nowej aplikacji. Wytworzony plik może jednak zawierać działający kod, odsyłacze oraz zasoby pobierane przy wyświetlaniu. Odbiór powinien więc dotyczyć zarówno informacji, jak i uzgodnionego sposobu otwarcia materiału.
To operacyjna kontrola obiegu pliku, bez deklaracji pełnej oceny bezpieczeństwa kodu. Nie uruchamiamy nieznanego materiału na firmowych danych tylko po to, żeby zobaczyć, czy będzie ładny. Najpierw ustalamy format, potrzebne zachowanie i środowisko próby. Dopiero na takiej podstawie można zdecydować, co rzeczywiście przekazać odbiorcy.
Rozszerzenie pliku nie opisuje całego zachowania
HTML to format dokumentów stron internetowych. Raport w tej postaci może zawierać sam tekst i style, ale może też wykorzystywać skrypty, czyli kod uruchamiany przez przeglądarkę. SVG jest formatem grafiki wektorowej, w którym kształty i tekst zapisuje się jako opis. Sama nazwa „grafika” nie wystarcza jednak do uznania każdego sposobu jej otwarcia za bierne obejrzenie obrazka.
MDN opisuje ograniczenia SVG używanego jako obraz, obejmujące między innymi skrypty i zasoby zewnętrzne. Zaznacza, że te ograniczenia dotyczą kontekstu obrazu, a nie bezpośredniego otwarcia dokumentu SVG lub osadzenia go jako dokumentu. Dlatego wynik podglądu miniatury nie potwierdza zachowania tego samego pliku otwartego inną drogą.
W karcie materiału zapisz, co powstało, jaka wersja ma zostać odebrana i jak zostanie wyświetlona. „Raport końcowy” nie jest opisem technicznym. Ustal, czy odbiorca dostanie pojedynczy HTML, paczkę z dodatkowymi plikami, odsyłacz do hostowanej strony czy obraz wyeksportowany z wykresu. Każdy wariant ma inną drogę przekazania i wymaga właściwej próby.
Oddziel środowisko tworzenia pliku od miejsca wykonywania jego zawartości. Agent mógł przygotować raport w ograniczonym środowisku, a pracownik później otworzy go w zwykłej przeglądarce. Granice pierwszego środowiska nie przechodzą automatycznie razem z załącznikiem. To odrębne pytanie od kontroli piaskownicy agenta, czyli ograniczeń miejsca, w którym agent pracuje.
Przejrzenie zawartości jako tekstu i wyświetlenie jej przez przeglądarkę to również różne czynności. Osoba odbierająca może najpierw ustalić strukturę oraz zależności bez uruchamiania aktywnego podglądu. Wskaż, kto ma wykonać ten etap i jakim zatwierdzonym narzędziem. Jeśli firma nie ma kompetencji do oceny nieznanego kodu, wybór prostszego, sprawdzonego formatu bywa właściwym zakończeniem sprawy.
Co raport musi robić, a co po prostu dopisał model
Vela potrzebuje wykresu z wartościami i krótkiego komentarza. Przesuwanie wskaźnika nad słupkiem może być wygodne, lecz nie powinno stanowić jedynej drogi odczytania liczby. Zanim zaczniesz negocjować kolejne zgody na wykonywanie kodu, ustal, czy interaktywność jest w ogóle częścią potrzebnego wyniku. Czasem model dodał ją dlatego, że umiał, a nie dlatego, że ktoś jej potrzebował.
Poproś o wykaz zależności: dodatkowe pliki, biblioteki, czcionki, obrazy, dane i adresy sieciowe. Przy każdej pozycji zapisz przeznaczenie oraz to, czy znajduje się w paczce, czy jest pobierana z zewnątrz. Sam spis nie dowodzi jeszcze rzeczywistego zachowania. Pozwala jednak przygotować porównanie między zadeklarowanym zakresem a obserwacją w kontrolowanej próbie.
W fikcyjnym raporcie biblioteka rysuje słupki, czcionka wpływa na wygląd, a plik danych dostarcza liczebności. To trzy różne zależności. Brak czcionki może zmienić układ, brak danych znaczenie raportu. Jeżeli plik danych pozostaje pod zewnętrznym adresem i może się zmienić, później otwarty raport nie musi przedstawiać tej samej wersji, którą zatwierdzono. Ustal, czy materiał ma pokazywać zapisany stan, czy aktualizować się po otwarciu.
Dołączone dane także należą do zakresu udostępnienia. Raport może wyświetlać tylko sumy, choć w otrzymanej paczce znajduje się pełny plik wejściowy. Właściciel danych powinien sprawdzić całą przekazywaną zawartość, nie wyłącznie ekran. W przykładzie Veli do wykresu liczebności kategorii nie potrzeba historii poszczególnych klientów. Jeżeli plik nie jest odbiorcy potrzebny, usuń go z paczki i ponownie sprawdź działanie raportu bez tej zależności.
Oddziel też automatyczne pobieranie od przejścia po świadomym kliknięciu. Raport może zawierać link do źródła, który odbiorca sam otworzy. To inne zachowanie niż pobranie zasobu podczas ładowania strony. Dla przeglądu przepływu danych AI znaczenie ma rzeczywista droga materiału i połączeń, nie wyłącznie lista widocznych odsyłaczy.
Jeżeli ktoś deklaruje „jeden plik, działa bez internetu”, sprawdź właśnie tę wersję i ten warunek. Nie zastępuj pliku obrazem zrobionym wcześniej na komputerze autora. Zapisz, które elementy pozostają dostępne po odcięciu sieci w przygotowanym środowisku, a które przestają działać. Brak widocznego komunikatu błędu nie potwierdza kompletności: puste miejsce po wykresie może nie alarmować, lecz raport utracił część informacji.

Próbę wykonaj na kopii przekazanej w planowany sposób. Autor mógł mieć obok plik pomocniczy, którego nie dołączył do paczki, albo dostęp do zasobu niedostępnego dla klienta. Zapis „u mnie działa” nie wyjaśni tej różnicy. W kontrolowanym miejscu otwórz otrzymaną paczkę od początku, sprawdź nazwy i położenie potrzebnych plików oraz zapisz brakującą zależność. Nie naprawiaj jej po cichu podczas odbioru, bo odbiorca nadal otrzyma niepełny materiał.
Uwzględnij również działanie po użyciu przycisku, zmianie zakładki lub rozwinięciu szczegółów. Niektóre zasoby są potrzebne dopiero później. Zakres próby powinien wynikać z funkcji udostępnianych odbiorcy. Nie trzeba dowolnie klikać wszystkiego bez celu; trzeba przejść uzgodnioną drogę czytania i sprawdzić jej istotne skutki.
Wynik tej części może być prosty: Vela wybiera statyczny wykres z widocznymi wartościami i komentarzem. Innym razem potrzebny jest interaktywny raport, ale w zarządzanym miejscu z uzgodnionymi zależnościami. Obie decyzje mogą odpowiadać zadaniu. Problemem byłoby przekazanie aktywnego pliku pod opisem, który sugeruje zwykły obraz, bez ustalenia warunków użycia.
Miejsce podglądu jest częścią wyniku kontroli
Nie zakładaj, że każdy panel z napisem „podgląd” stosuje te same ograniczenia. W przeglądarce można osadzić inny dokument w ramce iframe. Dokumentacja MDN wyjaśnia, że atrybut sandbox nakłada ograniczenia, a poszczególne opcje je zdejmują. Sama obecność słowa sandbox w opisie produktu nie ujawnia więc dozwolonego zachowania.
Z osobą utrzymującą podgląd ustal, czy dokument może uruchamiać skrypty, wysyłać formularze, otwierać dodatkowe okna lub inicjować pobieranie plików. Nie traktuj zgody na jedną funkcję jako zgody na pozostałe. Szczegóły konfiguracji powinny mieć właściciela i zapisany zakres. To zadanie dla właściwego wykonawcy technicznego; odbiorcy biznesowemu przekaż jasną informację, jaka droga otwarcia została dopuszczona.
MDN ostrzega też przed jednoczesnym przyznaniem uprawnień do skryptów i zachowania tego samego pochodzenia, gdy osadzony dokument oraz strona nadrzędna mają wspólny protokół, host, czyli nazwę lub adres serwera, oraz port. Nie wyprowadzamy z tego gotowej konfiguracji dla dowolnego systemu. Wniosek odbiorowy jest węższy: ograniczenia trzeba ocenić dla konkretnego osadzenia, a potem sprawdzić zgodność użytej wersji z ustaleniami. Zmiana opcji podglądu jest zmianą warunków próby.
Przygotuj materiał testowy z fikcyjnymi liczbami. Ewentualne sprawdzanie pobrań kieruj wyłącznie do kontrolowanych zasobów w uzgodnionym zakresie. Raport z próby powinien oddzielać zawartość znalezioną w pliku, zaobserwowane działanie i elementy niesprawdzone. Samo znalezienie adresu w zawartości pliku nie dowodzi, że nastąpiło połączenie; brak połączenia przy jednym otwarciu nie potwierdza zachowania wszystkich ścieżek.
Zapisz środowisko, wersję pliku i wykonane czynności. Jeśli kontrolowany podgląd blokuje określoną funkcję, wynik dotyczy tego podglądu. Nie dopisuj, że funkcja nie istnieje w pliku. Analogicznie poprawny obraz nie potwierdza, że treść pozostała zgodna ze źródłem. Kontrola wykonania i kontrola liczb mogą wykrywać inne problemy i potrzebują osobnych podstaw.
Przekaż tę wersję, którą rzeczywiście odebrano
Odbiorca może ominąć firmowy podgląd i pobrać plik. Dlatego karta odbioru powinna obejmować również sposób przekazania: zatwierdzony adres, statyczny eksport albo uzgodnioną paczkę. Nie wysyłaj obok sprawdzonego obrazu dodatkowego HTML „na wszelki wypadek”, jeżeli jego użycia nie objęto ustaleniami. Dodatkowy załącznik wpisz do wykazu przekazywanych materiałów wraz z formatem i dopuszczonym sposobem otwarcia.
Zapisz decyzję dotyczącą dalszego użycia: przekazanie wskazanej wersji w ustalonym miejscu, poprawienie określonej zależności albo wstrzymanie użycia do wyjaśnienia. Przy poprawce zapisz warunek ponownego odbioru. „Usuń zewnętrzny plik danych i dołącz zatwierdzony zestaw sum” mówi wykonawcy więcej niż „zwiększ bezpieczeństwo”. Zespół powinien wiedzieć, kto potwierdzi zmianę i jaki plik porówna z poprzednim. Do decyzji dołącz nazwę wersji i jednoznaczny identyfikator odebranej paczki. Drugi plik o tytule „raport końcowy” nie dziedziczy ustaleń tylko dlatego, że autor nadał mu podobną nazwę.
Przy eksporcie sprawdź utratę funkcji i informacji. Jeżeli w HTML liczba była dostępna dopiero po wskazaniu słupka, statyczny obraz może jej nie zawierać. Przepisanie raportu do innego formatu nie kończy więc odbioru. Podobny problem występuje przy przekazywaniu prezentacji wygenerowanej przez AI: gotowy widok trzeba odnieść do treści, którą miał zachować.
Zachowaj powiązanie odebranego pliku ze źródłem, datą i ustalonym zastosowaniem. Pochodzenie obrazu opisuje jego drogę, ale nie stanowi samodzielnego potwierdzenia dozwolonych skutków otwarcia. Nawet plik z pełną historią zmian wymaga oceny właściwej dla formatu i miejsca użycia.
Ponowne wygenerowanie przez AI tworzy kolejną wersję do sprawdzenia. Polecenie „bez zewnętrznych zasobów” opisuje oczekiwany wynik, nie potwierdza jego wykonania. Zachowaj wcześniejszą paczkę oraz listę wykrytych zależności, a nową porównaj właśnie pod tym kątem. Następnie sprawdź, czy usunięcie zależności nie zabrało wartości lub podpisów potrzebnych do czytania. Poprawka sposobu działania nadal musi zachować zaakceptowaną treść.
Jeżeli po przekazaniu pojawi się nieoczekiwane działanie, wstrzymaj odpowiednią drogę udostępniania i zachowaj fakty potrzebne do wyjaśnienia. Gdy dotyczy to niewłaściwego obiegu danych, zastosuj uzgodnioną reakcję na incydent. Samo wygenerowanie poprawionej wersji nie wyjaśnia, co wcześniej dostał odbiorca i co rzeczywiście zrobił z plikiem.
W Aeneia Audit taki przegląd można rozpocząć od jednego obiegu i jednej reprezentatywnej paczki. Dla Veli decyzja brzmi: zatwierdzony statyczny raport do czytania albo osobno odebrany wariant interaktywny we wskazanym miejscu. Dzięki temu odbiorca wie, co dostaje, a autor nie myli udanego otwarcia na własnym komputerze z odebraniem całej drogi materiału.


