VWX.MEDIAm.beta
#bezpieczenstwo12 maj 20262 min czytania

Jak rozpoznać phishing AI-generated w 2026

Pięć sygnałów, które wciąż działają mimo idealnej polszczyzny LLM-ów.

autor: Admin

Linkedin login screen with join now option

Wstęp

W ostatnich miesiącach obserwujemy gwałtowny wzrost kampanii phishingowych generowanych z udziałem dużych modeli językowych. Jeszcze dwa lata temu typowy mail udający bank można było rozpoznać po kalkach językowych i błędach gramatycznych - dzisiaj atakujący korzystają z Claude'a, GPT-5 oraz lokalnych modeli rzędu Llama 3 70B, więc tekst jest nienaganny stylistycznie i gramatycznie.

W tym artykule pokażę pięć sygnałów, które wciąż pozwalają wyłapać nawet starannie spreparowane wiadomości - bez polegania na filtrach antyspamowych i bez instalowania kolejnego "AI guard".

1. Brak ciągłości kontekstu

LLM nie zna historii waszej korespondencji z konkretnym bankiem, kurierem, czy klientem. Dlatego mail "wracając do naszej rozmowy z piątku" trafia do osoby, która w piątek z nikim nie rozmawiała. Pierwsza linia obrony to po prostu pytanie:

Czy ja w ogóle prowadziłem tę rozmowę?

Brzmi banalnie, ale właśnie to pytanie ratuje większość użytkowników. Wyrobienie nawyku jest ważniejsze niż jakikolwiek filtr.

2. Niespójność technicznych metadanych

Zawartość mailu może być idealna, ale nagłówki SMTP rzadko są generowane przez LLM - atakujący kleją je ze starszych, automatycznych skryptów. Sprawdzajcie:

  • pole Return-Path vs From
  • nagłówki Authentication-Results (SPF, DKIM, DMARC)
  • domeny w Received: (czy widać hop przez chmurę typu mailgun, sendgrid)

W praktyce w Outlooku/Gmailu wystarczy "Pokaż oryginał".

3. Linki ze świeżymi domenami

Domena zarejestrowana 4 dni temu, na której hostowane jest "logowanie do banku", to klasyk. Szybkie sprawdzenie:

whois example-bank-login.com | grep -i "creation\|created"

Jeśli widzisz datę z tego tygodnia, traktuj URL jak radioaktywny.

4. Subtelne, ale nietypowe wezwania do działania

LLM lubi wyrażenia w stylu "w celu uniknięcia nieprzyjemnych konsekwencji prosimy o pilną weryfikację". Polski bank tak nie pisze. Każdy bank ma swoje sztywne wzorce komunikacji - jeśli czytasz mail i czujesz, że ton jest "trochę inny niż zwykle", to jest sygnał.

5. CVE-2025-31161 i kradzież sesji bez phishingu

Warto pamiętać, że phishing to tylko jeden z wektorów. W 2025 wypłynęło CVE dotyczące CrushFTP (CVE-2025-31161), które pozwalało przejąć sesję bez wpisywania hasła. Nawet idealny użytkownik nie obroni się przed dziurą w infrastrukturze - dlatego MFA i passkeys to dziś minimum, nie luksus.

Krótki helper do szybkiej analizy

Mały skrypt, który wrzucam ostatnio na warsztatach:

import email
import re
from email.utils import parseaddr

SUSPECT_TLDS = {".zip", ".mov", ".click", ".top"}

def quick_check(raw_eml: str) -> list[str]:
    msg = email.message_from_string(raw_eml)
    warnings = []
    _, from_addr = parseaddr(msg["From"] or "")
    _, return_path = parseaddr(msg["Return-Path"] or "")
    if from_addr.split("@")[-1] != return_path.split("@")[-1]:
        warnings.append("From != Return-Path domain")
    for url in re.findall(r"https?://([^/\s"']+)", raw_eml):
        for tld in SUSPECT_TLDS:
            if url.endswith(tld):
                warnings.append(f"Suspicious TLD: {url}")
    return warnings

Nie zastąpi to porządnego SEG-a, ale wystarczy do szybkiego triage'u tego, co trafia na waszą prywatną skrzynkę.

Podsumowanie

LLM-y zmieniły ekonomię phishingu - koszt wyprodukowania wiarygodnego mailu spadł praktycznie do zera. To znaczy, że obrona musi przesunąć się z "rozpoznawania błędów językowych" w stronę weryfikacji kontekstu i metadanych. Dobra wiadomość: te sygnały są zazwyczaj trudniejsze do podrobienia niż sam tekst.

#pentesting#ctf
Jak rozpoznać phishing AI-generated w 2026 — VWX.MEDIA