Ravenstash
Guides

Private dependency mirrors for CI

Use a protected Ravenstash private mirror to scan, delay, and cache public dependencies for CI.

By RavenstashUpdated 2026-08-28

CI jobs are exposed whenever they download dependencies directly from public registries. A Ravenstash private mirror gives CI one authenticated path to PyPI, npmjs.org, or Maven Central, with security scanning, minimum package age, and fast repeat installs.

Why use it

  • CI uses one private target through rvs.
  • Package access remains tied to Ravenstash credentials.
  • Security scanning checks mirrored packages before they become trusted inputs.
  • Minimum package age delays brand-new releases during the riskiest first hours.
  • Repeat installs stay fast and predictable for developers and CI.
  • The dashboard shows mirrored packages, findings, and download activity.

Why the delay matters

Supply-chain attacks often depend on speed: a malicious release is published and automated builds adopt it before the ecosystem can respond. A 24-hour minimum age gives maintainers and security researchers time to report, remove, or flag that release before it enters your build.

Adoption pattern

Start with one repository and one CI pipeline. Use an explicit rvs target, confirm private packages resolve first, and verify an eligible public dependency passes through the mirror. After validation, move more pipelines to the same protected target.