gemsurance, 使用 rubysec/ruby 咨询数据库的gem 漏洞检查器

分享于 

3分钟阅读

GitHub

  繁體 雙語
Gem vulnerability checker using rubysec/ruby-advisory-db
  • 源代码名称:gemsurance
  • 源代码网址:http://www.github.com/appfolio/gemsurance
  • gemsurance源代码文档
  • gemsurance源代码下载
  • Git URL:
    git://www.github.com/appfolio/gemsurance.git
    Git Clone代码到本地:
    git clone http://www.github.com/appfolio/gemsurance
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/appfolio/gemsurance
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    Build StatusGem VersionCode Climate

    Gemsurance: 你的Gems的保险

    Gemsurance是一个用于监视你的ruby Gems 是否为out-of-date或者易受攻击的工具。 它使用 ruby 咨询数据库这样做。 它类似于bundler审计,但是输出一个HTML报告并确定哪个 Gems 是 out-of-date。

    正在启动

    要安装 Gemsurance,请添加

    
    
    
    
    gem 'gemsurance'
    
    
    
    

    到你的Gemfile并运行包安装。

    运行时使用 gemsurance

    
    
    
    
    bundle exec gemsurance [options]
    
    
    
    

    从包含要检查它的Gems的的目录中。

    在当前目录中输出一个HTML文件( 默认情况下命名为 gemsurance_report.html ),其中包含 gem 状态的报告: 哪个 Gems 是 out-of-date,哪个 Gems 报告了 ruby 咨询数据库中的漏洞。 ruby 咨询数据库 git repo 将被签出到 tmp/relative 到工作目录。

    Example Gemsurance report

    Gems的是彩色的绿色和 Gems,它们是 out-of-date,但没有报告的脆弱性是着色的yellow。 易损的Gems 是颜色红色,有关该问题的漏洞和版本的信息显示在最右边的列中。

    如果没有报告漏洞和代码 1,则Gemsurance退出,如果存在任何这样的错误,则为代码。

    集成到 Rails RSpec套件中

    在应用程序中检测到一个带有已经知漏洞的gem 时,运行gemsurance检查作为一部分,将导致一个ipqos失败。 如果你的应用程序定期通过CI构建进行测试,这将非常有用。 你可以通过在RSpec测试中添加 sample_spec/gemsurance_spec。rb来设置这个。

    命令行命令行选项

    gemsurance可执行文件的命令行选项如下所示:

    • --pre: 考虑预发布 gem 版本
    • --output文件:输出报告到指定文件
    • --whitelist文件:从文件中读取白名单。 默认为。gemsurance。yml
    • --format格式:输出报告到指定格式( 可用的html,csv,& )。 默认情况下为 Html。

    白名单格式必须为

    
    
    
    
    ---
    
    
    nokogiri:
    
    
     CVE-2015-1819:
    
    
     - 1.5.9
    
    
     - 1.6.0
    
    
     OSVDB-101179:
    
    
     - 1.5.6
    
    
     - 1.6.0
    
    
    
    

    TODOs

    • 支持 Gems 版本
    • 格式化为 JSON

    始终欢迎捐赠。请使用 fork,并创建请求请求或者创建问题。

    确认

    由于Bundler和 ruby 咨询数据库,Gemsurance基于它。

    许可证

    MIT许可证。


    相关文章