Advanced Inventory Searches

You can perform simple searches on the Project Inventory tab or in the Analysis Workbench to find inventory items whose names match text strings (or, in the Analysis Workbench, to display only published or non-published inventory). However, Code Insight also provides an Advanced Inventory Search feature that enables you to refine an inventory list to focus on specific inventory. (For details about this feature, see Advanced Inventory Search Dialog, Searching Published Inventory, or Performing Inventory Searches in the Analysis Workbench.)

The Advanced Inventory Search feature offers many combinations of search criteria. The following table, which is arranged by persona (job function or department), presents a number of advanced searches and their typical results.

Sample Advanced Searches

Persona

Search Type

Finds...

Example

Any

By inventory, component, or license keyword

Inventory of interest based on full or partial inventory, component or license name.

Useful when you want a quick search for a specific component or license across all of your inventory items.

Inventory Name = zlib 1.2.8 (zlib/libpng License) 

Inventory Name = zlib 

License Name = EPL 

Any

By criticality (priority)

Most critical inventory that requires security or legal review based on presence of high-severity vulnerabilities or P1 licenses.

Useful when you want to prioritize your inventory review by most important findings.

Option 1: 

Inventory Priority = P1 

Option 2: 

Security Vulnerability Severity = High or License Priority = P1 - Viral/Strong Copyleft 

Any

By review status

Inventory whose status is Approved, Rejected, or Not Reviewed (requires further review.

Useful to identify items that are yet to be reviewed. Also when you are further qualifying other search criteria with an additional expression based on review status.

Inventory Review Status = Approved 

Any

By dependencies

Only dependency inventory items (both first-level and transitive dependencies), only top-level inventory items (excluding all dependency inventory items), or all inventory items.

Useful for focusing on or filtering out dependency inventory items.

Dependency Options = All Inventory Items 

Dependency Options = Only Top-Level Inventory Items 

Only Dependency Inventory Items = Only Dependency Inventory Items 

Any

By inventory age

Inventory created within the specified time range.

Useful to filter to recent inventory items, which is especially valuable when a user logs into Code Insight at a regular interval (daily, weekly, etc.).

Inventory Age = Last 7 Days 

Any

By notification

Published inventory items that have new security vulnerability alerts or that have been rejected due to new non-compliant security vulnerabilities. You can select one or both options.

Useful for filtering to published inventory items that have important new security information or that have been rejected due to new security issues that are non-compliant with policy.

Inventory with Open Alerts = checked 

Inventory Rejected Due to New Non-Compliant Security Vulnerabilities = checked 

Any

By task status

Inventory tasks by their Open or Closed status.

Useful for determining the work required before the inventory review process can be completed. Also useful for locating inventory whose closed tasks might need to be reopened for extra work.

Task Status = Open 

Task Status = Closed 

Any

By task type

Inventory tasks by their type.

Useful for filtering to inventory that requires a manual legal or security review (Manual Inventory Review), source-code changes to make it compliant or secure (Remediate Inventory), or another type of effort (Miscellaneous).

Task Type = Manual Inventory Review 

Task Type = Remediate Inventory 

Task Type = Miscellaneous 

Task Type = Any 

Any

By inventory task age

Inventory tasks created within the specified date range.

Useful for keeping track of new work to be performed on inventory and old work still needs to addressed.

Inventory Tasks Age = Last 7 days 

Inventory Tasks Age = Custom Date Range From: 09/05/2018 To: 10/31/2018 

Any

By inventory task owner

Inventory tasks owned by a specific user.

Useful for determining the workload of a specific user.

Inventory Tasks Owner = Any 

Inventory Tasks Owner = Only mine (current user)

Inventory Tasks Owner = <Username> (selected user)

Analyst, Reviewer

By value in custom inventory fields

Inventory whose custom inventory field values contain a specific string.

<customInventoryFieldLabel> Contains <Search Text>

Analyst, Reviewer

By Confidence Level

Inventory generated with a specific level of confidence (High, Medium, or Low). The level is based on the measure of the strength of the discovery technique used to generate the item. (See Inventory Confidence.)

Useful for determining whether the item should be triaged or reviewed to validate or further refine the finding.

Inventory Confidence Level = High (or Medium or Low)

Security Analyst

By vulnerability ID

Inventory with a specific vulnerability (NVD CVE or Secunia Advisory).

Useful when you are looking for inventory exposing you to a specific security issue, typically a newsworthy event.

Security Vulnerability ID = SA71946 

Security Analyst

By security risk exposure

Inventory containing security vulnerabilities of a specified severity.

Useful to filter to inventory items that require immediate attention based on your corporate security policy. For example, we must address all high-severity security issues in the current release.

Security Vulnerability Severity = High 

Security Analyst

By security vulnerability age

Inventory with new security vulnerabilities since a specified date.

Useful to see which inventory items have new security vulnerabilities reported against them based on the specified date range.

Security Vulnerability Age = Last day 

Security Analyst

By security risk exposure and vulnerability age

Inventory with new security vulnerabilities of a specified severity since a specified date.

Useful to see which inventory items have new security vulnerabilities reported against them based on the specified date range and a certain severity.

Security Vulnerability Age = Last day and Security Vulnerability Severity = High 

Security Analyst

By inventory alert

Published inventory items that have new security vulnerability alerts or that have been rejected due to new non-compliant security vulnerabilities. You can select one or both options.

Useful for filtering to inventory items that have important new security information or that have been rejected due to new security issues that are non-compliant with policy.

Inventory with Open Alerts = checked 

Inventory Rejected Due to New Non-Compliant Security Vulnerabilities = checked 

Security Analyst

By new vulnerabilities (requires re-review)

Inventory that has gained a new security vulnerability since a specified date.

Useful to determine which inventory items require another look from a security analyst due to new associated vulnerabilities.

Review Status = Approved and Security Vulnerability Age = Last 7 days 

Legal

By license risk exposure

Most critical inventory that requires legal review (contains a P1 license - Viral/Strong Copyleft).

Useful to prioritize legal work based on license classification.

License Priority = P1 - Viral/Strong Copyleft 

Analyst

By inventory that requires a re-review based on missing license

Approved inventory with a missing license.

Useful to catch scenarios where items were approved without an associated license. This should be a rare event.

Inventory Review Status = Approved and License Priority = No License Found 

Eng. Mgr./Final Reviewer

Stop shipment!

Approved inventory that may require a stop shipment due to high severity vulnerability or P1 license.

Useful to identify cases that would break the build. These are items that were approved at the time of review, but since then have a different license or high-severity vulnerability.

Inventory Review Status = Approved or License Priority = P1 - Viral/Strong Copyleft or Security Vulnerability Severity = High