IP Library Granted Patent US 12,050,696
Granted Patent B2
US 12,050,696 · App. 18/186,688 · Granted Jul 30, 2024

Agent-based vulnerability management

Inventors: Mark Pieno (Tualatin, OR); Tyler Reguly (Toronto, CA); Darlene Hibbs (London, CA); Craig Young (Alpharetta, GA); Lane Thames (Atlanta, GA); Jamaal Scarlett (Alpharetta, GA); Lamar Bailey (Cumming, GA); Miles Budnek (Alpharetta, GA); Bob Terhune (Portland, OR); Jon Loucks (Tualatin, OR)
Assignee: TRIPWIRE, INC.
G06F21/577G06F9/44505G06F16/24552G06F2221/034
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,050,696
App. No.
18/186,688
Granted
Jul 30, 2024
Kind
B2
Abstract

Apparatus and methods for analyzing vulnerabilities with an agent executing on a computer host using a vulnerability scanner and vulnerability server are disclosed. In one example a method comprises, with a vulnerability scanner, searching for data associated with a vulnerability test (for example, the command that initiates the test) to determine whether the data associated with the vulnerability is available or not available. When the data associated with the vulnerability test is available in a vulnerability scanner database, the vulnerability scanner provides prior scan results generated using one or more commands specified by the data to a vulnerability aggregation server. When the data associated with the vulnerability test is not available in the vulnerability scanner database, the vulnerability scanner performs a scan of the host to obtain results associated with the vulnerability test.

Claims (53)

1. A method comprising:

by a vulnerability scanner, sending a prequalifier indicator indicating a prequalifier conditional associated with a vulnerability test to a host;

by the host, comparing a configuration aspect of the host to the prequalifier conditional; and

in response to the comparing indicating that the configuration aspect is suitable for the prequalifier condition:

by the vulnerability scanner, searching for first data associated with the vulnerability test performed by an agent executing on the host to determine whether the first data associated with the vulnerability is available or not available;

when the first data associated with the vulnerability test is available in a vulnerability scanner database, providing second data generated by vulnerability test operations specified by the first data to a vulnerability aggregation server; and

when the first data associated with the vulnerability test is not available in the vulnerability scanner database, performing a scan of the host to obtain second data associated with the vulnerability test.

2. The method of claim 1 , further comprising:

by the vulnerability scanner, receiving first data from a host comprising data generated by performing a vulnerability test on the host with an agent and storing the first data in a vulnerability scanner database.

3. The method of claim 1 , further comprising:

by the vulnerability scanner, sending the first data or the second data to a vulnerability aggregation server.

4. The method of claim 1 , wherein the first data comprises commands and the second data comprises system characteristics.

5. The method of claim 1 , wherein the first data comprises execution results generated by executing at least one command encoded within an OVAL file.

6. The method of claim 1 , further comprising performing the scan during a time period when the vulnerability server does not have an active network connection to the host.

7. The method of claim 1 , wherein the prequalifier conditional indicates an operating system, an operating system version, an application, or an application version installed on the host.

8. The method of claim 1 , further comprising:

searching for the data by using a description of the vulnerability test as a search key.

9. The method of claim 8 , further comprising:

performing the scan by executing operations specified by the search key.

10. The method of claim 8 , further comprising:

providing the search key to the agent for executing the search key.

11. A non-transitory computer-readable storage media storing computer-executable instructions, which when executed, cause a computer to perform a method, the instructions comprising:

instructions that cause the computer to sending a prequalifier indicator indicating a prequalifier conditional associated with a vulnerability test to a host; and

in response to a comparison of the prequalifier conditional and a configuration aspect of the host by the host indicating that the configuration aspect is suitable for the prequalifier condition:

instructions that cause the computer to invoke a database search for first data associated with a vulnerability test to determine whether the first data precludes scanning a host;

when the first data associated with the vulnerability test is available in a vulnerability scanner database, providing the first data to a vulnerability aggregation server; and

