How to Spot an AI-Generated Phishing Email
Bad grammar was a tell about the writer, and the writer changed. What survives is the sender, the ask, and a second channel.
The way you were taught to spot a phishing email no longer works. Bad grammar, odd spacing, "Dear Valued Customer", a tone that felt off: all of those were artefacts of the sender not writing well in your language. A model writes fluently in every language, matches a tone from three sample emails, and never misspells your company name. Every tell you were trained on was a tell about the writer, and the writer has changed.
What still works are the things a fluent writer cannot fake: where the message came from, what it asks you to do, and whether it survives a check through a channel it did not choose. This covers phishing by email specifically. The wider set of AI-assisted frauds, including voice and video, is in how to spot an AI scam.
The four tells that are dead
Say this out loud once so you stop relying on them.
Spelling and grammar. Gone as a signal. Assume every phishing email you receive from now on is well written.
Generic greetings. A model with your LinkedIn page writes a specific one, including the project you mentioned last month.
Odd tone. Tone is copied from your real correspondence. If a supplier's mailbox was compromised, the model has a training set of their actual emails.
Obvious urgency. Still present in crude attempts, absent from good ones. A patient message that builds over three exchanges does not trip it.
What still works, in order of reliability
1. The reply-to address, not the display name
The display name is a free-text field. Anyone can set it to your finance director's name. What matters is the actual address, and specifically what happens when you hit reply.
Open the full headers or expand the sender field, and check three things:
Does the `From` domain match who this claims to be, character by character?
Does `Reply-To` differ from `From`? A mismatch on a message asking for anything is the single strongest signal in this list.
Is the domain a lookalike? `rn` for `m`, a hyphen inserted, `.co` instead of `.com`, a Unicode character that renders identically.
Lookalike domains are usually registered days before the campaign. A domain-age lookup takes fifteen seconds and is remarkably decisive.
2. Authentication results
Your mail provider already ran the checks. It just does not show you unless you look. In the raw headers, find `Authentication-Results` and read the three verdicts:
Result | Means | Weight |
|---|---|---|
`spf=pass` | Sent from a server the domain authorised | Necessary, not sufficient |
`dkim=pass` | Signed by the domain's key and unmodified | Strong |
`dmarc=fail` | The visible sender does not align with the authenticated one | Treat as hostile |
A `dmarc=fail` on a message asking you to do something is where you stop reading and start verifying. Note the inverse is not proof of safety: a compromised real mailbox passes all three, because it is genuinely the real sender's server. Authentication tells you the domain is real. It does not tell you the human is.
For your own domain, NCSC publishes a free email security check so you can see what other people's mail servers make of your outbound mail.
3. The ask
Fluency does not change what a fraud needs from you. There are only a handful of asks, and they have not changed in a decade:
Change the bank details we pay you into
Pay this invoice, attached
Approve this urgent transfer while I am in a meeting
Log in here to review a document
Buy gift cards, discreetly
Bank detail changes are the highest-value ask and the most common. Any message that changes where money goes is a verification event, regardless of how convincing it reads or who it appears to come from. Invoice-shaped versions of this are covered in AI-generated invoice fraud.
4. Whether it survives a second channel
This is the control that does not care how good the writing is. NCSC's guidance for small organisations puts it plainly: if you contact them, "use a phone number/email address you have found yourself, rather than one sent to you in the email".
That last clause is the whole thing. The number in the email signature is part of the email. The number on the invoice is part of the invoice. Use the number you already had, from your own records, and ask a question the sender would know the answer to and an attacker would not.
A 90-second routine that catches nearly everything
For any email that asks you to move money, change payment details, or sign in:
Expand the sender. Compare `From` and `Reply-To`. Check the domain character by character.
Open raw headers. Find `Authentication-Results` and read the DMARC verdict.
Hover every link and read the actual host, ignoring the label.
Ask whether this request changes where money goes. If yes, go to step 5. If no, you are probably fine.
Call the person on a number from your own records. Not the one in the email.
Steps one to three take under a minute. Step five takes two, and is the only step that survives a compromised legitimate mailbox.
For a small business, the process beats the training
Teaching staff to spot fluent phishing has a low ceiling now. Removing the decision from the individual has a much higher one.
Make bank detail changes a two-person job with a mandatory callback, written down as policy so nobody has to be brave in the moment. Cap what a single approval can move. Publish internally that no director will ever ask for a payment over chat or email alone, so that "the boss asked" stops being a reason. And when someone reports a phish, thank them publicly, including the false alarms, because the alternative is people quietly deciding not to bother you.
The same impersonation problem shows up in other channels too, including chatbots that pretend to be a company and cloned voices on the phone. The defence is the same shape every time: verify through a channel the sender did not choose. Our broader map of these threats is in AI risks.
FAQ
Can you tell if an email was written by AI?
Not reliably, and it is the wrong question. AI detection tools produce false positives on ordinary careful writing, and a real colleague drafting with AI assistance is not a threat. Judge the sender and the request, not the prose.
Does a passing DMARC check mean an email is safe?
No. It means the message genuinely came from that domain. If the sender's mailbox has been compromised, the mail is authentic and the request is still fraudulent.
What is the strongest single signal in a phishing email now?
A `Reply-To` address that differs from the `From` address on a message asking you to do something. It is unusual in legitimate mail and near universal in campaigns that want an answer.
How should a small business verify a change of bank details?
By phone, on a number taken from your own records rather than from the email or the invoice, with a second person aware of the change. Write this down as policy so it happens every time.
Are attachments still the main risk?
They are one risk. Credential-harvesting links and pure text requests that change payment details are now at least as common, and neither involves an attachment for a scanner to catch.
How did this land?
About the author

Senior Editor, AI & Product
Cecilia leads the Swarmz editorial desk. She has spent a decade turning complex AI and product topics into writing people actually finish, and she owns the blog's quality bar.


