IP Library › Granted Patent US 12,260,212
Granted Patent B2
US 12,260,212 · App. 18/180,955 · Granted Mar 25, 2025

Disabling a script based on indications of unsuccessful execution of the script

Inventors: Joshua Edwards (McLean, VA); Vu Nguyen (McLean, VA); Adam Vukich (McLean, VA); Mykhaylo Bulgakov (McLean, VA); Abdelkadar M'Hamed Benkreira (McLean, VA); David Gabriele (McLean, VA); Andrea Montealegre (McLean, VA); George Bergeron (McLean, VA)
Assignee: Capital One Services, LLC
G06F8/71H04L67/34G06F8/60G06F8/61G06F8/65G06F8/70H04L67/01
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,260,212
App. No.
18/180,955
Granted
Mar 25, 2025
Kind
B2
Abstract

In some implementations, a server device may receive, from a client device, a script identifier, that identifies a script, and an indication of whether the script was successfully executed by the client device. The server device may determine whether a condition associated with disabling the script is satisfied based on the script identifier, the indication of whether the script was successfully executed by the client device, and stored information determined based on a plurality of indications of whether the script was successfully executed by a plurality of other client devices. The server device may selectively cause a data structure to be updated to indicate that the script is disabled based on determining whether the condition is satisfied. The data structure may be used to indicate whether the script is enabled prior to execution of the script.

Claims (71)

1. A method, comprising:

identifying, by a first device and based on detecting navigation to a domain included in a list of domains associated with execution of one or more scripts, a script associated with the one or more scripts;

determining, by the first device, that the script failed to successfully execute a threshold number of times by a second device;

disabling, by the first device and based on determining that the script failed to successfully execute the threshold number of times, the script;

transmitting data indicating that the script is disabled,

wherein the data causes a third device to refrain from executing the script;

determining, by the first device, that an updated script is available;

transmitting, by the first device, based on the script being disabled, and based on determining whether the updated script is available, the updated script;

transmitting a validation request associated with the updated script; and

receiving a response to the validation request indicating that the updated script is enabled.

2. The method of claim 1 , wherein one or more older versions related to the script are disabled based on transmitting data indicating that the updated script is enabled.

3. The method of claim 1 , wherein determining that the script failed to successfully execute the threshold number of times is associated with at least one of:

determining that the script failed to successfully execute the threshold number of times in a time period,

determining that the script failed to successfully execute the threshold number of times in a row, or

determining that the script failed to successfully execute the threshold number of times based on a set of reasons.

4. The method of claim 1 , wherein the determination that the script failed to successfully execute the threshold number of times is performed periodically.

5. The method of claim 1 , further comprising:

requesting, prior to executing the script in connection with detecting navigation to the domain, validation of the script.

6. The method of claim 1 , wherein the validation request comprises script identification information and version information.

7. The method of claim 1 , further comprising:

determining whether the script is enabled.

8. A first device, comprising:

one or more memories; and

one or more processors, coupled to the one or more memories, configured to:

identify, based on detecting navigation to a domain included in a list of domains associated with execution of one or more scripts, a script associated with the one or more scripts;

determine that the script failed to successfully execute a threshold number of times by a second device;

disable, based on determining that the script failed to successfully execute the threshold number of times, the script;

transmitting data indicating that the script is disabled,

wherein the data causes a third device to refrain from executing the script;

determine that an updated script is available;

transmit, based on the script being disabled, and based on determining whether the updated script is available, the updated script,

transmitting a validation request associated with the updated script; and

receiving a response to the validation request indicating that the updated script is enabled.

9. The first device of claim 8 , wherein one or more older versions related to the script are disabled based on transmitting data indicating that the updated script is enabled.

10. The first device of claim 8 , wherein determining that the script failed to successfully execute the threshold number of times is associated with at least one of:

determining that the script failed to successfully execute the threshold number of times in a time period,

determining that the script failed to successfully execute the threshold number of times in a row, or

determining that the script failed to successfully execute the threshold number of times based on a set of reasons.