when the first data associated with the vulnerability test is not available in the vulnerability scanner database, performing a scan of the host to obtain second data associated with the vulnerability test.

12. The non-transitory computer-readable storage media of claim 11 , wherein the first data comprises a registry entry or file attribute.

13. The non-transitory computer-readable storage media of claim 11 , wherein the first data comprises a description of the vulnerability test comprising an instruction executed by the host as part of the performing the scan.

14. The non-transitory computer-readable storage media of claim 11 , wherein the first data or the second data comprise OVAL data.

15. An apparatus, comprising:

at least one processor; memory; and

a non-transitory computer-readable storage media storing computer-executable instructions, which when executed, cause a computer to perform a method, the instructions comprising:

instructions that cause the computer to sending a prequalifier indicator indicating a prequalifier conditional associated with a vulnerability test to a host; and

in response to a comparison of the prequalifier conditional and a configuration aspect of the host by the host indicating that the configuration aspect is suitable for the prequalifier condition:

instructions that cause the computer to invoke a database search for first data associated with a vulnerability test to determine whether the first data precludes scanning a host;

when the first data associated with the vulnerability test is available in a vulnerability scanner database, providing the first data to a vulnerability aggregation server; and

when the first data associated with the vulnerability test is not available in the vulnerability scanner database, performing a scan of the host to obtain second data associated with the vulnerability test.

16. A method comprising:

by a host, receiving a prequalifier indicator indicating a prequalifier conditional associated with a vulnerability test from a vulnerability scanner;

by the host, comparing a configuration aspect of the host to the prequalifier conditional; and

in response to the comparing indicating that the configuration aspect is suitable for the prequalifier condition:

by the host, executing at least one command specified by an input command file; and

by the host, sending results from the executing the at least one command to a vulnerability scanner to store the results in a cache at the vulnerability scanner as a key-value pair, wherein the at least one command is the key of the pair, and the results are the value of the pair.

17. The method of claim 16 , further comprising, by the vulnerability scanner:

searching for a result in the cache using a key; and

when data associated with the key is not available or is determined to be invalid, causing the host to execute the at least one command.

18. The method of claim 17 , wherein the host executes the at least one command when the host does not have an active network connection to the vulnerability scanner.

19. The method of claim 16 , further comprising, by the vulnerability scanner, and responsive to receiving the results from the host:

storing the results in the cache at the vulnerability scanner; sending a prequalifier description to the host;

receiving from the host a description of the host; and

based on the description, selecting the at least one command to be sent to the host.

20. The method of claim 16 , wherein the key specifies a vulnerability test expressed using OVAL.

Assignments (5)
SECURITY INTEREST Recorded Jan 6, 2026
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 074233/0632 →
EXTENDED RCF FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: TRIPWIRE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0639 →
EXTENDED FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: TRIPWIRE, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073664/0124 →
NEW MONEY FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.; VERA SECURITY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 073683/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: REGULY, TYLER; HIBBS, DARLENE; THAMES, LANE; SCARLETT, JAMAAL; BUDNEK, MILES; LOUCKS, JON
To: TRIPWIRE, INC.
Reel/Frame 068539/0954 →
Continuity (3)
Continuation 16895928 · Jun 8, 2020
Provisional Application 62858662 · Jun 7, 2019
Related Publication 20230229788A1 · Jul 20, 2023
Cited By (31)
US 12,212,586 US 12,217,079 US 12,219,048 US 12,219,053 US 12,244,627 US 12,244,634 US 12,267,326 US 12,277,216 US 12,278,819 US 12,278,825 US 12,278,840 US 12,278,897 US 12,284,220 US 12,287,899 US 12,353,474 US 12,395,488 US 12,406,071 US 12,411,937 US 12,411,957 US 12,443,720 US 12,443,722 US 12,489,781 US 12,495,049 US 12,505,200 US 12,506,755 US 12,524,550 US 12,531,881 US 12,547,765 US 12,579,251 US 12,645,785 US 12,688,277