https://github.com/github/safegem
GitHub's safe gem eval web service
https://github.com/github/safegem
Last synced: 5 months ago
JSON representation
GitHub's safe gem eval web service
- Host: GitHub
- URL: https://github.com/github/safegem
- Owner: github
- Archived: true
- Created: 2009-02-11T03:56:17.000Z (about 17 years ago)
- Default Branch: master
- Last Pushed: 2015-02-15T07:53:08.000Z (about 11 years ago)
- Last Synced: 2025-09-18T08:17:12.827Z (6 months ago)
- Language: Ruby
- Homepage:
- Size: 139 KB
- Stars: 15
- Watchers: 11
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
NOTE: This repository is no longer supported or updated by GitHub. If you wish to continue to develop this code yourself, we recommend you fork it.
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.