
QR-codeveiligheid voor bureaus: zo voorkom je quishing en gekaapte codes
Oplichters kapen QR-codes door ze te overplakken met een eigen sticker. Zo bescherm je als bureau de campagne van je klant tegen quishing: dynamische codes op een eigen domein, sabotagebestendige druk, strakke toegangscontrole, scanmonitoring en een draaiboek als het misgaat.
ScanKit · Organization
· 20 min. leestijd
Jouw bureau drukt QR-codes voor de kost. Ze gaan op posters, verpakkingen, flyers, parkeerautomaten, restauranttafels en etalages, vaak met duizenden tegelijk, vaak met het merk van een klant erop. Bijna al het advies over QR-veiligheid dat je tegenkomt is geschreven voor de persoon met de telefoon in de hand: scan geen codes die je niet vertrouwt, controleer de link voor je tikt. Dat advies is prima, maar het is niet voor jou geschreven.
Jij bent de uitgever. Jij bezit de campagne, het ontwerp en het risico als er iets misgaat. Als een oplichter de poster van je klant overplakt met zijn eigen code, dan zijn het de klanten van je klant die gephisht worden en staat het merk van je klant op de plaats delict. Deze gids is geschreven voor die kant van de tafel: wat quishing precies is, de drie manieren waarop een gepubliceerde campagne wordt gekaapt, een verdedigingsaanpak die je in de praktijk kunt uitvoeren, en het onderdeel dat bijna iedereen weglaat: een korte draaiboek voor de dag waarop er met een code geknoeid wordt.
Wat quishing is, en waarom het werkt
Quishing is phishing waarbij de kwaadaardige link verstopt zit in een QR-code in plaats van in een klikbare URL. Het Britse National Cyber Security Centre (NCSC) en het Internet Crime Complaint Center van de Amerikaanse FBI beschrijven het allebei op dezelfde manier: het slachtoffer verplaatst zich van een relatief goed beveiligde plek (een zakelijke inbox op een beheerde laptop) naar een veel minder beveiligde plek (een privételefoon), en de bestemming blijft onzichtbaar tot het te laat is.
Die onzichtbaarheid is precies de bedoeling. Je kunt een URL niet met het blote oog uit een QR-code aflezen, dus de oudste veiligheidsgewoonte die er is, met je muis over de link gaan en hem controleren, gaat simpelweg niet op. Een paar andere eigenschappen maken codes ongewoon aantrekkelijk voor aanvallers. Scans gebeuren vrijwel altijd op een privételefoon, die volgens het NCSC vaak de beveiligingsmaatregelen mist die een bedrijf op zijn eigen apparaten zet. Een code die als afbeelding wordt weergegeven glipt langs de e-mailfilters die naar verdachte tekstlinks zoeken, want er is geen tekstlink om te scannen. En een code die op een officieel ogende poster, automaat of brief is gedrukt, erft stilletjes het vertrouwen van die ondergrond, wat al een social-engineeringwinst is voordat het slachtoffer ook maar iets gescand heeft.
Het helpt om de schaal eerlijk te houden. In absolute zin is dit nog steeds een klein stukje van alle fraude: de Britse landelijke meldlijn Action Fraud registreerde in het jaar tot april 2025 bijna 800 meldingen van QR-codefraude, met een schade van ongeveer £3,5 miljoen. De reden dat het er meer toe doet dan die cijfers suggereren, is de richting en het doelwit. Het Europese agentschap voor cyberveiligheid, ENISA, noemde quishing een opkomende techniek in zijn dreigingsoverzicht van 2025, gemelde volumes stijgen snel, en de ondergronden die worden aangevallen zijn precies degene waar bureaus elke dag aan werken. We raakten dit al even aan toen we dynamische en statische QR-codes met elkaar vergeleken; hier vind je het volledige verdedigingsplaatje.
De drie manieren waarop een gepubliceerde campagne wordt gekaapt
Niet elke quishingaanval is jouw probleem om op te lossen. Deze drie wel, in aflopende volgorde van hoe direct ze de codes betreffen die jij de wereld in stuurt.
1. De stickeroverlay
Dit is degene die echt om jou draait. Een aanvaller drukt een sticker met zijn eigen QR-code, gemaakt om er precies zo uit te zien als die van jou, en plakt hem regelrecht over de echte code op een poster, een parkeerautomaat, een menukaart of een etalage. Hij scant perfect, want het is een volkomen geldige code, hij wijst alleen naar een overtuigende kopie van de echte betaal- of aanmeldpagina. Het slachtoffer ziet jouw bestemming nooit.
Dit is geen theorie. De Amerikaanse Federal Trade Commission (FTC) waarschuwde in december 2023 dat oplichters codes op parkeerautomaten overplakten met hun eigen codes. Amerikaanse steden hebben sindsdien officiële waarschuwingen uitgebracht: Orlando haalde zo'n 200 nepstickers uit het centrum, Redondo Beach in Californië vond ongeveer 150 getroffen automaten, en het vervoersdepartement van New York gaf een stadsbrede waarschuwing af. In het Verenigd Koninkrijk bleek uit een Wob-onderzoek uit 2025 dat van de 373 gemeenten die reageerden, ongeveer een op de drie zei dat hun parkeerterreinen het voorgaande jaar getroffen waren door nep-QR-codes. Het patroon is altijd hetzelfde: een drukbezochte openbare ondergrond, een geloofwaardige kopie, en een merk dat niet van de aanvaller is dat de reputatieschade incasseert.
2. Merkimpersonatie los van jouw poster
In het tweede patroon raakt de aanvaller jouw ontwerp nooit aan. Hij registreert een lookalike-domein, kopieert de landingspagina van je klant en stuurt er verkeer naartoe via zijn eigen posters, sms'jes of e-mails. Jouw echte campagne blijft ongemoeid, maar het merk van je klant wordt gedragen door een nep.
Generieke linkverkorters maken dit makkelijker dan zou moeten. Als jouw poster mensen naar een kale, merkloze verkorte link stuurt, heeft je publiek geen enkele manier om jouw link van die van een bedrieger te onderscheiden, want allebei zien ze eruit als anonieme tekenreeksen. De bestemming is niet met het blote oog te verifiëren, en dat is precies het tegenovergestelde van wat je op een openbare ondergrond wilt.
3. De code in de inbox
Het derde patroon gaat minder over je gedrukte campagne en meer over hoe je eigen team en klanten communiceren, maar het bepaalt wel één harde regel, dus het hoort hier thuis. Omdat een QR-code een afbeelding is, zeilt hij langs de e-mailgateways die teksturl's eruit halen en op reputatie controleren: er is geen link in de tekst om te controleren. Beveiligingsonderzoekers blijven documenteren hoe ver aanvallers hierin gaan. Het SANS Internet Storm Center legde eind december 2025 een campagne vast die de QR-code opbouwde uit een raster van 35 bij 35 HTML-tabelcellen, zodat er niet eens een afbeeldingsbestand was om te inspecteren. Acronis heeft codes gedocumenteerd die over twee afbeeldingen in een pdf verdeeld waren en pas in elkaar passen wanneer een mens ernaar kijkt.
De les voor een uitgever is een discipline, geen paniek: zet geen kale QR-codes in uitgaande klantmail die iemand vraagt om in te loggen of te betalen. Als je je publiek aanleert om een code in een e-mail te scannen en inloggegevens in te voeren, leer je ze precies te doen wat de aanvaller nodig heeft, en heb je het werk van de aanvaller makkelijker gemaakt voor elk merk, niet alleen dat van je klant.
De verdedigingsaanpak voor de uitgever
Geen enkele maatregel lost dit op. Het is de kunst er een paar te stapelen, zodat een aanvaller er meerdere tegelijk moet verslaan, en zodat je het kunt opmerken en erop kunt reageren als er eentje faalt. De kaart hieronder leest van de sticker van de aanvaller naar buiten toe, naar de vijf plekken waar jij kunt ingrijpen.

