What is happening here
A fake two-factor prompt uses a QR code to capture the one-time code or approval that protects your account. The attacker may already have your password, and the code is the last piece they need.
These prompts appear on fake login pages, in messages claiming an account review, and in calls or chats where someone asks you to read out or enter a code.
Red flags to check before you scan
- The prompt asks for a code you did not request, or for approval of a sign-in you did not start.
- The page or caller pressures you to share the code immediately.
- The login page arrived from a QR code in an unexpected message.
- The request does not show clear details about the device, app, or location signing in.
- The message claims your account will be locked unless you confirm the code now.
Verify before you trust it
1. Check your account security settings for pending sign-in requests before you approve anything.
2. Decline any approval or code request you did not initiate.
3. Sign in through the official app or site yourself, rather than through the code you were sent.
4. Never read a one-time code to a caller, however official they sound.
Putting this into practice
Build a habit you can use in seconds. Pause before every unexpected scan, read the destination preview, and check the domain against what you already know. If the code is printed in public, look for sticker edges and compare it with nearby signs. If the code arrived in a message, verify it through a separate channel you trust. The pause costs almost nothing, and it is the step that catches most of these scams.
Common mistakes to avoid
The most common mistake is scanning to find out whether a code is safe. A scan that opens a page can already expose you to a fake login or a payment trap. Another mistake is trusting a familiar logo, since logos are easy to copy. A third is acting under urgency, which is exactly what the message is designed to create. Slow down, verify through a channel you control, and treat any request for credentials or payment as a reason to stop.
Quick checklist
- Pause before you scan any unexpected code.
- Read the full destination preview, not just the first hop.
- Compare the domain with the official one you already know.
- Check printed codes for sticker edges and mismatched print.
- Never enter passwords, codes, or card details from a surprise scan.
- Verify through a separate, trusted channel before you act.
Related tools and guides
- Run the destination through the [QR redirect chain viewer](/qr-redirect-chain-viewer) before you trust a code you did not expect.
- Inspect the code with the [QR scan log](/qr-scan-log) before you trust a code you did not expect.
- Check the address with the [QR typosquat checker](/qr-typosquat-checker) before you trust a code you did not expect.
- Practise spotting patterns with the [QR size calculator](/qr-size-calculator) before you trust a code you did not expect.
- Review the chain with the [bulk generator](/bulk-generator) before you trust a code you did not expect.
- Keep a record with the [QR placement guide](/qr-placement-guide) before you trust a code you did not expect.
- Plan protection with the [QR safety checker](/qr-safety-checker) before you trust a code you did not expect.