IP Library Granted Patent US 12,580,947
Granted Patent B2
US 12,580,947 · App. 18/360,597 · Granted Mar 17, 2026

Browser security via document object model manipulation

Inventor: Ryan Boerner (Austin, TX)
Assignee: Keep Aware, Inc.
H04L63/1441H04L63/1433
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,580,947
App. No.
18/360,597
Granted
Mar 17, 2026
Kind
B2
Abstract

A computer-implemented method executed using a browser extension that is associated with a web browser of a client computer, the method comprising: detecting that the web browser of the client computer has initiated loading a web page into computer memory of the client computer; inserting one or more browser-executable scripts into the web page in the computer memory; using the one or more browser-executable scripts, obtaining data on one or more aspects of the web page; sending the data on the one or more aspects of the web page to a second computer for analysis; receiving from the second computer a risk value corresponding to a potential security risk associated with the one or more aspects of the web page; based on the risk value, selecting a corrective action from among a plurality of different corrective actions, wherein each different corrective action in the plurality of different corrective actions corresponds to a different risk value associated with the potential security risk; executing the corrective action by modifying the web page in the computer memory.

Claims (52)

1 . A computer-implemented method executed using a browser extension that is associated with a web browser of a client computer, the method comprising:

detecting that the web browser of the client computer has initiated loading a web page into a computer memory of the client computer;

inserting, by the browser extension, one or more browser-executable scripts into the web page in the computer memory as a first script in webpage content to be executed before any other scripts of the webpage content;

using the one or more browser-executable scripts, obtaining data on one or more aspects of the web page by injecting one or more listener callbacks across the webpage content, wherein the data on the one or more aspects comprises metadata and one or more fields collected by the one or more listener callbacks;

sending the data on the one or more aspects of the web page to a second computer for analysis;

receiving from the second computer a risk value corresponding to a potential security risk associated with the one or more aspects of the web page;

based on the risk value, selecting a corrective action from among a plurality of different corrective actions, wherein each different corrective action in the plurality of different corrective actions corresponds to a different risk value associated with the potential security risk; and

executing the corrective action by modifying the web page in the computer memory.

2 . The computer-implemented method of claim 1 , further comprising:

asynchronously executing a background script that is separate from the one or more browser-executable scripts;

sending from the background script the data on the one or more aspects of the web page to a second computer system for analysis;

receiving by the background script the risk value corresponding to the potential security risk associated with the one or more aspects of the web page.

3 . The computer-implemented method of claim 1 , wherein the one or more browser-executable scripts comprise: an observer script that is programmed to read the one or more aspects of the web page; and a manipulation script that is programmed to perform the modifying the web page in the computer memory.

4 . The computer-implemented method of claim 1 , wherein executing the corrective action by modifying the web page in the computer memory comprises automatically generating and causing rendering one or more of: a pop-up window in a graphical user interface; a widget in the graphical user interface.

5 . The computer-implemented method of claim 4 , wherein the pop-up window includes one or more clickable action buttons.

6 . The computer-implemented method of claim 1 , wherein executing the corrective action by modifying the web page in the computer memory comprises blocking loading one or more elements of the web page when the potential security risk is greater than a threshold.

7 . The computer-implemented method of claim 6 , wherein executing the corrective action by modifying the web page in the computer memory comprises causing displaying a notification that includes an explanation of why the one or more aspects was blocked.

8 . The computer-implemented method of claim 1 , wherein the one or more aspects include one or more of links across the web page including references and names; specific element classes; a height of the web page; a size of the web page; a number of links; a number of images; type of fields in the web page such as password fields, email fields, text fields, or telephone fields; type of action buttons; metadata tags; or scripts to which the web page refers, including references and names.

9 . The computer-implemented method of claim 1 , wherein executing the corrective action by modifying the web page in the computer memory comprises at least one of:

removing one or more input fields of the web page that specify entering personally identifiable data;

disabling one or more input fields of the web page that specify entering personally identifiable data;

pausing one or more file upload operations;

pausing one or more file download operations;

disabling one or more file upload operations; or

disabling one or more file download operations.

10 . The computer-implemented method of claim 1 , wherein executing the corrective action by modifying the web page in the computer memory comprises restricting a user from visiting or interacting with the web page, or blocking the user from visiting or interacting with the web page.

11 . One or more non-transitory computer-readable storage media storing one or more sequences of program instructions which, when executed using one or more processors, cause the one or more processors to execute:

detecting that a web browser of a client computer has initiated loading a web page into computer memory of the client computer;

inserting by a browser extension associated with the web browser, one or more browser-executable scripts into the web page in the computer memory as a first script in webpage content to be executed before any other scripts of the webpage content;

using the one or more browser-executable scripts, obtaining data on one or more aspects of the web page by injecting one or more listener callbacks across the webpage content, wherein the data on the one or more aspects comprises metadata and one or more fields collected by the one or more listener callbacks;

