How to Monitor Supply Chain Violations and Respond to Blocked Packages

Intermediate 20 minutes Security Engineers / Compliance Teams Monitoring & Compliance

Use the violations dashboard, filter by severity, review violation history, and create exceptions for approved packages.

Overview

When Chainsaw blocks a package due to a policy violation, it records the event with full context — the package, version, policy that triggered, client that requested it, and the severity. This tutorial covers how to monitor violations, investigate them, and create exceptions when a blocked package is actually needed.

Prerequisites

  • At least one active blocking policy (see Tutorial 04)
  • Admin or Manager role in Chainsaw

Step 1: View Violations on the Dashboard

Navigate to the Overview page. The top-level KPIs include:

  • Total violations in the selected time range
  • Violations by severity (critical, high, medium, low)
  • Violation trend chart
Violations KPIs on the overview dashboard
The overview dashboard shows violation counts and severity breakdown

Filter by Time Range

Use the time range selector to view violations over different periods:

  • Last 7 days
  • Last 30 days
  • Last 90 days
Time range filter for violations
Adjust the time range to see violation trends over different periods

Step 2: Investigate Individual Violations

Click into a violation to see the full context:

FieldDescription
PackageName and version that was blocked
RepositoryWhich registry the request targeted
PolicyThe policy rule that triggered the block
ClientThe credential that made the request
SeverityCritical, high, medium, or low
TimestampWhen the violation occurred
Violation detail view
Full context for a blocked package request

Step 3: Review Violation History

For packages that have been blocked multiple times, review the history to understand patterns:

  • Is the same client repeatedly hitting this block?
  • Is the package being requested across multiple teams?
  • Has the vulnerability been patched in a newer version?
Violation history for a package
View the history of violations for a specific package
If a package is being blocked frequently across many clients, it may be a widely-used dependency that needs an exception or a team-wide upgrade to a patched version.

Step 4: Filter Violations

Use the filters to narrow down violations:

  • By Repository — Focus on a specific ecosystem (e.g., npm only)
  • By Client — See what a specific team or pipeline is hitting
  • By Severity — Focus on critical/high violations first
Filtering violations by repository and severity
Filter violations to focus on what matters most

Step 5: Create an Exception

If a blocked package is actually needed (e.g., a vulnerability has been assessed and accepted, or the block is a false positive):

  1. Navigate to the violation detail
  2. Click Create Exception (or navigate to Policies)
  3. Configure the exception:
    • Package: The specific package name and version
    • Expiry: Set a time limit (e.g., 30 days for temporary approvals)
    • Reason: Document why this exception is being granted
Creating an exception for a blocked package
Create a time-bound exception for an assessed and approved package
Always set an expiry on exceptions. Open-ended exceptions accumulate risk over time. Use 30, 60, or 90-day windows and re-evaluate at expiry.

Step 6: Track Exceptions

Monitor active exceptions from the Overview dashboard. The Exceptions KPI shows how many packages currently have active exceptions.

Exceptions count on the dashboard
Track the number of active exceptions in your organization

Step 7: Respond to Blocked Packages

When a developer reports that a package install is failing:

  1. Check the Traffic page — Find the blocked request by client ID and timestamp
  2. Identify the policy — See which rule triggered the block
  3. Assess the risk — Review the vulnerability details, trust score, and provenance
  4. Take action:
    • Upgrade: Guide the developer to a patched version
    • Exception: Create a time-bound exception if the risk is accepted
    • Policy change: Adjust the policy if the threshold is too aggressive

Communication Template

Your install of [package]@[version] was blocked by Chainsaw.

Reason: [Policy name] — [brief explanation]
CVE(s): [CVE IDs if applicable]
CVSS: [score]

Options:
1. Upgrade to [package]@[safe version] which resolves [CVE]
2. Request an exception (requires security team approval)

Contact: [security team channel]

Step 8: Use Billy for Violation Analysis

Ask Billy to help analyze violation patterns:

"What are the most frequently blocked packages this week?"
"Show me all critical severity violations in the last 7 days"
"Which clients have the most policy violations?"
Billy analyzing violation patterns
Use Billy to identify violation trends and patterns

Next Steps