π Vulnerability Manager β User Guide
Welcome to the PortX Vulnerability Manager! This feature surfaces and prioritizes security findings across your deployments. It automatically correlates your current GitOps-deployed image versions with findings from AWS Inspector2, so you always see vulnerabilities for exactly what is running β not stale or undeployed images.
π How to Access the Vulnerability Managerβ
- Go to Operations β Deployments in the Integration Manager sidebar.
- Select the Vulnerabilities tab (next to Applications).
- The vulnerability list loads automatically for the currently selected environment.
π The Vulnerability Listβ
Each row in the list represents a single finding for a specific deployed image. The table shows:
| Column | Description |
|---|---|
| Severity | Color-coded badge: CRITICAL (red), HIGH / MEDIUM (amber), LOW / INFORMATIONAL / UNTRIAGED (neutral) |
| CVE | The vulnerability identifier (e.g., CVE-2024-1234) |
| Title | Short description of the vulnerability (hover for full text) |
| Image | repository:tag of the affected deployed image (hover for full value) |
| Fix | YES (green) Β· PARTIAL (amber) Β· NO (red β) β whether a patched version exists |
| Exploit | Shield icon (amber) when a known exploit exists; hover shows the EPSS score |
| Last seen | When AWS Inspector last observed this finding |
Sortingβ
Click any column header to sort. Click again to reverse direction. Default sort is Severity descending (most critical first).
Filteringβ
Use the faceted filter controls above the table to narrow results:
- Severity β filter by one or more severity levels
- Fix β filter by fix availability (
YES,PARTIAL,NO) - Image β filter to a specific
repository:tag
Filters combine with AND across facets and OR within a facet. Click β Reset to clear all active filters.
Paginationβ
Use the page size selector (10 / 20 / 50 rows) and the pagination controls below the table to navigate large result sets. Your preferred page size is remembered across sessions.
π Vulnerability Detail Pageβ
Click any row to open the full detail view. The breadcrumb reads Operations β Deployments β Vulnerabilities β [CVE ID] and shows the following sections:
Overviewβ
| Field | Description |
|---|---|
| Image | repository:tag of the affected image |
| Digest | Exact sha256 digest of the scanned image (when available) |
| First seen | When Inspector first observed this finding |
| Last seen | When Inspector last observed this finding |
| Inspector score | AWS Inspector severity score (0β10); higher means more severe |
| EPSS | Exploit Prediction Scoring System β probability (0β1) the vulnerability will be exploited in the wild within the next 30 days |
Descriptionβ
Full text of the vulnerability description from AWS Inspector (shown only when available).
Fixβ
| Field | Description |
|---|---|
| Available | YES, PARTIAL, or NO |
| Recommendation | Suggested remediation text (when provided) |
| Docs | External link to fix documentation (when provided) |
This section is hidden when Fix: NO and no recommendation or documentation link is present.
Affected Packagesβ
A table listing each vulnerable package with its Name, Version, Fixed in version (when known), and Package manager.
Referencesβ
Links to CVE advisories and related documentation. Duplicate URLs are automatically deduplicated.
βοΈ How It Worksβ
The Vulnerability Manager resolves your current vulnerability exposure in three steps on every request:
- GitOps version lookup β The platform reads your tenant's GitOps repository to determine which image tag is currently deployed for each app in the selected environment.
- ECR digest resolution β Each deployed
(repository, tag)pair is resolved to its exact image digest viaecr:BatchGetImage. Multi-arch (manifest-list) images are automatically expanded to their individual platform digests. - Inspector2 scan β AWS Inspector2 is queried for findings matching those exact digests. Results are severity-sorted and returned.
Results are cached for 30 seconds per environment per pod. To force a fresh fetch immediately after a deployment, click Retry in the error banner or navigate away and back to the tab.
Note: Because caching is local to each backend pod, some requests may hit a pod with a cold cache and take longer. This is expected behavior.
π Identifying Vulnerabilitiesβ
There are two ways to identify vulnerabilities in your deployed services:
Option 1 β Vulnerability Manager (Recommended)β
Use the Vulnerabilities tab within Deployments to view Inspector findings scoped to exactly what is deployed in the selected environment.
Option 2 β AWS Inspector (Out-of-band)β
For a deeper or unfiltered view:
- Navigate to Manage β AWS Console β AWS Inspector service.
- Find your API in the Inspector findings list.
- Review the full vulnerability report for your deployed image.
π Remediating Vulnerabilities β System Patching Processβ
When vulnerabilities are identified, use the following process to patch and rebuild your service.
Step 1 β Identify the Vulnerabilitiesβ
Use either the Vulnerability Manager or AWS Inspector (described above) to get a full list of findings before beginning remediation.
Step 2 β Update Your Build Templateβ
Once vulnerabilities are identified, update your build pipeline:
- Use the appropriate Golden Images as your base image. These are rebuilt nightly: Install from the command line $ docker pull ghcr.io/portx-labs/golden-temurin:latest Use as base image in Dockerfile: FROM ghcr.io/portx-labs/golden-temurin:latest
- Add an
apt-get updatestep (or equivalent) to your image build to ensure the latest OS-level packages are applied on top of the Golden Image.
Step 3 β Rebuild in Dev Firstβ
Always rebuild and validate in the DEV environment before promoting to STG or PROD.
- Most OS-level patches will be pulled in automatically via the updated Golden Images:
- Running
apt-get update(or your distro's equivalent) during the build ensures any remaining system packages are current.
Note: Rebuild your image with
provenance: falseset in your build configuration to ensure the resulting image is discoverable by the Vulnerability Manager.
Step 4 β Patch Application-Level Dependenciesβ
For dependencies that are not covered by OS-level updates:
- For any package that cannot be updated, coordinate with your security contact to document the justification for the exception.
Step 5 β Improve Test Coverageβ
To work toward more automated patching in the future:
- Use AI-assisted tooling to expand your application test suite.
- Higher test coverage increases confidence in automated or low-touch patching when all tests pass.
β Summaryβ
| Step | Action | Details |
|---|---|---|
| 1 | Identify vulnerabilities | Use Vulnerability Manager or AWS Inspector |
| 2 | Update build template | Switch to Golden Images base |
| 3 | Rebuild in Dev | Validate before promoting; set provenance: false in build config |
| 4 | Patch app dependencies | Use the Patching Dependency Matrix; register exceptions in Vanta |
| 5 | Improve test coverage | Increase automated test coverage to enable safer future patching |
β οΈ Important Notesβ
provenance: falsemust be set in your build configuration for the image to be discoverable in the Vulnerability Manager.- Always start remediation in DEV, then promote through STG to PROD after validation.
- Packages that cannot be patched must be tracked as exceptions in Vanta with documented justification.
Need assistance? Reach out to PortX support or your internal security team.