Skip to content
Statusthreat center ›
safeavio check --qr

QR code protection

Decodes a QR code and checks where it really points before you pay or open it.

Limited
Available
02
Limited
02
Not released
00
Coming
00
Features by state
Attack families · 2
N/S 2
[01]The threat

How the attack works

A QR code is a link or a payment instruction you cannot read. "Quishing" swaps or prints a code that sends you to a phishing page or a different payee, and it works because people trust a code that is physically in front of them.

  1. STAGE 01

    Placement

    A sticker over a parking-meter or shop code, a code in a flyer or email, or a code sent by a "buyer" who wants to pay you.

  2. STAGE 02

    Scan

    The phone opens a link or a payment app with the payee and amount already filled in.

  3. STAGE 03

    Misdirection

    The page asks for a login or card details, or the payment goes to the attacker's account.

  4. STAGE 04

    Reversal trick

    A "receive money" code that is actually a collect request: scanning and entering your PIN sends money instead of receiving it.

Who it targets
  • Shoppers paying at counters and parking meters
  • Online sellers told to "scan to receive payment"
  • Employees sent QR codes in email to bypass link filters
pattern.genericno real incident cited

A common pattern: a seller on a classifieds site is sent a QR code by an interested "buyer" with a message that scanning it will credit the payment. Scanning opens a payment request; entering the UPI PIN authorises a debit. You never need a PIN to receive money.

A sticker over a parking-meter or shop QR code sends payments or logins somewhere else. You cannot read a QR code by eye.

[02]How Sentinel handles it

Sensor, rule, evidence, action

Each step carries its own state. A step that is not built is shown as coming, not skipped.

  1. [01] SENSOR

    Decode the code

    The phone camera scans the code and decodes it on the phone; you can also pick a picture. Several codes in one picture let you choose.

    AvailableAndroid 4.50
  2. [02] RULE

    Destination and payee checks

    The decoded link goes through the same link heuristics; a payment code shows the payee identifier in plain text.

    LimitedAndroid 4.50
  3. [03] EVIDENCE

    Plain-text destination

    You see exactly where the code points before anything opens.

    Not released
  4. [04] ACTION

    Show, do not open

    The result is shown to you; nothing is opened or paid automatically.

    Not released
01

Decode first, show the destination in plain text, then run the same link and payment checks as above.

02

For payment QR codes, show the payee identifier so you can compare it with what you expect.

What works today, and what is coming

What works today

04

In production or in the current download.


  • Camera QR scannerAvailable

    Scans with the phone camera; the code is decoded on the phone.

    Android app 4.50

  • QR result, link safety and payment-QR checksLimited

    Shows where the code points and runs the link and payment checks; the payee of a payment code is shown so you can compare it.

    Android app 4.50

  • Scan a QR code from a pictureLimited

    Pick a screenshot or photo; it is read on the phone and neither kept nor sent. If a picture holds several codes you choose one.

    Android app 4.50

  • QR scan historyAvailable

    Past scans, kept on the phone.

    Android app 4.50

Built, not yet released

00

The code exists and is tested in the repository; it has not shipped to users.


Nothing in this group yet.

Coming

00

Not built yet. Nothing on this list runs today.


Nothing in this group yet.

[03]Coverage register

2 attack families map to this capability

Copied row by row from our engineering register. A family counts as detected only when a rule, a sensor that feeds it and a test that makes it fire all exist.

DetectedPartialObservableNo sensor

Feature states above and register statuses measure different things: a feature can be built while the family it addresses stays unobserved, because the register counts sensors and rules, not screens.

Attack families related to QR code protection, with status and notes
#Attack familyStatusWhat the register says
037QR / QuishingNo sensorNo QR decoding found in the code the register reviewed.Nothing runs
100Payment / UPI FraudNo sensorNo payment or UPI telemetryNothing runs

Browse all 127 families in the threat center →

[04]Privacy by construction

What runs where, and what never leaves

Classification happens on the device before anything is queued. Cloud reporting is off by default on consumer devices and turning it off also stops events already queued.

data.locallocal

Runs on the device

  • The decoded content of the code
  • Link and payment-pattern checks
data.cloudconsent

May reach the cloud

  • Only with cloud reporting on: the verdict and the hostname
data.neverdeny

Never leaves

  • The full decoded URL or payment string
  • Your payment credentials or PIN

Read the privacy architecture →

[06]Playbook

What to do if…

Practical steps that work whether or not you use our products.

ifrunbook

You are about to pay with a QR code

  1. 1.Check the payee name your payment app shows before entering the PIN.
  2. 2.At a counter, look for a sticker placed over the original code.
  3. 3.If the amount is pre-filled and unexpected, stop and ask.
ifrunbook

Someone sends you a code "to receive money"

  1. 1.Do not scan it. Receiving money never needs your PIN.
  2. 2.Give the buyer your UPI ID and let them pay you.
ifrunbook

You already paid the wrong payee

  1. 1.Call your bank's fraud line at once and raise a dispute in the payment app.
  2. 2.In India, report on 1930 or cybercrime.gov.in.
[07]Stated plainly

Limits and known gaps

gaps.log03 open
  • GAP-01The checks are heuristics plus the signed blocklist; there is no shared reputation service, so an unknown link is called unknown, never safe.
  • GAP-02The register records QR/quishing and payment/UPI fraud as not observable: it found no QR decoding or payment telemetry in the code it reviewed.
  • GAP-03Payee checks show you the identifier; there is no shared database of known fraudulent payees.
[08]Questions

Frequently asked

Can I scan a code with the app today?
Yes. The Android app 4.50 scans with the camera or from a picture, decodes on the phone and runs the link and payment checks. The result is shown to you; nothing is opened or paid for you.
Is a QR code on an official-looking poster safe?
Not necessarily. A sticker over the original is the usual trick. Check the payee name before entering a PIN.