IP Library Granted Patent US 12,547,601
Granted Patent B2
US 12,547,601 · App. 18/672,758 · Granted Feb 10, 2026

Populating multi-layer technology product catalogs

Inventors: Gal Kozoshnik (Petah Tikva, IL); Raaz Herzberg (Tel Aviv, IL); Yinon Costica (Tel Aviv, IL); Yaniv Shaked (Tel Aviv, IL); Daniel Klein (Tel Aviv, IL); Ami Luttwak (Binyamina, IL)
Assignee: Wiz, Inc.
G06F16/23G06Q10/087
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,547,601
App. No.
18/672,758
Granted
Feb 10, 2026
Kind
B2
Abstract

A method and system for populating multi-layer technology product catalogs are provided. The method includes scanning an environment executing a software project to collect hints on technology products required for the execution of the software project; mapping the collected hints to identifiers of technology products to identify technology products required for the execution of the software project; analyzing each of the identified technology products to determine a set of descriptors identifying certain attributes of a technology product; classifying each of the identified technology products to at least one technology layer, wherein a technology layer represents the functionality of a technology product; populating a technology product catalog to including a plurality of entries, wherein each entry is associated with a single technology product and marinates the set of descriptors and the least one technology layer associated with the technology product; and saving the populated technology product catalog in a database.

Claims (64)

1 . A method for populating multi-layer technology product catalogs, comprising:

performing static analysis on a technology product code required for execution of a software project executed in a computing environment;

collecting hints on the technology product code;

mapping a collected hint to an identifier of a technology product required for execution of the software project;

determining a set of descriptors identifying an attribute of a technology product;

classifying the technology product to at least one technology layer, wherein a technology layer represents a functionality of a technology product;

populating a technology product catalog to including a plurality of entries, wherein each entry is associated with a single technology product and maintains the set of descriptors and the least one technology layer; and

saving the populated technology product catalog in a database.

2 . The method of claim 1 , further comprising:

analyzing the technology product to determine the set of descriptors.

3 . The method of claim 1 , further comprising:

validating an identity of each of the identified technology products.

4 . The method of claim 1 , further comprising:

scanning a cloud infrastructure on which the computing environment is deployed.

5 . The method of claim 4 , further comprising:

scanning the cloud infrastructure for any one of: a cloud workload, and the product code, wherein the cloud infrastructure, the cloud workloads, and the product code are included in the executing environment.

6 . The method of claim 1 , further comprising:

scanning a disk of a machine executing the project code.

7 . The method of claim 1 , further comprising:

scanning a snapshot of the project code.

8 . The method of claim 1 , further comprising:

scanning an image of the project code.

9 . The method of claim 1 , further comprising:

utilizing a different static analysis technique for a different type of a technology product.

10 . The method of claim 1 , further comprising:

querying an external security source to determine a security descriptor, wherein the security descriptor includes at least a variability associated with the technology product.

11 . A non-transitory computer-readable medium storing a set of instructions for populating multi-layer technology product catalogs, the set of instructions comprising:

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

perform static analysis on a technology product code required for execution of a software project executed in a computing environment;

collect hints on the technology product code;

map a collected hint to an identifier of a technology product required for execution of the software project;

determine a set of descriptors identifying an attribute of a technology product;

classify the technology product to at least one technology layer, wherein a technology layer represents a functionality of a technology product;

populate a technology product catalog to including a plurality of entries, wherein each entry is associated with a single technology product and maintains the set of descriptors and the least one technology layer; and

save the populated technology product catalog in a database.

12 . A system for populating multi-layer technology product catalogs comprising:

a processing circuitry;

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

perform static analysis on a technology product code required for execution of a software project executed in a computing environment;

collect hints on the technology product code;

map a collected hint to an identifier of a technology product required for execution of the software project;

determine a set of descriptors identifying an attribute of a technology product;

classify the technology product to at least one technology layer, wherein a technology layer represents a functionality of a technology product;

populate a technology product catalog to including a plurality of entries, wherein each entry is associated with a single technology product and maintains the set of descriptors and the least one technology layer; and

save the populated technology product catalog in a database.

13 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to

analyze the technology product to determine the set of descriptors.

14 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

validate an identity of each of the identified technology products.

15 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

scan a cloud infrastructure on which the computing environment is deployed.

16 . The system of claim 15 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

scan the cloud infrastructure for any one of:

a cloud workload, and the product code, wherein the cloud infrastructure, the cloud workloads, and the product code are included in the executing environment.

17 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

scan a disk of a machine executing the project code.

18 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

scan a snapshot of the project code.

19 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

scan an image of the project code.

20 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

utilize a different static analysis technique for a different type of a technology product.

21 . The system of claim 12 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

query an external security source to determine a security descriptor, wherein the security descriptor includes at least a variability associated with the technology product.

Continuity (2)
Continuation 17190148 · Mar 2, 2021
Related Publication 20240311359A1 · Sep 19, 2024
References Cited (25)
US 6463530B1 · Sposato · 2002 [cited by examiner]
US 8447728B2 · Prahlad et al. · 2013 [cited by applicant]
US 9589293B1 · Yalamanchi · 2017 [cited by applicant]
US 9824378B2 · Ogrinz et al. · 2017 [cited by applicant]
US 11425217B1 · Gilat et al. · 2022 [cited by applicant]
US 11537400B1 · Zhang et al. · 2022 [cited by applicant]
US 11553003B2 · O'Neil et al. · 2023 [cited by applicant]
US 20030014476A1 · Peterson · 2003 [cited by examiner]
US 20040004967A1 · Nakatsugawa · 2004 [cited by examiner]
US 20040139206A1 · Claudatos et al. · 2004 [cited by applicant]
US 20070112834A1 · Farr · 2007 [cited by examiner]
US 20070169168A1 · Lim · 2007 [cited by examiner]
US 20070282693A1 · Staib et al. · 2007 [cited by applicant]
US 20100138479A1 · Zhu · 2010 [cited by examiner]
US 20100280863A1 · Wilcock et al. · 2010 [cited by applicant]
US 20160036905A1 · Syed et al. · 2016 [cited by applicant]
US 20170006064A1 · Agarwal et al. · 2017 [cited by applicant]
US 20190327154A1 · Sahoo et al. · 2019 [cited by applicant]
US 20200153703A1 · Peterkin · 2020 [cited by applicant]
US 20210182366A1 · Fan et al. · 2021 [cited by applicant]
US 20210406152A1 · Quemy · 2021 [cited by applicant]
US 20220012335A1 · Hicks et al. · 2022 [cited by applicant]
US 20220035809A1 · Kadiyala et al. · 2022 [cited by applicant]
US 20220129561A1 · Shivanna et al. · 2022 [cited by applicant]
Wikipedia contributors. (May 29, 2025). Static program analysis. Wikipedia, The Free Encyclopedia. http://en.wikipedia.org/w/index.php?title=Static_program_analysis&oldid=1292971924. [cited by applicant]