Gauntlt is a security testing framework that provides hooks to a variety of security tools and puts them within reach of security, dev and ops teams to collaborate to build rugged software. It is built to facilitate testing and communication between groups and create actionable tests that can be hooked into your deploy and testing processes.
To use gauntlt, you will need one or more attack files. An attack file is a plain text file written with Gherkin syntax and named with the .attack extension. For more info on the Gherkin syntax, have a look at Cucumber. A gauntlt attack file is almost the same as a cucumber feature file. The main difference is that gauntlt aims to provide the user with predefined steps geared towards security and durability testing so that you do not have to write your own step definitions, whereas cucumber is aimed at developers and stakeholders building features from end to end. Gauntlt and cucumber can and do work together harmoniously.
Example attack file:
1 2 3 4 5 6 7 8 9 10 11 |
# simplest.attack Feature: simplest attack possible Scenario: When I launch a "generic" attack with: """ ls -a """ Then the output should contain: """ . """ |
Features
- Gauntlt attacks are written in a easy-to-read language
- Easily hooks into your org’s testing tools and processes
- Security tool adapters come with gauntlt
- Uses unix standard error and standard out to pass status
Tools Supported
You will need to install each tool yourself before you can use it with gauntlt. However, if you try to use a tool that is not installed or that gauntlt cannot find, you will get a helpful error message from gauntlt with information on how to install and/or configure the tool for use with gauntlt.
The authors also include a generic attack adapter that allows you to run anything on the command line, parse its output and check its exit status.
You can download Gauntlt here (using the starter kit):
1 |
git clone git@github.com:gauntlt/gauntlt-starter-kit |
1 2 3 |
cd ./gauntlt-starter-kit/vagrant/gauntlt vagrant up vagrant ssh |
Pre-requisites
- Virtual Box
- Vagrant
Or read more here.
Eric says
Garmr can be found here: https://github.com/mozilla/Garmr
Darknet says
Thanks Eric.
Paul says
Cucumber is not good tool, and especially for developers, just waste of time :) I think guy, who start this tool, is not Ruby developer :(
Darknet says
Depends if you’re following BDD or not I guess? Any better BDD tools you suggest?
Paul says
It’s not connected with TDD or BDD :) because this is tool without coding of app logic :) (T/B)DD is style for development app with tests, and tests should be first ;)
Developer can describe business rules without duplication code in plain readable ruby code by using Test Unit or RSpec (TDD or BDD if they understand what is it). Cucumber maybe good when clients or qa (who do not understand Ruby syntax, but they should learn Gherkin syntax, and waste their time on copy pasting steps instead of good communication) prepare user stories, but I have not seen any clients who will create such scenarios (I’m Ruby developer – freelancer with Cucumber experience).
You may review a lot of posts about those problem, and review OSS projects. Cucumber has been used only in several projects from the thousands on GitHub.
Darknet says
Ah ok, understood – thanks for sharing your experience Paul :)