Plik PDF może zawierać kod wykonywalny. JavaScript, który działa, gdy dokument jest otwierany, gdy strony są przewracane, gdy pola formularza stają się aktywne. Zautomatyzowane akcje uruchamiane bez interakcji użytkownika. Ukryte obiekty uruchamiające aplikacje zewnętrzne. Większość plików PDF nie zawiera żadnego z nich. Kiedy tak się dzieje, zwykle jest to uzasadnione: formularz, który automatycznie oblicza sumy, interaktywny dokument, po którym można poruszać się na podstawie danych wprowadzonych przez użytkownika, prezentacja, która automatycznie przesuwa slajdy. Jednak skrypty i automatyzacja mogą być również złośliwe, ukryte przez osobę, która chce, aby dokument zrobił coś, czego odbiorca się nie spodziewa.
Usuwanie ukrytych skryptów i automatyzacji z pliku PDF to środek ostrożności, który należy zastosować w przypadku każdego dokumentu pochodzącego z niezaufanego lub nieznanego źródła przed jego pełnym otwarciem, a także każdego dokumentu, który przygotowujesz do udostępnienia odbiorcom, którzy mogą korzystać ze starszych lub mniej bezpiecznych czytników plików PDF. Proces usuwania jest prosty, gdy wiesz, gdzie mogą się ukryć skrypty.
Według raportu SonicWall dotyczącego zagrożeń z 2025 r. liczba ataków złośliwego oprogramowania opartego na plikach PDF wzrosła o 42% w latach 2023–2025, przy czym najczęstszym wektorem ataku jest osadzony JavaScript (SonicWall, „Cyber Threat Report” 2025). Celem większości ataków byli użytkownicy posiadający nieaktualne czytniki plików PDF, które automatycznie wykonywały osadzone skrypty. Zagrożenie jest realne, a środki zaradcze proste: usuń skrypty, zanim będą mogły zostać wykonane.

