BrakemanВ последнее время складывается такое ощущение, что Ruby on Rails (или, как его еще любят сокращать, RoR) решил посоревноваться с Java и Flash в количестве уязвимостей. Естественно, с этим надо что-то делать. В итоге на свет появился Brakeman —сканер безопасности для статического анализа проектов на Ruby on Rails.

Этот проект позволяет находить проблемы безопасности по исходным кодам Rails — приложений на любой стадии их разработки. Помимо этого, проект умеет проверять код на использование best practices. Для запуска сканера достаточно одной команды:

brakeman ваше_гаП5_приложение

Все найденные проблемы Brakeman разделяет на три уровня критичности (weak, medium и high) и типы уязвимостей, среди которых, помимо XSS, CSRF, SQLi, Command Injection, присутствуют и Remote Execution in YAMLIoad, Dynamic Render Paths, Dangerous Send и другие. Сейчас уже проект легко обнаруживает: CVE — 2013 — 0155, CVE — 2013 — 0156, CVE — 2013 — 0269, CVE — 2013 — 0276, CVE — 2013 — 0277, CVE — 2013 — 0333.

Полезная возможность сканера —можно отметить, что искать и что не искать, это поможет избежать большого количества ложных срабатываний. Также Brakeman можно использовать как библиотеку в собственном проекте.