Safeguard Docs
Compliance FrameworksInternal

Duplicate Detection

Identifies components at multiple versions: unresolved dependency conflicts or stale transitive deps.

Identifies components at multiple versions: unresolved dependency conflicts or stale transitive deps.

Short nameDuplicates
RegionInternal
Country or scopeInternal
SectorSupply Chain
In your workspaceOn unless you switch it off in Compliance โ€บ Manage.

How Safeguard covers Duplicates

  • Scan requirements: 6, all decided by a scan.
  • Controls: the scan requirements below, plus 6 controls from Safeguard's control catalog for Duplicates.
  • Automated tests: none map to it directly. You can link any automated test to its controls yourself (how).
  • Policy templates: 24: 2 written for Duplicates and 22 from the standard set.

How each kind of coverage works, and what the readiness score counts: Compliance frameworks.

What a scan checks

Each scan of a product checks these 6 requirements against what the scan found, including the product's software inventory (SBOM).

RequirementWhat Safeguard checksDecided by
DUP-ID-PURL Version-Qualified IdentifiersDuplicate detection requires each component instance to carry a PURL, whose coordinates make same-name/different-version occurrences mechanically distinguishable (Package URL specification; CycloneDX component identity)Scan
DUP-VER-PRES Versions Present for ComparisonA component without a version cannot be checked for duplication against its siblings, so version fields must be populated (NTIA Minimum Elements - version of the component)Scan
DUP-VER-SPEC Exact Versions OnlyRanged or floating versions (latest, *, >=) mask duplicate resolution and defeat conflict analysis; every declared version must be a single resolved value (CycloneDX/SPDX version field semantics)Scan
DUP-DEP-GRAPH Dependency Paths DocumentedDistinguishing a legitimate multi-version situation from a stale transitive dependency requires the dependency relationships that pull each instance in (NTIA Minimum Elements - dependency relationship)Scan
DUP-COMPLETE Name+Version CompletenessDuplicate analysis keys on the (name, version) pair, so components must carry both fields to participate in the check (NTIA Minimum Elements - component name and version)Scan
DUP-HASH-DIST Hashes Distinguish RebuildsIntegrity hashes distinguish genuinely different artefacts from re-listed identical ones, sharpening duplicate classification (CycloneDX component.hashes; SPDX PackageChecksum)Scan

More controls in the catalog

The framework's Controls tab lists its scan requirements and these controls from Safeguard's control catalog. Evidence them with automated tests, uploaded evidence, policies or an attestation.

ControlName
DUP-01Multi-Version Duplicate Detection
DUP-02Transitive Conflict Resolution Policy
DUP-03Deduplication Policy Enforcement
DUP-04Bundle / Vendor Copy Detection
DUP-05Duplicate Vulnerability Deduplication in Reporting
DUP-06Duplicate Count Trend Monitoring

Policy templates

Written for Duplicates:

  • Duplicate Component Detection and Deduplication Policy
  • Duplicate Vulnerability Reporting and Trend Monitoring Policy

And 22 from the standard set, adapted to Duplicates.

On this page