dawnscanner v2.0.0.rc3 releases: static analysis security scanner for ruby

Dawnscanner – The raising security scanner for Ruby web applications

dawnscanner is a source code scanner designed to review your ruby code for security issues.

dawnscanner is able to scan plain ruby scripts (e.g. command line applications) but all its features are unleashed when dealing with web applications source code. dawnscanner is able to scan major MVC (Model View Controller) frameworks, out of the box:

dawnscanner version 1.6.6 has 235 security checks loaded in its knowledge base. Most of them are CVE bulletins applying to gems or the ruby interpreter itself. There is also some check coming from Owasp Ruby on Rails cheatsheet.

When you run dawnscanner on your code it parses your project Gemfile.lock looking for the gems used and it tries to detect the ruby interpreter version you are using or you declared in your ruby version management tool you like most (RVM, rbenv, …).

Then the tool tries to detect the MVC framework your web application uses and it applies the security check accordingly. There checks designed to match rails application or checks that are applicable to any ruby code.

It can also understand the code in your views and to backtrack sinks to spot cross-site scripting and sql injections introduced by the code you actually wrote. In the project roadmap, this is the code most of the future development effort will be focused on.

dawnscanner security scan result is a list of vulnerabilities with some mitigation actions you want to follow in order to build a stronger web application.


$ gem cert --add <(curl -Ls https://raw.githubusercontent.com/thesp0nge/dawnscanner/master/certs/paolo_at_dawnscanner_dot_org.pem)
$ gem install dawnscanner -P MediumSecurity






$ dawn -h
Usage: dawn [options] target_directory

	$ dawn a_sinatra_webapp_directory
	$ dawn -C the_rails_blog_engine
	$ dawn -C --json a_sinatra_webapp_directory
	$ dawn --ascii-tabular-report my_rails_blog_ecommerce
	$ dawn --html -F my_report.html my_rails_blog_ecommerce

   -r, --rails					force dawn to consider the target a rails application (DEPRECATED)
   -s, --sinatra				force dawn to consider the target a sinatra application (DEPRECATED)
   -p, --padrino				force dawn to consider the target a padrino application (DEPRECATED)
   -G, --gem-lock				force dawn to scan only for vulnerabilities affecting dependencies in Gemfile.lock (DEPRECATED)
   -d, --dependencies				force dawn to scan only for vulnerabilities affecting dependencies in Gemfile.lock


   -a, --ascii-tabular-report			cause dawn to format findings using tables in ascii art (DEPRECATED)
   -j, --json					cause dawn to format findings using json
   -K, --console					cause dawn to format findings using plain ascii text
   -C, --count-only				dawn will only count vulnerabilities (useful for scripts)
   -z, --exit-on-warn				dawn will return number of found vulnerabilities as exit code
   -F, --file filename				tells dawn to write output to filename
   -c, --config-file filename			tells dawn to load configuration from filename

Disable security check family

       --disable-cve-bulletins			disable all CVE security checks
       --disable-code-quality			disable all code quality checks
       --disable-code-style			disable all code style checks
       --disable-owasp-ror-cheatsheet		disable all Owasp Ruby on Rails cheatsheet checks
       --disable-owasp-top-10			disable all Owasp Top 10 checks

Flags useful to query Dawn

   -S, --search-knowledge-base [check_name]	search check_name in the knowledge base
       --list-knowledge-base			list knowledge-base content
       --list-known-families			list security check families contained in dawn's knowledge base
       --list-known-framework			list ruby MVC frameworks supported by dawn
       --list-scan-registry			list past scan informations stored in scan registry 

Service flags

   -D, --debug					enters dawn debug mode
   -V, --verbose				the output will be more verbose
   -v, --version				show version information
   -h, --help	


Copyright (c) 2013-2016 Paolo Perego paolo@dawnscanner.org

Source: https://github.com/thesp0nge/