Attack window
Hours to days
Malicious versions typically get yanked within 24–72 hours of detection.
Supply chain
Supply-chain attacks follow a predictable timeline: a maintainer’s account is compromised, a malicious version is published, the community detects and yanks it within hours to days. The undetected window is short but exploitable. Every BoringStack repo enforces a seven-day minimum release age to block installs inside that window.
7 days
minimum release age
All repos
enforced uniformly
Zero config
to activate
Attack window
Malicious versions typically get yanked within 24–72 hours of detection.
Our gate
Packages younger than 7 days won't install. The window closes before the gate opens.
Detection
OSV scanner, npm audit, and human review all have time to flag the package before it lands.
bunfig.toml: [install] minimumReleaseAge = 604800 (seconds).
bunfig.toml: [install] minimumReleaseAge = 604800 (seconds), with per-package excludes for high-churn and first-party packages.
bunfig.toml: [install] minimumReleaseAge = 604800 (seconds).
No JS deps; n/a.
No JS deps; n/a.
Pin to a specific older version or wait.
Override per-package via Bun/npmrc exclusions when a real CVE drops.
This is the point.
Bun supports per-package overrides in bunfig.toml via minimumReleaseAgeExcludes:
minimumReleaseAgeExcludes = [ "yaml", "@tailwindcss/oxide*",]Glob patterns are supported, useful for platform-variant packages like @tailwindcss/oxide-*.
npm’s audit signal lags detection. By the time npm audit reports a malicious version, the attack window has closed. This rule does not replace audits. It is a low-cost, independent layer that extends the detection window for those tools.
bun run validate and bun run validate live.