newrelic / newrelic-ruby-agent

New Relic RPM Ruby Agent
https://docs.newrelic.com/docs/apm/agents/ruby-agent/getting-started/introduction-new-relic-ruby/
Apache License 2.0
1.2k stars 597 forks source link

Explore options for gem signing #2340

Open tannalynn opened 9 months ago

tannalynn commented 9 months ago

Lets explore setting up gem signing or investigate some alternatives.

workato-integration[bot] commented 9 months ago

https://new-relic.atlassian.net/browse/NR-185718

fallwith commented 9 months ago

The .gem files available from RubyGems.org are gzipped tarballs and they contain a gzipped checksums.yaml file. I wonder if the checksums stored within that file could establish trust.

Unfortunately if you clone our repo or download a source release from our repo's releases page and build the gem yourself, the resulting checksums stored in the newly built file will likely differ from the values the CD pipeline was able to produce.

But if we could record the valid checksums created by CD in a location separate from RubyGems.org, the separate location could be used for verification purposes to establish trust.

Idea: