github / safegem

GitHub's safe gem eval web service

This URL has Read+Write access

name age message
file .gitignore Tue Feb 10 20:28:43 -0800 2009 add safegem binary to gemspec and make it execu... [mojombo]
file README Sun Mar 29 20:46:09 -0700 2009 update readme [mojombo]
file Rakefile Loading commit data...
file VERSION.yml
directory bin/
directory lib/ Sat Mar 28 23:35:38 -0700 2009 part of the two-phase gem build process now [mojombo]
file safegem.gemspec
directory test/ Sat Mar 28 18:09:45 -0700 2009 cleanup and sinatra 0.9.1.1 compatibility [mojombo]
README
SafeGem: GitHub's Safe Gem Eval Web Service
-------------------------------------------

Help make GitHub's gem build process more secure and robust!

SafeGem is a Sinatra app that safely converts Ruby gemspecs into YAML gemspecs.

It works as follows:

1) Receives a request with the repo location and the ruby gemspec
2) Returns immediately and schedules the following via EM.defer:

1) Makes a shallow clone of the repo and chdir's to that repo
2) Evals the spec in a separate thread with a higher $SAFE level
3) Converts spec to YAML
4) Posts the YAML to the specified callback

Goals
-----
* Lower the $SAFE level to allow methods like Dir.glob, but without compromising security.