11. The first device of claim 8 , wherein the determination that the script failed to successfully execute the threshold number of times is performed periodically.

12. The first device of claim 8 , wherein the one or more processors are further configured to:

request, prior to executing the script in connection with detecting navigation to the domain, validation of the script.

13. The device of claim 8 , wherein the validation request comprises script identification information and version information.

14. The device of claim 8 , wherein the one or more processors are further configured to:

determine whether the script is enabled.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a first device, cause the first device to:

identify, based on detecting navigation to a domain included in a list of domains associated with execution of one or more scripts, a script associated with the one or more scripts;

determine that the script failed to successfully execute a threshold number of times by a second device;

disable, based on determining that the script failed to successfully execute the threshold number of times, the script;

transmitting data indicating that the script is disabled,

wherein the data causes a third device to refrain from executing the script;

determine that an updated script is available;

transmit, based on the script being disabled and based on determining whether the updated script is available, the updated script

transmitting a validation request associated with the updated script; and

receiving a response to the validation request indicating that the updated script is enabled.

16. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the first device to:

transmit data indicating that the script is disabled,

wherein the data causes a third device to refrain from executing the script.

17. The non-transitory computer-readable medium of claim 15 , wherein determining that the script failed to successfully execute the threshold number of times is associated with at least one of:

determining that the script failed to successfully execute the threshold number of times in a time period,

determining that the script failed to successfully execute the threshold number of times in a row, or

determining that the script failed to successfully execute the threshold number of times based on a set of reasons.

18. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the first device to:

transmit a validation request associated with the updated script; and

receive a response to the validation request indicating that the updated script is enabled.

19. The non-transitory computer-readable medium of claim 15 , wherein the determination that the script failed to successfully execute the threshold number of times is performed periodically.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the first device to:

request, prior to executing the script in connection with detecting navigation to the domain, validation of the script.

21. The non-transitory computer-readable medium of claim 15 , wherein the validation request comprises script identification information and version information.

22. The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the first device to:

determine whether the script is enabled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2023
From: EDWARDS, JOSHUA; NGUYEN, VU; VUKICH, ADAM; BULGAKOV, MYKHAYLO; BENKREIRA, ABDELKADAR M'HAMED; GABRIELE, DAVID; MONTEALEGRE, ANDREA; BERGERON, GEORGE
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 063594/0786 →
Continuity (4)
Continuation 17453682 · Nov 5, 2021
Continuation 16585230 · Sep 27, 2019
Continuation 16280680 · Feb 20, 2019
Related Publication 20230221952A1 · Jul 13, 2023
References Cited (14)
US 10459719B1 · Edwards et al. · 2019 [cited by applicant]
US 11182153B2 · Edwards et al. · 2021 [cited by applicant]
US 11614933B2 · Edwards et al. · 2023 [cited by applicant]
US 20050125461A1 · Filz · 2005 [cited by applicant]
US 20080313611A1 · Linville · 2008 [cited by examiner]
US 20150331779A1 · Subramaniam · 2015 [cited by applicant]
US 20160004628A1 · Gugri · 2016 [cited by applicant]
US 20170052776A1 · Kotian · 2017 [cited by applicant]
US 20170132000A1 · Voigt et al. · 2017 [cited by applicant]
US 20190278694A1 · Tucker et al. · 2019 [cited by applicant]
US 20190340109A1 · Barron-Kraus et al. · 2019 [cited by applicant]
Doupe A., et al., “deDacota: Toward Preventing Server-Side XSS via Automatic Code and Data Separation,” ACM, 2013, pp. 1205-1216, [Retrieved online on Aug. 6, 2019], Retrieved from the Internet [URL: http://delivery.acm… [cited by applicant]
Evans, “Understanding and Monitoring Embedded Web Scripts,” 2015 IEEE Symposium on Security and Privacy, 2015, pp. 850-865, doi: 10.1109/SP.2015.57. [cited by applicant]
Hosek P., et al., “Safe Software Updates via Multi-version Execution,” 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA, 2013, pp. 612-621. [retrieved on Jul. 26, 2021] Retrieved… [cited by applicant]