How do you generate an SBOM for a Ruby project?
Generate a CycloneDX SBOM for a Ruby app from Gemfile.lock with the cyclonedx-ruby gem, then check completeness, store it per build and scan it.
Deep dives, practical guides, and incident analyses from engineers who build Safeguard. No fluff, no vendor FUD — just what you need to ship secure software.
Generate a CycloneDX SBOM for a Ruby app from Gemfile.lock with the cyclonedx-ruby gem, then check completeness, store it per build and scan it.
Manage Ruby gems with a committed Gemfile.lock, pessimistic version ranges, checksums, a release cooldown, scoped sources and an advisory audit in CI.
Start from the third-party risk life cycle regulators already expect, add SBOMs and build controls for software you ship, and tier vendors by criticality.
Typosquatting and dependency confusion trick pip into installing the wrong package. See how Python names normalize and how to install safely.
Use one trusted index, pin hashes, block source builds where you can, and review every new package name before it enters a requirements file.
A private PyPI mirror gives you one controlled index. Learn the index settings, why extra indexes are risky, and how hash checking stops swapped files.
Pinning fixes versions, hashes fix the exact files, and lock formats like uv.lock and pylock.toml record both. Learn how to install from PyPI reproducibly.
Use PyPI trusted publishing so CI mints a 15 minute token by OIDC, then attach PEP 740 attestations so users can check which workflow built each file.
Publish from GitHub Actions or GitLab CI on a cloud runner with npm 9.5 or later, grant id-token write, and verify with npm audit signatures.
Weekly insights on software supply chain security, delivered to your inbox.
Your first fix PR is minutes away.
No sales call required, even your agent can complete the purchase over MCP.