- Een merkdomein dat je zelf bezit, in gewone tekst naast de code getoond. Een verwisselde sticker wijst naar een vreemd adres, dus een eigen domein laat de nep opvallen en geeft een oplettende scanner iets om te verifiëren.
- Sabotagebestendige druk. Lamineren of een glazen afdekking betekent dat een sticker niet over de echte code geplakt kan worden zonder een zichtbaar spoor achter te laten.
- De URL-preview van de telefoon. Moderne scanners tonen de bestemming voordat ze hem openen, en dat is precies waarom een herkenbaar gedrukt domein de moeite waard is.
- Scananalyses gelezen als alarm. Een plotselinge stilte op één locatie, of scans uit een land waar je nooit op gericht hebt, wijzen op een code die overplakt is of een link die gelekt is.
- Een dynamische code die je kunt omzetten. Op het moment dat je sabotage bevestigt, stuur je elke scan van dat middel binnen seconden naar een veilige pagina, zonder ook maar iets opnieuw te drukken.
Gebruik een dynamische code op een domein dat je zelf bezit
Een dynamische QR-code bevat niet de uiteindelijke bestemming. Hij bevat een korte redirectlink die jij beheert, en die link stuurt door naar waar jij hem ook op richt. Die ene eigenschap levert je drie dingen op die er voor de veiligheid toe doen: je kunt op elk moment de actuele bestemming zien, je kunt hem aanpassen zonder opnieuw te drukken, en als een link als misbruikt wordt gemeld of je account gecompromitteerd raakt, kun je hem op elk gedrukt middel binnen een minuut omzetten of uitschakelen. Een statische code, die de URL vastlegt, geeft je niets daarvan: de enige oplossing is opnieuw drukken.
Zet die redirect op een merkdomein dat je zelf bezit, zoiets als qr.jouwklant.nl in plaats van een generieke verkorter. Nu is de URL die een oplettend iemand bekijkt voordat hij tikt herkenbaar die van de klant, en dat doet twee dingen tegelijk. Het vergroot het vertrouwen bij de eerlijke scan, en het laat het vreemde domein van een verwisselde sticker opvallen, want de nep staat niet op jouw domein.
Wees eerlijk over de grens, want dit overdrijven is hoe mensen schade oplopen. Een sticker die fysiek over je poster geplakt is, verslaat een dynamische code volledig: de sticker van de aanvaller bevat de URL van de aanvaller, dus je vermogen om je code om te zetten doet er voor die specifieke scan niet toe. Dynamische codes verdedigen de digitale bestemming, niet het papier waarop ze gedrukt staan. Ze voegen ook een afhankelijkheid toe: elke scan loopt nu via je provider, dus de beschikbaarheid en accountbeveiliging van die provider worden de jouwe. Kies er een die HTTPS afdwingt en accounts goed beschermt, en behandel de grens als een reden om de fysieke en detectielagen hieronder toe te voegen, niet als een dealbreaker.
Maak de echte code moeilijk te overplakken en makkelijk te verifiëren
Een aantal van de sterkste verdedigingen is fysiek. Geef voor waardevolle openbare plaatsingen sabotagebestendig laminaat op of zet de code achter glas of acryl, zodat hij niet netjes overplakt kan worden zonder een spoor achter te laten. Denk na over de plaatsing: een code binnen handbereik op een straatautomaat is een makkelijker doelwit dan een achter een balie. Druk het bestemmingsdomein in gewone tekst naast de code, zodat je eigen veldmedewerkers en de oplettendere leden van het publiek kunnen controleren of de getoonde URL overeenkomt met wat er gedrukt staat.
Ontwerp helpt ook. Een onderscheidende, gebrande code, met de kleur en het logo van je klant erin gezet binnen de afmetingen en het contrast die hem scanbaar houden, laat een gewone zwart-witte sticker die eroverheen geplakt is er overduidelijk verkeerd uitzien. Dit werkt dankzij foutcorrectie: het hoogste niveau, H, kan een code reconstrueren met tot ongeveer 30 procent van zijn modules bedekt, en dat is wat ruimte laat voor een logo in het midden. Houd het logo bescheiden, ruwweg een kwart van het codeoppervlak of minder, zodat je binnen dat budget blijft.
Beperk wie een bestemming mag wijzigen
De macht om een dynamische code om te zetten is ook een risico. Iedereen die de bestemming kan wijzigen kan de campagne van binnenuit kapen, of dat nu een onzorgvuldige teamgenoot is, een vertrokken freelancer wiens toegang nooit is ingetrokken, of een aanvaller die een van je inloggegevens heeft gephisht. Behandel het account van het QR-platform als het gevoelige bezit dat het is: zet multifactorauthenticatie aan, en geef mensen de minste toegang die ze nodig hebben om hun werk te doen.
Dit is nog een reden om elke klant in zijn eigen werkruimte te houden met rolgebaseerde toegang en een audittrail. Als maar twee met naam genoemde mensen de bestemmingen van een bepaalde klant kunnen wijzigen, en elke wijziging wordt gelogd met wie het deed en wanneer, worden zowel onbedoelde als kwaadaardige wijzigingen een stuk lastiger, en een stuk makkelijker achteraf te ontrafelen.
Maak van je scananalyses een sabotagealarm
Dezelfde cijfers die je al in de gaten houdt om te bewijzen dat een campagne werkt, vertellen je, net even anders gelezen, wanneer er iets mis is. De scancijfers die ertoe doen voor prestaties doen dubbel dienst als detectielaag. Een plotselinge stilte op één fysieke locatie terwijl de andere normaal blijven presteren is een klassiek kenmerk van een code die overplakt is: niemand bereikt jouw bestemming nog vanaf die plek, want de sticker stuurt ze ergens anders heen. Een onverklaarbare piek, of scans die opduiken uit een land waar je campagne nooit liep, kan betekenen dat een verkorte link gelekt is of misbruikt wordt.
Dit zijn vuistregels, geen alarmen met vaste drempelwaarden, dus de winst zit in de gewoonte en niet in het exacte getal. Bouw een regelmatige blik op scanpatronen in de manier waarop je campagnes draait, net zoals je de uitgaven zou nakijken, en je verandert een rapportagedashboard in een vroegtijdig waarschuwingssysteem.
Wat de telefoon wel voor je doet, en wat niet
Het is goed om precies te weten hoeveel hulp de scanner is, zodat je er niet te veel op leunt en hem ook niet afdoet als nutteloos. De meeste moderne telefooncamera's tonen een URL-preview voordat ze iets openen, en dat is de allernuttigste gewoonte die de klanten van je klant kunnen hebben, en de reden dat een herkenbaar domein drukken zich terugbetaalt. Het NCSC raadt specifiek aan de ingebouwde scanner van de telefoon te gebruiken in plaats van een gedownloade scanner-app, omdat de app zelf onbetrouwbaar of te veel gemachtigd kan zijn.
Er zijn wel echte grenzen. Een URL-preview toont alleen het adres, hij beoordeelt niet of de site erachter veilig is. Google Safe Browsing en vergelijkbare diensten markeren weliswaar bekende schadelijke sites in Chrome en andere clients, maar ze zijn van nature reactief en missen gloednieuwe aanvallersdomeinen, en dat is precies waarom de grote oplichtingsoperaties tienduizenden verse domeinen doorlopen om de blokkeerlijsten voor te blijven. En HTTPS, het slotje, beveiligt alleen de verbinding: een phishingkopie kan een volkomen geldig slotje tonen, dus "er zat een slotje op" is geen veiligheidssignaal. De eerlijke boodschap om aan het publiek van een klant door te geven is: lees het domein, vertrouw niet op het slotje.
Als een code gekaapt wordt: een korte draaiboek
De meeste beveiligingsartikelen stoppen bij "houd sabotage in de gaten" en laten je daar staan. Hier lees je wat je daadwerkelijk moet doen wanneer dat in de gaten houden loont, op volgorde.
- Bevestig het. Toets de afwijking in de analyses aan de fysieke wereld. Laat iemand in de buurt van het middel ernaar kijken, of kijk zelf. Zit er een sticker over de code? Komt scannen ergens uit waar het niet zou moeten? Je wilt zeker zijn voordat je handelt, maar minuten tellen, dus wacht niet op zekerheid die je toch niet kunt krijgen.
- Zet hem direct om of schakel hem uit. Met een dynamische code wijzig je de bestemming naar een veilige wachtpagina, of terug naar de echte als je die beheert, zodat elke scan van dat gedrukte middel in één keer onschadelijk wordt gemaakt, overal waar het bestaat. Dit is het moment waarop het hele pleidooi voor dynamische codes zijn waarde bewijst. Met een statische code kun je dit helemaal niet, en dat vertelt je wat je de volgende keer moet kiezen.
- Damt het fysieke middel in. Laat de overlay verwijderen of het ontwerp vervangen, en controleer plaatsingen in de buurt, want aanvallers stickeren zelden maar één.
- Meld het. Vertel het je QR-platform, en meld de frauduleuze kopie bij de domeinregistrar of host die hem draagt, en bij de landelijke fraude-instantie: Action Fraud in het Verenigd Koninkrijk, het IC3 van de FBI in de VS. Hoe sneller een kwaadaardig domein offline gaat, hoe kleiner de schade.
- Vertel het de klant, gewoon eerlijk. Leg uit wat er gebeurd is, wat je gedaan hebt, hoe lang het risico bestond, en wat er veranderd is zodat het minder snel opnieuw gebeurt. Een incident dat openlijk wordt afgehandeld bouwt vertrouwen op; een incident dat de klant later zelf ontdekt is wat de klant kost. Stilte is erger dan de sticker.
Een checklist voor vóór het drukken en na de lancering
Trek het bovenstaande samen tot iets wat je op elke campagne kunt uitvoeren.
Voordat het naar de drukker gaat:
- Gebruik een dynamische code op een merkdomein dat je zelf bezit, met HTTPS van begin tot eind.
- Druk het bestemmingsdomein in gewone tekst naast de code.
- Geef voor openbare ondergronden sabotagebestendig materiaal op en een plaatsing die moeilijk te overplakken of te bereiken is.
- Verifieer de bestemming en het bijbehorende certificaat voordat het ontwerp de deur uit gaat.
- Beveilig het platformaccount zelf: multifactorauthenticatie, en minimale toegang per werkruimte.
Nadat het gelanceerd is:
- Houd de scananalyses in de gaten op stiltes per locatie en onverwachte geografie of volumes.
- Plan fysieke inspecties van waardevolle openbare codes.
- Houd het draaiboek van één pagina hierboven op een plek waar het team het kan vinden.
- Stuur nooit kale inlog- of betaal-QR-codes in uitgaande klantmail.
Veelgestelde vragen
Kan iemand mijn QR-code kapen of vervangen?
Ja, het simpelst door hem te overplakken. Een QR-code heeft geen cryptografische koppeling met zijn bestemming, dus een sticker die over de jouwe geplakt wordt scant precies als het echte werk terwijl hij ergens heel anders heen wijst. Een dynamische code helpt je snel te herstellen, want je kunt hem omzetten, maar hij kan de fysieke verwisseling op die specifieke poster niet tegenhouden. Daarom moet de verdediging een dynamische code, sabotagebestendige druk en scanmonitoring combineren, in plaats van op één daarvan te leunen.
Zijn dynamische QR-codes veiliger dan statische?
Voor herstel duidelijk wel. Een dynamische code kan binnen een minuut op elk gedrukt middel naar een veilige pagina worden omgezet, terwijl een statische code alleen door opnieuw te drukken te repareren is. Het risico van de stickeroverlay geldt voor allebei even hard, want die aanval vervangt je code in plaats van hem te wijzigen. Dynamische codes voegen ook een afhankelijkheid van je provider toe, dus beveilig dat account en kies een provider die HTTPS afdwingt.
Houdt een merkdomein QR-codephishing tegen?
Nee, en je moet wantrouwig zijn tegenover iedereen die zegt van wel. Een merkdomein dat je zelf bezit is een sterke laag: het maakt je echte link herkenbaar en het vreemde domein van een nep duidelijk, en het geeft oplettende scanners iets om te verifiëren. Maar het is een vertrouwens- en detectiesignaal, geen preventie. Behandel het als één onderdeel van een aanpak die ook fysieke sabotagebestendigheid en analysemonitoring omvat.
Hoe weet ik of er met een QR-code geknoeid is?
Op twee manieren, samen gebruikt. Fysiek: controleer of er een sticker over de gedrukte code geplakt is, de hoek van een overlay laat vaak los. Analytisch: houd je scangegevens in de gaten, een locatie die plotseling stopt met scans registreren terwijl vergelijkbare plaatsingen doorgaan, of scans van ergens waar je campagne nooit liep, zijn allebei rode vlaggen die een fysieke controle waard zijn.
Komen QR-codes langs e-mailbeveiligingsfilters?
Vaak wel, en dat is precies waarom quishing werkt. Omdat de code een afbeelding is in plaats van een tekstlink, hebben de gateways die url's scannen en op reputatie controleren niets om te lezen. Onderzoekers hebben zelfs codes gedocumenteerd die uit HTML-tabellen zijn opgebouwd of over pdf-afbeeldingen verdeeld zijn om scanners volledig te omzeilen. De praktische regel voor een uitgever is om nooit een kale QR-code die om een login of betaling vraagt in uitgaande mail te zetten, zodat je je publiek niet de gewoonte aanleert die aanvallers uitbuiten.
Wie is verantwoordelijk als iemand een nepcode scant met het merk van mijn klant erop?
Dit is geen juridisch advies, maar de nuttige manier om erover te denken is dat de crimineel de schuldige partij is, terwijl je klant nog steeds het reputatierisico draagt, want hun merk is wat het slachtoffer zag. Juist dat verschil is waarom de uitgever quishing als merkbescherming zou moeten behandelen in plaats van als andermans probleem. Het bureau dat kan aantonen dat het dynamische codes, eigen domeinen, sabotagebestendige druk en actieve monitoring gebruikte, staat veel sterker dan een dat niets daarvan deed.
Hoe vaak moeten we gedrukte codes fysiek inspecteren?
Als vuistregel: schaal de inspectie naar het risico. Codes die aan betalingen gekoppeld zijn of op heel drukke openbare ondergronden zitten verdienen frequente controles, in de drukste gevallen bijna dagelijks; gewone posters en plaatsingen met een lager risico kun je periodiek nakijken. Combineer welk schema je ook instelt met analysemonitoring, zodat een digitale afwijking een fysieke controle buiten het schema om kan aanzetten.
Kort samengevat
Quishing is phishing via een QR-code, en het advies dat er is richt zich vooral op de mensen die scannen, niet op de bureaus die publiceren. Als uitgever komt jouw risico in drie vormen: een sticker die over je echte code geplakt is, een lookalike-domein dat je klant nabootst los van de poster, en codes in e-mail die langs de filters glippen. Geen enkele maatregel stopt alle drie, dus stapel ze: een dynamische code op een domein dat je zelf bezit zodat je de bestemming snel kunt zien, wijzigen en uitschakelen; sabotagebestendige, verifieerbare druk zodat de echte code moeilijk te overplakken is; strakke toegangscontrole zodat alleen de juiste mensen een code kunnen omzetten; en scananalyses die je als alarm leest zodat je opmerkt wanneer er iets verschuift. Houd dan een draaiboek van één pagina bij, want het verschil tussen een schrik en een ramp is hoe snel je het opmerkt en hoe kalm je reageert.
Als je deze week één ding doet, zet dan je volgende klantcampagne op een dynamische code op een domein dat je zelf bezit, en bepaal wie er mag wijzigen waar hij naartoe wijst. Die ene zet verandert een kaping van een herdruk en een ongemakkelijk telefoontje in een oplossing van één minuut.
Verder lezen

· 16 min. leestijd
Hoe groot moet een QR-code zijn? Drukformaat, contrast en de specs die hem laten scannen
Hoe groot moet een QR-code zijn, en waarom scannen gedrukte codes soms niet? Een praktische gids voor QR-codegrootte, stille zone, contrast, foutcorrectie en bestandsformaat, met een formaatoverzicht per plaatsing en een test van twee minuten die je oplage redt.
Lees meer
· 10 min. leestijd
QR-code-analyse: welke scancijfers ertoe doen en hoe je ze rapporteert
QR-code-analyse is meer dan een scantelling. Dit is wat elk scancijfer echt betekent, welke getallen beslissingen sturen, hoe je scans met UTM en GA4 aan verkopen koppelt, en hoe je er een klantrapport van maakt dat zichzelf leest.
Lees meer