OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient, written mostly in Python @owtfp http://owtf.org
Python HTML Shell JavaScript
Latest commit 0243ab1 Oct 1, 2016 @delta24 delta24 committed on GitHub Merge pull request #754 from DarKnight24/fix_750
[misc] Fixed bug regarding OWTF-IG-001 passive plugin throwing exception
Failed to load latest commit information.
.github [misc] Removed Travis notification in the IRC Mar 29, 2016
agents [PEP8] Miscellaneous cleanup May 31, 2016
dictionaries [PEP8] Miscellaneous cleanup May 31, 2016
framework [misc] Fixed bug regarding OWTF-IG-001 passive plugin throwing except… Oct 1, 2016
includes [cleanup] Remove unused assets May 29, 2016
install [install] CMS explorer download link changed. Sep 30, 2016
plugins [plugin] Fixed GetResources call in Spiders_Robots_and_Crawlers@OWTF-… Sep 12, 2016
profiles [plugin] Fixes auxiliary plugins #602 Jun 15, 2016
scripts [PEP8] Miscellaneous cleanup May 31, 2016
tools Merge pull request #628 from RahulPratapSingh/remove-traceroute-dir Mar 21, 2016
zest [owtf][zest][create] Zest script creation modification for Postgres c… Sep 15, 2014
.gitattributes Partial fix for #204: Nikto runs before Skipfish and arachni Jan 21, 2016
.gitignore [release] Updated authors and changelog files May 5, 2016
.project OWTF 0.16 "shady citizen" : Eclipse project files added & minor bug f… May 10, 2013
.pydevproject OWTF 0.20 "Summer Storm I": All network plugins(active and bruteforce) Jun 8, 2013
.travis.yml [travis] Update tests to run. Apr 22, 2016
AUTHORS [authors] Update contributor info May 13, 2016
CHANGELOG.md [release] Updated authors and changelog files May 5, 2016
LICENSE Remove license text from sources Aug 28, 2015
README.md [readme] Added requirements status badge Jun 10, 2016
owtf.py [PEP8] Misc. cleanup Jul 15, 2016


Gitter Requirements Status Build Status License (3-Clause BSD) Platform (GNU/Linux) python


OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like the OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST so that pentesters will have more time to

  • See the big picture and think out of the box
  • More efficiently find, verify and combine vulnerabilities
  • Have time to investigate complex vulnerabilities like business logic/architectural flaws or virtual hosting sessions
  • Perform more tactical/targeted fuzzing on seemingly risky areas
  • Demonstrate true impact despite the short timeframes we are typically given to test.

The tool is highly configurable and anybody can trivially create simple plugins or add new tests in the configuration files without having any development experience.

Note: This tool is however not a silverbullet and will only be as good as the person using it: Understanding and experience will be required to correctly interpret tool output and decide what to investigate further in order to demonstrate impact.



If one tool crashes OWTF, will move on to the next tool/test, saving the partial output of the tool until it crashed. OWTF also allow you to monitor worker processes and estimated plugin runtimes.


If your internet connectivity or the target host goes down during an assessment, you can pause the relevant worker processes and resume them later avoiding losing data to little as possible.

Tests Separation

OWTF separates its traffic to the target into mainly 3 types of plugins:

  • Passive : No traffic goes to the target

  • Semi Passive : Normal traffic to target

  • Active: Direct vulnerability probing

Some features like the passive and semi_passive test separation may also assist pen testers wishing to go the extra mile to get a head start and maybe even legitimately start report writing or preparing attacks before they are given the green light to test.

Easy to use APIs

OWTF uses PostgreSQL as the database backend. All core OWTF functions and options are exposed through APIs making it easy to add new features with little effort.

Follows popular pen-testing standards
  • OWTF will try to classify the findings as closely as possible to the OWASP Testing Guide. It also supports the NIST and the PTES standards.

  • PlugnHack v2 support : PlugnHack is a proposed standard from the Mozilla security team for defining how security tools can interact with browsers in a more useful and usable way.

  • Zest and OWASP-ZAP integration : Zest is an experimental specialized scripting language (domain-specific ) developed by the Mozilla security team and is intended to be used in web oriented security tools.

Responsive web interface

OWTF now has a default web interface which integrates all core OWTF options and makes it possible to manage large pentests easily.

  • The default configuration can be changed easily from the browser.

  • Makes it easy to control worker processes and see the estimated run times for each plugin run.

  • Manage a large number of target URLs easily

  • Searchable transactions and URL logs.

Interactive report updated on the fly:
  • Automated plugin rankings from the tool output, fully configurable by the user.

  • Configurable risk rankings

  • In-line notes editor for each plugin.


Currently, OWTF is developed and is supported on Linux, with out-of-box support for the Kali Linux (1.x and 2.x).

OWTF has been developed for Python 2.7, and therefore it may not run as intended on older Python versions.

For more information on third-party library requirements, please refer to the requirements.



wget -N https://raw.githubusercontent.com/owtf/bootstrap-script/master/bootstrap.sh; bash bootstrap.sh

or simply git clone https://github.com/owtf/owtf.git; cd owtf/; python2 install/install.py

Check out the wiki for more information.


Checkout LICENSE