# US 12,217,127 B2 · Protecting against malicious attacks in images

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,217,127 B2
- Document ID: US12217127B2
- Status: Granted
- Kind: B2
- Application number: 18/167,787
- Filed: 2023-02-10
- Published: 2024-08-15
- Granted: 2025-02-04
- Earliest claimed: 2023-02-10
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Gad Karmi; Mark Bapst
- Web page: https://patentgrep.com/patent/US12217127B2

## CPC

- G06K 7/1443: {locating of the code in an image}
- H04L 63/1483: {service impersonation, e.g. phishing, pharming or web spoofing (detection of rogue wireless access points H04W12/12)}
- G06F 16/9566: {URL specific, e.g. using aliases, detecting broken or misspelled links}
- G06K 7/1417: {2D bar codes}
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- H04L 9/3247: {involving digital signatures}
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques and systems are provided for image processing. For instance, a process can include obtaining, from one or more image sensors, an image of an environment. The process can further include detecting a first visual code in the image; decoding the first visual code; verifying safety of contents of the first visual code; determining that the contents of the first visual code contain a uniform resource locator (URL); and prefetching data linked by the URL based on verifying the safety of the contents of the first visual code.

## Claims

### Claim 1

A method for image processing, comprising:
obtaining, from one or more image sensors, an image of an environment;
detecting a first visual code in the image;
decoding the first visual code;
verifying safety of contents of the first visual code, wherein verifying the safety of the contents of the first visual code comprises:
determining that the first visual code is signed;
determining that the first visual code includes an indication of a signing authority; and
verifying the safety of the contents of the first visual code based on the indication of the signing authority;
determining that the contents of the first visual code contain a uniform resource locator (URL); and
prefetching data linked by the URL based on verifying the safety of the contents of the first visual code.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting a second visual code in the image;
decoding the second visual code;
determining that contents of the second visual code are malicious;
generating a visual indication that the second visual code in the image is potentially malicious; and
outputting the visual indication for display.

### Claim 3 (depends on 2)

The method of claim 2, wherein the visual indication that the first visual code is potentially malicious comprises an overlay for the second visual code indicating that the second visual code is potentially malicious.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating a visual indication indicating that safety of the contents of the first visual code in the image is verified; and
outputting the visual indication for display.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
detecting a third visual code in the image;
decoding the third visual code;
determining that contents of the third visual code contain textual information;
determining whether the textual information is potentially inappropriate; and
performing at least one of:
outputting for display the textual information based on a determination that contents of the third visual code are not potentially inappropriate; or
outputting for display an altered version of the textual information based on a determination that contents of the third visual code are potentially inappropriate.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first visual code comprises a quick response (QR) code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the prefetching is performed absent a request by a user to access the URL.

### Claim 8 (depends on 1)

The method of claim 1, wherein verifying the safety of the contents of the first visual code comprises determining that the contents of the first visual code are potentially safe.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first visual code is detected in an image of a portion of the environment that is not within a field of view of a display.

### Claim 10 (depends on 9)

The method of claim 9, further comprising determining whether to prefetch the first visual code when the first visual code is not within the field of view of the display.

### Claim 11

An apparatus for image processing, the apparatus comprising:
at least one memory; and
at least one processor coupled to the at least one memory, the at least one processor being configured to:
obtain, from one or more image sensors, an image of an environment;
detect a first visual code in the image;
decode the first visual code;
verify safety of contents of the first visual code, wherein, to verify the safety of the contents of the first visual code, the at least one processor is further configured to:
determine that the first visual code is signed;
determine that the first visual code includes an indication of a signing authority; and
verify the safety of the contents of the first visual code based on the indication of the signing authority;
determine that the contents of the first visual code contain a uniform resource locator (URL); and
prefetch data linked by the URL based on verifying the safety of the contents of the first visual code.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is further configured to:
detect a second visual code in the image;
decode the second visual code;
determine that contents of the second visual code are malicious;
generate a visual indication that the second visual code in the image is potentially malicious; and
output the visual indication for display.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the visual indication that the first visual code is potentially malicious comprises an overlay for the second visual code indicating that the second visual code is potentially malicious.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is further configured to:
generate a visual indication indicating that safety of the contents of the first visual code in the image is verified; and
output the visual indication for display.

### Claim 15 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is further configured to:
detect a third visual code in the image;
decode the third visual code;
determine that contents of the third visual code contain textual information;
determine whether the textual information is potentially inappropriate; and
perform at least one of:
output for display the textual information based on a determination that contents of the third visual code are not potentially inappropriate; or
output for display an altered version of the textual information based on a determination that contents of the third visual code are potentially inappropriate.

### Claim 16 (depends on 11)

The apparatus of claim 11, wherein the first visual code comprises a quick response (QR) code.

### Claim 17 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is further configured to prefetch the data absent a request by a user to access the URL.

### Claim 18 (depends on 11)

The apparatus of claim 11, wherein, to verify the safety of the contents of the first visual code, the at least one processor is configured to determine that the contents of the first visual code are potentially safe.

### Claim 19 (depends on 11)

The apparatus of claim 11, wherein the first visual code is detected in an image of a portion of the environment that is not within a field of view of a display.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the at least one processor is further configured to determine whether to prefetch the first visual code when the first visual code is not within the field of view of the display.

### Claim 21

A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to:
obtain, from one or more image sensors, an image of an environment;
detect a first visual code in the image;
decode the first visual code;
verify safety of contents of the first visual code, wherein, to verify the safety of the contents of the first visual code, the instructions further cause the at least one processor to:
determine that the first visual code is signed;
determine that the first visual code includes an indication of a signing authority; and
verify the safety of the contents of the first visual code based on the indication of the signing authority;
determine that the contents of the first visual code contain a uniform resource locator (URL); and
prefetch data linked by the URL based on verifying the safety of the contents of the first visual code.

### Claim 22 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the instructions further cause the at least one processor to:
detect a second visual code in the image;
decode the second visual code;
determine that contents of the second visual code are malicious;
generate a visual indication that the second visual code in the image is potentially malicious; and
output the visual indication for display.

### Claim 23 (depends on 22)

The non-transitory computer-readable medium of claim 22, wherein the visual indication that the first visual code is potentially malicious comprises an overlay for the second visual code indicating that the second visual code is potentially malicious.

### Claim 24 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the instructions further cause the at least one processor to:
generate a visual indication indicating that safety of the contents of the first visual code in the image is verified; and
output the visual indication for display.

### Claim 25 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the instructions further cause the at least one processor to:
detect a third visual code in the image;
decode the third visual code;
determine that contents of the third visual code contain textual information;
determine whether the textual information is potentially inappropriate; and
perform at least one of:
output for display the textual information based on a determination that contents of the third visual code are not potentially inappropriate; or
output for display an altered version of the textual information based on a determination that contents of the third visual code are potentially inappropriate.

### Claim 26 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the first visual code comprises a quick response (QR) code.

### Claim 27 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the instructions further cause the at least one processor to prefetch the data absent a request by a user to access the URL.

### Claim 28 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein, to verify the safety of the contents of the first visual code, the instructions further cause the at least one processor to determine that the contents of the first visual code are potentially safe.

### Claim 29 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the first visual code is detected in an image of a portion of the environment that is not within a field of view of a display.

### Claim 30 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the instructions further cause the at least one processor to determine whether to prefetch the first visual code when the first visual code is not within the field of view of the display.
