{"id":3341,"date":"2025-09-23T10:32:44","date_gmt":"2025-09-23T08:32:44","guid":{"rendered":"https:\/\/trustlab.upct.es\/?p=3341"},"modified":"2025-09-24T09:57:27","modified_gmt":"2025-09-24T07:57:27","slug":"malicious-qr-codes-the-new-gateway-to-online-fraud","status":"publish","type":"post","link":"https:\/\/trustlab.upct.es\/en\/2025\/09\/23\/malicious-qr-codes-the-new-gateway-to-online-fraud\/","title":{"rendered":"Malicious QR Codes: the New Gateway to Online Fraud"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3341\" class=\"elementor elementor-3341 elementor-3332\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-36cbace e-flex e-con-boxed rael-particle-no qodef-elementor-content-no e-con e-parent\" data-id=\"36cbace\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;rae_animations_entrance&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70e90de elementor-widget elementor-widget-text-editor\" data-id=\"70e90de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"958deac3-cce3-4987-ab08-2a8aa2ce07d2\" data-testid=\"conversation-turn-54\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"87d218bd-a87c-4ec6-b09c-902561dcf976\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><h3 data-start=\"0\" data-end=\"689\">Why QR codes are everywhere (and why it matters)<\/h3><p data-start=\"0\" data-end=\"689\"><br data-start=\"48\" data-end=\"51\" \/>QR codes are used practically everywhere. They\u2019re cheap, easy to create, and easy to scan\u2014just open the camera and you\u2019re done. That mix of low cost and minimal friction explains their success in hospitality, retail, banking, transport, and public services. They also bridge the physical and digital worlds, allowing you to continue customer interactions beyond the point of sale.<br data-start=\"431\" data-end=\"434\" data-is-only-node=\"\" \/>According to recent user- and media-cited data, adoption in Spain is massive: 9 out of 10 people have scanned a QR code in recent months, with a strong presence in bars and restaurants. This popularity creates opportunities\u2014and expands the attack surface.<\/p><p data-start=\"691\" data-end=\"730\">Key takeaways for security and business<\/p><ul data-start=\"732\" data-end=\"940\" data-is-last-node=\"\" data-is-only-node=\"\"><li data-start=\"732\" data-end=\"797\"><p data-start=\"734\" data-end=\"797\">More QR = greater impact in marketing, payments, and support.<\/p><\/li><li data-start=\"798\" data-end=\"857\"><p data-start=\"800\" data-end=\"857\">More physical touchpoints = more chances for tampering.<\/p><\/li><li data-start=\"858\" data-end=\"940\" data-is-last-node=\"\"><p data-start=\"860\" data-end=\"940\" data-is-last-node=\"\">Education and secure-by-design flows reduce risk without hurting the experience.<\/p><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div><\/article>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4cd370 elementor-widget elementor-widget-heading\" data-id=\"c4cd370\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What is QRishing (or quishing) and how these attacks work<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37cb4b0 elementor-widget elementor-widget-text-editor\" data-id=\"37cb4b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"0\" data-end=\"489\">QRishing (or quishing) is phishing via a QR code. The goal is usually to steal credentials, load malware, or send you to a cloned website. The pattern is familiar: the user scans, lands on a convincing page, and hands over data or installs something they shouldn\u2019t.<br data-start=\"265\" data-end=\"268\" \/>A typical case: posters with QR codes promising subscription renewals (\u201cOops, it wasn\u2019t Netflix\u201d). The page looks like the original and asks for a login or card details. If your phone stores passwords, the risk increases.<\/p><p data-start=\"491\" data-end=\"505\">Common vectors<\/p><ul data-start=\"507\" data-end=\"785\" data-is-last-node=\"\" data-is-only-node=\"\"><li data-start=\"507\" data-end=\"585\"><p data-start=\"509\" data-end=\"585\">Stickers placed over legitimate QR codes (menus, posters, parking meters).<\/p><\/li><li data-start=\"586\" data-end=\"653\"><p data-start=\"588\" data-end=\"653\">Out-of-context printouts left in building lobbies or mailboxes.<\/p><\/li><li data-start=\"654\" data-end=\"718\"><p data-start=\"656\" data-end=\"718\">Emails and leaflets with QR codes \u201cto speed up a procedure.\u201d<\/p><\/li><li data-start=\"719\" data-end=\"785\" data-is-last-node=\"\"><p data-start=\"721\" data-end=\"785\" data-is-last-node=\"\">Promotions and giveaways at points of sale without verification.<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a2238a elementor-widget elementor-widget-image\" data-id=\"9a2238a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"427\" src=\"https:\/\/trustlab.upct.es\/wp-content\/uploads\/2025\/09\/pexels-pixabay-278430-1-1024x546.jpg\" class=\"attachment-large size-large wp-image-3339\" alt=\"\" srcset=\"https:\/\/trustlab.upct.es\/wp-content\/uploads\/2025\/09\/pexels-pixabay-278430-1-1024x546.jpg 1024w, https:\/\/trustlab.upct.es\/wp-content\/uploads\/2025\/09\/pexels-pixabay-278430-1-300x160.jpg 300w, https:\/\/trustlab.upct.es\/wp-content\/uploads\/2025\/09\/pexels-pixabay-278430-1-768x409.jpg 768w, https:\/\/trustlab.upct.es\/wp-content\/uploads\/2025\/09\/pexels-pixabay-278430-1.jpg 1225w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7948d11 elementor-widget elementor-widget-heading\" data-id=\"7948d11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Signs to spot a tampered QR code (visual checklist)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf440b0 elementor-widget elementor-widget-text-editor\" data-id=\"cf440b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"1b0b2559-12ea-4880-919c-31a169ae00b3\" data-testid=\"conversation-turn-62\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"09a3a887-778c-44ab-b5b6-e5336104f88a\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><p data-start=\"0\" data-end=\"66\" data-is-last-node=\"\" data-is-only-node=\"\">Looking before you scan helps. No need for paranoia\u2014just a method.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/article>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-15749f2 e-flex e-con-boxed rael-particle-no qodef-elementor-content-no e-con e-parent\" data-id=\"15749f2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;rae_animations_entrance&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22408c2 elementor-widget elementor-widget-text-editor\" data-id=\"22408c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"_tableContainer_1rjym_1\"><div class=\"group _tableWrapper_1rjym_13 flex w-fit flex-col-reverse\" tabindex=\"-1\"><article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"b167d169-a3cc-4ac2-8a09-df7fde4754d0\" data-testid=\"conversation-turn-64\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"fe0e8f27-b28b-407d-af19-2eaf8f2e390e\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><div class=\"_tableContainer_1rjym_1\"><div class=\"group _tableWrapper_1rjym_13 flex w-fit flex-col-reverse\" tabindex=\"-1\"><table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"0\" data-end=\"607\"><thead data-start=\"0\" data-end=\"29\"><tr data-start=\"0\" data-end=\"29\"><th data-start=\"0\" data-end=\"5\" data-col-size=\"md\">Sign<\/th><th data-start=\"5\" data-end=\"29\" data-col-size=\"md\">What to do on the spot<\/th><\/tr><\/thead><tbody data-start=\"40\" data-end=\"607\"><tr data-start=\"40\" data-end=\"136\"><td data-start=\"40\" data-end=\"76\" data-col-size=\"md\">Sticker or unusual bump over the QR<\/td><td data-start=\"76\" data-end=\"136\" data-col-size=\"md\">Look for the original underneath; if in doubt, don\u2019t scan.<\/td><\/tr><tr data-start=\"137\" data-end=\"251\"><td data-start=\"137\" data-end=\"181\" data-col-size=\"md\">Frame\/branding that doesn\u2019t fit the context<\/td><td data-start=\"181\" data-end=\"251\" data-col-size=\"md\">Cross-check on the venue\u2019s official website or ask for confirmation.<\/td><\/tr><tr data-start=\"252\" data-end=\"353\"><td data-start=\"252\" data-end=\"300\" data-col-size=\"md\">Freshly stuck or crooked QR on an older surface<\/td><td data-start=\"300\" data-end=\"353\" data-col-size=\"md\">Be skeptical; look for the factory-printed version.<\/td><\/tr><tr data-start=\"354\" data-end=\"455\"><td data-start=\"354\" data-end=\"397\" data-col-size=\"md\">Shortened URL or no padlock in the preview<\/td><td data-start=\"397\" data-end=\"455\" data-col-size=\"md\">Avoid opening; type the domain manually in your browser.<\/td><\/tr><tr data-start=\"456\" data-end=\"607\"><td data-start=\"456\" data-end=\"528\" data-col-size=\"md\">QR in \u201ceasy-to-tamper\u201d spots (lampposts, display cases, parking meters)<\/td><td data-start=\"528\" data-end=\"607\" data-col-size=\"md\">Scan only if there\u2019s an official seal\/stamp or the establishment confirms it.<\/td><\/tr><\/tbody><\/table><\/div><\/div><p data-start=\"609\" data-end=\"705\" data-is-last-node=\"\" data-is-only-node=\"\">Operational tip: many scanners show the URL before opening. If something doesn\u2019t add up, cancel.<\/p><\/div><\/div><\/div><\/div><div class=\"z-0 flex min-h-[46px] justify-start\">\u00a0<\/div><div class=\"mt-3 w-full empty:hidden\"><div class=\"text-center\">\u00a0<\/div><\/div><\/div><\/div><\/article><div class=\"pointer-events-none h-px w-px\" aria-hidden=\"true\" data-edge=\"true\">\u00a0<\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a4e5ab2 e-flex e-con-boxed rael-particle-no qodef-elementor-content-no e-con e-parent\" data-id=\"a4e5ab2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;rae_animations_entrance&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-15a2c72 elementor-widget elementor-widget-heading\" data-id=\"15a2c72\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Most exposed sectors: hospitality, retail, and banking (real cases)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f36057 elementor-widget elementor-widget-text-editor\" data-id=\"0f36057\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"0\" data-end=\"166\">Hospitality. Digital menus and tabletop promos are frequent targets. You\u2019ll see stickers placed over signage, and printed QRs with designs that don\u2019t match the venue.<\/p><p data-start=\"168\" data-end=\"285\">Retail. Shelf labels and shop windows with offers that link to \u201ccoupons.\u201d If the domain isn\u2019t the official one, stop.<\/p><p data-start=\"287\" data-end=\"422\">Banking and payments. In parking lots and self-service machines, fake QRs push you to pay on fraudulent sites. The damage is immediate.<\/p><p data-start=\"424\" data-end=\"532\" data-is-last-node=\"\" data-is-only-node=\"\">Events and transport. QRs to \u201cdownload tickets\u201d or \u201cconfirm attendance\u201d that ask for your email credentials.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e86499e elementor-widget elementor-widget-heading\" data-id=\"e86499e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How to stay safe without complicating your life<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-273ad98 elementor-widget elementor-widget-text-editor\" data-id=\"273ad98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"5cf9ed15-56d7-4287-b45c-14182588dd3b\" data-testid=\"conversation-turn-72\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"d4eda71c-6872-4638-829e-25f4f8de159d\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><p data-start=\"0\" data-end=\"30\">Low-effort, high-impact habits<\/p><ul data-start=\"32\" data-end=\"352\"><li data-start=\"32\" data-end=\"65\"><p data-start=\"34\" data-end=\"65\">Preview the URL before opening.<\/p><\/li><li data-start=\"66\" data-end=\"132\"><p data-start=\"68\" data-end=\"132\">Avoid entering passwords after scanning a QR in public settings.<\/p><\/li><li data-start=\"133\" data-end=\"171\"><p data-start=\"135\" data-end=\"171\">Keep your OS and browser up to date.<\/p><\/li><li data-start=\"172\" data-end=\"239\"><p data-start=\"174\" data-end=\"239\">Use a password manager: it won\u2019t autofill logins on fake domains.<\/p><\/li><li data-start=\"240\" data-end=\"292\"><p data-start=\"242\" data-end=\"292\">Enable two-step verification on critical services.<\/p><\/li><li data-start=\"293\" data-end=\"352\"><p data-start=\"295\" data-end=\"352\">Use a scanner\/antivirus that checks links before opening.<\/p><\/li><\/ul><p data-start=\"354\" data-end=\"372\">Signage for venues<\/p><ul data-start=\"374\" data-end=\"582\" data-is-last-node=\"\" data-is-only-node=\"\"><li data-start=\"374\" data-end=\"427\"><p data-start=\"376\" data-end=\"427\">Print the QR directly on the surface (no stickers).<\/p><\/li><li data-start=\"428\" data-end=\"484\"><p data-start=\"430\" data-end=\"484\">Add a tamper-evident seal and brand-consistent design.<\/p><\/li><li data-start=\"485\" data-end=\"532\"><p data-start=\"487\" data-end=\"532\">Display a short, clear domain next to the QR.<\/p><\/li><li data-start=\"533\" data-end=\"582\" data-is-last-node=\"\"><p data-start=\"535\" data-end=\"582\" data-is-last-node=\"\">Refresh QR codes periodically to reduce copies.<\/p><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div><\/article>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f51aec7 elementor-widget elementor-widget-heading\" data-id=\"f51aec7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">If you\u2019ve already fallen for it: a 15-minute response plan<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c139ca2 elementor-widget elementor-widget-text-editor\" data-id=\"c139ca2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"f034193e-20d0-4d7b-a324-46f8446b36f0\" data-testid=\"conversation-turn-76\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"afdf1d43-61fc-4b60-8eaa-acff9d38df86\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><p data-start=\"0\" data-end=\"10\">Minute 0\u20135<\/p><ul data-start=\"12\" data-end=\"125\"><li data-start=\"12\" data-end=\"30\"><p data-start=\"14\" data-end=\"30\">Close the tab.<\/p><\/li><li data-start=\"31\" data-end=\"95\"><p data-start=\"33\" data-end=\"95\">Turn on Airplane mode if anything suspicious was downloaded.<\/p><\/li><li data-start=\"96\" data-end=\"125\"><p data-start=\"98\" data-end=\"125\">Switch to a secure network.<\/p><\/li><\/ul><p data-start=\"127\" data-end=\"138\">Minute 5\u201310<\/p><ul data-start=\"140\" data-end=\"326\"><li data-start=\"140\" data-end=\"192\"><p data-start=\"142\" data-end=\"192\">Change affected passwords from a trusted device.<\/p><\/li><li data-start=\"193\" data-end=\"257\"><p data-start=\"195\" data-end=\"257\">Revoke active sessions and review two-factor authentication.<\/p><\/li><li data-start=\"258\" data-end=\"326\"><p data-start=\"260\" data-end=\"326\">If a payment was made, contact your bank and enable blocks\/alerts.<\/p><\/li><\/ul><p data-start=\"328\" data-end=\"340\">Minute 10\u201315<\/p><ul data-start=\"342\" data-end=\"523\" data-is-last-node=\"\" data-is-only-node=\"\"><li data-start=\"342\" data-end=\"397\"><p data-start=\"344\" data-end=\"397\">Review permissions for any recently installed apps.<\/p><\/li><li data-start=\"398\" data-end=\"427\"><p data-start=\"400\" data-end=\"427\">Run an anti-malware scan.<\/p><\/li><li data-start=\"428\" data-end=\"523\" data-is-last-node=\"\"><p data-start=\"430\" data-end=\"523\" data-is-last-node=\"\">Preserve evidence (screenshots of the URL and the poster) and report it to the establishment.<\/p><\/li><\/ul><\/div><\/div><\/div><\/div><div class=\"z-0 flex min-h-[46px] justify-start\">\u00a0<\/div><div class=\"mt-3 w-full empty:hidden\"><div class=\"text-center\">\u00a0<\/div><\/div><\/div><\/div><\/article><div class=\"pointer-events-none h-px w-px\" aria-hidden=\"true\" data-edge=\"true\">\u00a0<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-669844a elementor-widget elementor-widget-heading\" data-id=\"669844a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">For businesses: from static QR codes to dynamic QR and a Zero Trust approach<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dd2297 elementor-widget elementor-widget-text-editor\" data-id=\"1dd2297\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"0\" data-end=\"33\"><strong data-start=\"0\" data-end=\"33\">Implementation best practices<\/strong><\/p><ul data-start=\"35\" data-end=\"337\"><li data-start=\"35\" data-end=\"85\"><p data-start=\"37\" data-end=\"85\">Dynamic QR codes with expiration and rotation.<\/p><\/li><li data-start=\"86\" data-end=\"141\"><p data-start=\"88\" data-end=\"141\">Dedicated, short domains to minimize impersonation.<\/p><\/li><li data-start=\"142\" data-end=\"208\"><p data-start=\"144\" data-end=\"208\">Codes with a visual signature (frame and tamper-evident seal).<\/p><\/li><li data-start=\"209\" data-end=\"271\"><p data-start=\"211\" data-end=\"271\">Replacement policy: remove and destroy outdated materials.<\/p><\/li><li data-start=\"272\" data-end=\"337\"><p data-start=\"274\" data-end=\"337\">Staff training: spot stickers, audit signage, report incidents.<\/p><\/li><\/ul><p data-start=\"339\" data-end=\"353\"><strong data-start=\"339\" data-end=\"353\">Governance<\/strong><\/p><ul data-start=\"355\" data-end=\"544\" data-is-last-node=\"\" data-is-only-node=\"\"><li data-start=\"355\" data-end=\"390\"><p data-start=\"357\" data-end=\"390\">Process owner (Marketing + IT).<\/p><\/li><li data-start=\"391\" data-end=\"428\"><p data-start=\"393\" data-end=\"428\">Log of locations and print dates.<\/p><\/li><li data-start=\"429\" data-end=\"486\"><p data-start=\"431\" data-end=\"486\">Regular in-store audits and \u201cmystery shopper\u201d checks.<\/p><\/li><li data-start=\"487\" data-end=\"544\" data-is-last-node=\"\"><p data-start=\"489\" data-end=\"544\" data-is-last-node=\"\">Incident response procedure and customer communication.<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e44d6f7 elementor-widget elementor-widget-heading\" data-id=\"e44d6f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Conclusion: minimizing risk (QR codes are here to stay)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bdbb021 elementor-widget elementor-widget-text-editor\" data-id=\"bdbb021\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"021e730b-45a9-4645-abb8-5c268508cb7a\" data-testid=\"conversation-turn-84\" data-scroll-anchor=\"true\" data-turn=\"assistant\"><div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"><div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"><div class=\"flex max-w-full flex-col grow\"><div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"e6d90e51-438c-4a5d-adf7-7918f9750f6a\" data-message-model-slug=\"gpt-5-thinking\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\"><p data-start=\"0\" data-end=\"224\" data-is-last-node=\"\" data-is-only-node=\"\">QR codes are practical. They reduce physical contact and speed up processes. With clear signals, simple habits, and brand controls, the risk drops significantly. Security shouldn\u2019t break the experience; it should support it.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/article>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fec6c74 elementor-widget elementor-widget-text-editor\" data-id=\"fec6c74\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2 data-start=\"0\" data-end=\"30\">Quick FAQs about QR code fraud<\/h2><p data-start=\"32\" data-end=\"236\"><strong data-start=\"32\" data-end=\"92\">Can a QR code install malware without me doing anything?<\/strong><br data-start=\"92\" data-end=\"95\" \/>Not silently on up-to-date systems. It usually requires extra taps or consent. The real risk lies in cloned websites and malicious downloads.<\/p><p data-start=\"238\" data-end=\"426\"><strong data-start=\"238\" data-end=\"287\">How can I tell if the bar\u2019s menu QR is legit?<\/strong><br data-start=\"287\" data-end=\"290\" \/>Look for a QR integrated into the surface, consistent design, and a visible official domain. If in doubt, ask staff for the direct link.<\/p><p data-start=\"428\" data-end=\"548\"><strong data-start=\"428\" data-end=\"459\">Is a dynamic QR code safer?<\/strong><br data-start=\"459\" data-end=\"462\" \/>Yes. It allows expiration, rotation, and revocation if a copy appears out in the wild.<\/p><p data-start=\"550\" data-end=\"702\" data-is-last-node=\"\" data-is-only-node=\"\"><strong data-start=\"550\" data-end=\"581\">Which scanner should I use?<\/strong><br data-start=\"581\" data-end=\"584\" \/>Any that shows the URL and checks the destination before opening. Ideally, one with built-in anti-phishing protection.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Why QR codes are everywhere (and why it matters) QR codes are used practically everywhere. They\u2019re cheap, easy to create, and easy to scan\u2014just open the camera and you\u2019re done. That mix of low cost and minimal friction explains their success in hospitality, retail, banking, transport, and public services. They also bridge the physical and [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3342,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-3341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tips"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/posts\/3341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/comments?post=3341"}],"version-history":[{"count":3,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/posts\/3341\/revisions"}],"predecessor-version":[{"id":3345,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/posts\/3341\/revisions\/3345"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/media\/3342"}],"wp:attachment":[{"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/media?parent=3341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/categories?post=3341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trustlab.upct.es\/en\/wp-json\/wp\/v2\/tags?post=3341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}