Affected Pipelines
Track which CI/CD pipelines use blocked dependencies, trace transitive dependency chains, and set up the Harness CLI for dependency graph generation.
The Affected Pipelines tab in Dependency Firewall shows which CI/CD pipelines have encountered blocked dependencies. Use this view to identify impacted pipelines, trace transitive dependency chains back to their root package, and understand which direct dependency to update or replace.
Before you begin
Dependency Firewall is enabled on your upstream proxy registry. Go to Enable Dependency Firewall to set it up.
Harness CLI (hc) v1.3.18 or later is installed. Go to Install the Harness CLI to install it.
Your pipeline uses the
hc artifactinstall wrappers instead of native install commands. Native commands (npm install,mvn install) do not generate dependency graph data.
Understand the execution flow
The Harness CLI install wrappers (hc artifact npm install, hc artifact mvn install, etc.) execute a four-phase flow:
Run native install: Execute the native package manager (
npm,mvn,pip,dotnet) to install dependencies through the configured upstream proxy.Generate dependency graph: Parse the lockfile or resolution output to build a full dependency tree with transitive relationships.
Upload build info: Send the dependency graph and pipeline context to Harness via the build-info API, linking the pipeline execution to every resolved package.
Handle firewall blocks: If any package returns a 403 (blocked by Dependency Firewall), display a detailed error showing the policy violation and dependency chain.
The dependency graph resolution strategy varies by package manager:
npm
npm install --package-lock-only
package-lock.json
Maven
mvn dependency:tree
Stdout (indented tree)
pip
pip install --dry-run --report report.json
report.json
NuGet
dotnet restore
project.assets.json
Configure pipeline context
When running inside a Harness CI pipeline, the CLI automatically captures pipeline context from environment variables:
HARNESS_PIPELINE_ID
Pipeline identifier
HARNESS_BUILD_ID
Execution identifier
HARNESS_STAGE_ID
Stage identifier
ORG_IDENTIFIER
Organization
PROJECT_IDENTIFIER
Project
This context links the dependency graph to the specific pipeline execution, enabling the Affected Pipelines view.
View Affected Pipelines
Select the Affected Pipelines tab in the Dependency Firewall dashboard.

The summary cards show:
Affected pipelines: Total number of pipelines that have encountered blocked dependencies.
Blocked dependencies: Total count of blocked packages across all affected pipelines.
Failed policy sets: Number of distinct policy sets that triggered violations.
The table lists each affected pipeline with:
Pipeline
Pipeline name and execution ID.
Project
The project the pipeline belongs to.
Violations
Number of blocked packages in this execution.
Categories
Policy categories that triggered violations (SECURITY, PACKAGE AGE, LICENSE).
Last Affected
When this pipeline last encountered a blocked dependency.
Expand a pipeline row to see the individual blocked packages, their versions, violation categories, and the upstream registry that evaluated them.
View pipelines for a specific package
From the Violation Details sidebar on any blocked package, the Affected Pipelines section shows how many pipelines depend on this package. Select View pipelines to see the filtered list.

This view shows only the pipelines that depend on that specific package and version, along with the policy sets that blocked it.
Trace the root package (Pulled in By)
The Pulled in By section in the Violation Details sidebar shows which root package is downloading the vulnerable package. This tells you which of your direct dependencies is responsible for pulling in the flagged transitive dependency.
Each entry displays:
For example, if bytes@3.1.2 is blocked and pulled in by two different root packages:
hc-npm-install-test@1.0.0→bytes@3.1.2tyest-1@1.0.0→bytes@3.1.2
This helps you identify which root dependency to update or replace to resolve the violation.
Set up dependency tracking
To populate Affected Pipelines and Pulled in By data, use the Harness CLI install wrappers in your pipeline.
Supported commands
npm
hc artifact npm install
npm install
npm
hc artifact npm ci
npm ci
Maven
hc artifact mvn install
mvn install
Python
hc artifact pip install
pip install
NuGet/.NET
hc artifact dotnet restore
dotnet restore
All other subcommands are passed through to the native tool without firewall evaluation or dependency graph generation.
Pipeline example (npm)
Pipeline example (Maven)
Pipeline example (Python)
Pipeline example (dotnet)
Understand blocked package behavior
When the CLI encounters blocked packages during install:
The native install fails with HTTP 403 (Dependency Firewall blocks the package at the upstream proxy).
The CLI resolves the full dependency tree from the lockfile or manifest, including transitive dependencies.
The CLI evaluates all resolved packages against firewall policies and displays detailed results:
Build info (dependency graph with all node relationships) is uploaded to Harness regardless of whether the install succeeded or failed.
The pipeline execution appears in the Affected Pipelines tab even if the install fails. This gives you visibility into which pipelines are blocked and by which dependencies, enabling faster remediation.
Troubleshooting
Next steps
Go to Configure Policies and Policy Sets to adjust the policies causing violations.
Go to Dependency Exemptions to request temporary access to a blocked package while you plan remediation.
Go to Audit dependencies with Dependency Firewall to audit a manifest or lock file before your pipeline runs.
Go to Manage artifacts and registries with the CLI for full CLI reference.
Last updated
Was this helpful?