Gdzie skrypty i automatyzacja ukrywają się w pliku PDF
Skrypty można dołączać do wielu lokalizacji w strukturze pliku PDF. Każda lokacja to odrębna kryjówka, którą należy indywidualnie sprawdzać i czyścić. Poniższa tabela kataloguje typowe lokalizacje i rodzaje automatyzacji, które zazwyczaj pojawiają się w każdej z nich.
| Lokalizacja | Zdarzenie wyzwalające | Typowe zgodne z prawem użycie | Zagrożenie złośliwe |
|---|---|---|---|
| Poziom dokumentu | Otwarcie dokumentu, zamknięcie dokumentu, zapisanie dokumentu, wydruk dokumentu | Wyświetlanie wiadomości powitalnej, sprawdzanie poprawności dokumentu przy otwarciu, śledzenie wydruku dokumentu | Wysoki: skrypt jest wykonywany natychmiast po otwarciu dokumentu, zanim użytkownik zobaczy jakąkolwiek treść |
| Poziom strony | Strona otwarta, strona zamknięta, strona widoczna | Wyzwalanie animacji lub przejść podczas wyświetlania określonej strony | Średni: wykonywany, gdy użytkownik przejdzie do określonej strony |
| Formularz na poziomie pola | Fokus pola, rozmycie pola, zmiana pola, sprawdzanie poprawności pola, obliczanie pola | Automatyczne obliczanie sum, sprawdzanie formatów wejściowych, automatyczne formatowanie wprowadzanych danych | Medium: wykonuje się podczas normalnej interakcji z formą; może przechwytywać naciśnięcia klawiszy lub modyfikować wprowadzone dane |
| Poziom łącza | Kliknięcie łącza, naciśnięcie przycisku, wejście myszą, wyjście myszy | Przejście do adresu URL, przesłanie danych formularza, pokazanie lub ukrycie treści | Niski: do uruchomienia wymaga interakcji użytkownika; może kierować do złośliwych adresów URL |
Wypróbuj opcję Chroń plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
Wykrywanie skryptów przed przetwarzaniem
Otwórz plik PDF w czytniku obsługującym osadzone skrypty. Adobe Acrobat Pro zawiera edytor JavaScript, który wyświetla listę wszystkich skryptów w dokumencie wraz z ich lokalizacjami i zdarzeniami wyzwalającymi. Większość przeglądarkowych czytników PDF nie wykonuje skryptów, co chroni Twoje urządzenie podczas przeglądania, ale także ich nie wyświetla, co oznacza, że nie możesz sprawdzić, jakie skrypty istnieją. Jeśli nie masz dostępu do narzędzia do sprawdzania skryptów, załóż, że dowolny plik PDF z niezaufanego źródła może zawierać skrypty. Najbezpieczniejszym podejściem jest proaktywne usunięcie wszystkich skryptów, zamiast próbować określić, czy każdy z nich jest nieszkodliwy. Skrypt, którego nie możesz zidentyfikować, należy traktować jako potencjalnie złośliwy.
Zasadą Bezpieczeństwo PDF w przypadku nieznanych skryptów jest usuwanie, a nie ocenianie. Koszt usunięcia łagodnego skryptu, zazwyczaj utrata niektórych interaktywnych funkcji, jest znacznie niższy niż koszt umożliwienia wykonania złośliwego skryptu.
Usuwanie skryptów za pomocą oczyszczania opartego na przeglądarce
Prześlij plik PDF do narzędzia opartego na przeglądarce, które oferuje spłaszczanie, oczyszczanie lub czyszczenie zabezpieczające. Operacje te usuwają wszystkie elementy interaktywne: skrypty, logikę pól formularza, osadzone akcje i łącza. Dane wyjściowe to statyczny plik PDF, który wyświetla tę samą zawartość wizualną, ale nie zawiera kodu wykonywalnego. Pobierz oczyszczony plik i sprawdź, otwierając go w czytniku obsługującym skrypty, potwierdzając, że nie pozostały żadne skrypty. WukongPDF przetwarza pliki PDF bez wykonywania osadzonych skryptów. Platforma Fix PDF usuwa interaktywne elementy podczas przetwarzania, tworząc czysty, statyczny wynik.
Zapobieganie wprowadzaniu skryptów w tworzonych dokumentach
Eksportując dokumenty do formatu PDF z aplikacji autorskich, sprawdź ustawienia eksportu pod kątem opcji związanych z elementami interaktywnymi. Wyłącz JavaScript, makra i akcje osadzone, chyba że służą one konkretnemu, udokumentowanemu celowi, jakiego oczekuje odbiorca. Formularz automatycznie przeliczający sumy powinien zawierać wyłącznie skrypty obliczeniowe. Prezentacyjny plik PDF nie powinien zawierać automatycznych działań, nad którymi odbiorca nie ma kontroli. Domyślną wartością każdego rozpowszechnianego pliku PDF powinna być zawartość statyczna bez kodu wykonywalnego. Skrypty i automatyzacja powinny podlegać opcji opt-in, a nie rezygnacji.
Podejście Narzędzia PDF do higieny skryptów jest takie samo jak w przypadku każdej praktyki bezpieczeństwa: domyślnie wybieraj najbezpieczniejszą konfigurację i dodawaj interaktywność tylko wtedy, gdy jest to konieczne i odbiorca tego oczekuje. Plik PDF dostarczony bez skryptów to plik PDF, który nie może wykonać złośliwego kodu.
Odróżnianie łagodnej automatyzacji od złośliwego kodu
Większość skryptów w plikach PDF nie jest złośliwa. Formularz, który automatycznie oblicza sumę z pozycji zamówienia, dokument sprawdzający formaty wejściowe w określonych polach lub prezentacja, która nawiguje w oparciu o interakcję użytkownika, korzystają z legalnej automatyzacji. Wyzwanie polega na odróżnieniu ich od złośliwych skryptów, gdy brakuje narzędzi lub wiedzy specjalistycznej do audytu kodu. Praktyczna heurystyka: jeśli zachowanie skryptu jest widoczne i przewidywalne, np. obliczenie generujące wartość, którą można zweryfikować, lub akcja nawigacyjna reagująca na celowe kliknięcie, jest to prawdopodobnie łagodne. Jeśli cel skryptu nie jest oczywisty z widocznego zachowania dokumentu, jeśli uruchamia się w wyniku zdarzeń, nad którymi użytkownik nie ma kontroli, lub jeśli próbuje uzyskać dostęp do zasobów zewnętrznych, gwarantuje usunięcie. W razie wątpliwości usuń i zaakceptuj utratę funkcjonalności jako koszt bezpieczeństwa.
W przypadku dokumentów, które regularnie otrzymujesz z tego samego źródła, takich jak miesięczne faktury lub cotygodniowe raporty od znanego dostawcy, zaufanie buduj stopniowo. Przetwórz pierwszy dokument z włączoną opcją usuwania skryptów. Przejrzyj dane wyjściowe pod kątem brakujących funkcji. Jeśli dokument działa poprawnie bez skryptów, kontynuuj usuwanie ich z kolejnych dokumentów z tego źródła. Jeśli dokument utraci podstawową funkcjonalność, na przykład formularz, który nie oblicza już sum, zidentyfikuj konkretne skrypty, które zapewniają tę funkcjonalność, i dodaj je do białej listy, usuwając inne. Z biegiem czasu opracowujesz zasady dotyczące skryptów specyficznych dla źródła, które równoważą bezpieczeństwo i funkcjonalność.
Ograniczenia skanowania antywirusowego w poszukiwaniu skryptów PDF
Oprogramowanie antywirusowe może wykrywać znane złośliwe skrypty poprzez dopasowywanie sygnatur, ale to podejście ma istotne ograniczenia. Wykrywanie oparte na sygnaturach wychwytuje tylko skrypty pasujące do znanych wzorców złośliwego oprogramowania. Nowe lub niestandardowe złośliwe skrypty nie będą wykrywane. Oprogramowanie antywirusowe może również oznaczać łagodne skrypty, które na poziomie powierzchniowym mają takie same cechy jak złośliwe oprogramowanie, powodując fałszywe alarmy. Poleganie na skanowaniu antywirusowym jako jedynej metodzie wykrywania skryptów zapewnia fałszywe poczucie bezpieczeństwa. Najbezpieczniejszym podejściem do plików PDF pochodzących z niezaufanych źródeł jest usuwanie skryptów, a nie ich ocena. Kosztem usunięcia łagodnego skryptu jest utrata niektórych interaktywnych funkcji. Koszt dopuszczenia złośliwego skryptu, który uniknął wykrycia, jest potencjalnie znacznie wyższy.
Wypróbuj opcję Chroń plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