sending the data on the one or more aspects of the web page to a second computer for analysis;

receiving from the second computer a risk value corresponding to a potential security risk associated with the one or more aspects of the web page;

based on the risk value, selecting a corrective action from among a plurality of different corrective actions, wherein each different corrective action in the plurality of different corrective actions corresponds to a different risk value associated with the potential security risk; and

executing the corrective action by modifying the web page in the computer memory.

12 . The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute:

asynchronously executing a background script that is separate from the one or more browser-executable scripts;

sending from the background script the data on the one or more aspects of the web page to a second computer system for analysis;

receiving by the background script the risk value corresponding to the potential security risk associated with the one or more aspects of the web page.

13 . The one or more non-transitory computer-readable storage media of claim 11 , wherein the one or more browser-executable scripts comprise: an observer script that is programmed to read the one or more aspects of the web page; and a manipulation script that is programmed to perform the modifying the web page in the computer memory.

14 . The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute the corrective action by modifying the web page in the computer memory comprises automatically generating and causing rendering one or more of: a pop-up window in a graphical user interface; a widget in the graphical user interface.

15 . The one or more non-transitory computer-readable storage media of claim 14 , wherein the pop-up window includes one or more clickable action buttons.

16 . The one or more non-transitory computer-readable storage media of claim 15 , further comprising sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute the corrective action by modifying the web page in the computer memory comprises causing displaying a notification that includes an explanation of why the one or more aspects was blocked.

17 . The one or more non-transitory computer-readable storage media of claim 11 , further sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute the corrective action by modifying the web page in the computer memory comprises blocking loading one or more elements of the web page when the potential security risk is greater than a threshold.

18 . The one or more non-transitory computer-readable storage media of claim 11 , wherein the one or more aspects include one or more of links across the web page including references and names; specific element classes; a height of the web page; a size of the web page; a number of links; a number of images; type of fields in the web page such as password fields, email fields, text fields, or telephone fields; type of action buttons; metadata tags; or scripts to which the web page refers, including references and names.

19 . The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute the corrective action by modifying the web page in the computer memory comprises one or more of:

removing one or more input fields of the web page that specify entering personally identifiable data;

disabling one or more input fields of the web page that specify entering personally identifiable data;

pausing one or more file upload operations;

pausing one or more file download operations;

disabling one or more file upload operations; or

disabling one or more file download operations.

20 . The one or more non-transitory computer-readable storage media of claim 11 , further comprising sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to execute the corrective action by modifying the web page in the computer memory and restricting a user from visiting or interacting with the web page, or blocking the user from visiting or interacting with the web page.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2023
From: BOERNER, RYAN
To: KEEP AWARE, INC.
Reel/Frame 064409/0991 →
Continuity (1)
Related Publication 20250039227A1 · Jan 30, 2025
References Cited (21)
US 8448241B1 · Kadakia · 2013 [cited by applicant]
US 10404662B1 · Ben-Dor · 2019 [cited by examiner]
US 12197516B2 · Mukherjee · 2025 [cited by examiner]
US 20090077565A1 · Frazier · 2009 [cited by examiner]
US 20140317741A1 · Be'ery · 2014 [cited by examiner]
US 20150028131A1 · Joseph et al. · 2015 [cited by applicant]
US 20160335232A1 · Born · 2016 [cited by examiner]
US 20170025739A1 · Caratelli et al. · 2017 [cited by applicant]
US 20180300480A1 · Sawhney · 2018 [cited by examiner]
US 20190354709A1 · Brinskelle · 2019 [cited by applicant]
US 20200137110A1 · Tyler et al. · 2020 [cited by applicant]
US 20200274782A1 · Balaiah · 2020 [cited by applicant]
US 20200311790A1 · Keren · 2020 [cited by examiner]
US 20210097174A1 · Mandal · 2021 [cited by examiner]
US 20220022208A1 · Nakamura et al. · 2022 [cited by applicant]
US 20220217169A1 · Varanda · 2022 [cited by examiner]
US 20220245272A1 · Fleck et al. · 2022 [cited by applicant]
US 20230008412A1 · Barhoumeh et al. · 2023 [cited by applicant]
US 20230129631A1 · Khan · 2023 [cited by examiner]
Yang, Jeong Rok, International Preliminary Report on Patentablity, Application No. PCT/US2024/038247, mailed Nov. 5, 2024, 9 pages, pub. by Korean Intellectual Property Office, Daejeon, Korea. [cited by applicant]
Chatel, Cecile, International Preliminary Report on Patentablity, Application No. PCT/US2024/038247, mailed Feb. 5, 2026, 6 pages, PCT Ib Form 326, pub. by The International Bureau of WIPO, Geneva Switzerland. [cited by applicant]