This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit

OWASP Web Malware Scanner Project

Revision as of 14:55, 4 March 2016 by Maxime Labelle (talk | contribs) (FAQs)

Jump to: navigation, search
OWASP Project Header.jpg

OWASP Tool Project Template

The OWASP Web Malware Scanner is a malware scanner for web applications. The goal is to be able to scan a web application folder for any malware using a community driven signature database. The Web Malware Scanner is run locally to the web application folder much like an anti-virus. This project was created because the ClamAV project and other similar open source tools were unable to detect some infected files on some of our production servers and we needed a solution to scan our web applications with better results.

The deliverable is a python application.


Web Malware Scanner is a simple malware scanner for web applications. It can be used to identify compromised Wordpress, Joomla and other popular web application installations.

The Web Malware Scanner must be run locally to the web application installation folder. It will scan each files and compare them to the Web Malware Scanner's signature database. Each file is scanned for any known malware MD5 checksum and also for any regular expression based malware signatures.

The Web Malware Scanner Project uses regular expressions to search files for malware signatures as opposed to the custom ClamAV signature database wildcard syntax, which is somewhat more limited.

The ClamAV custom wildcard syntax only includes the following wildcards: ?? Matches any byte. * Matches any number of bytes (including 0 byte). {n} Matches n bytes. {-n} Matches n bytes or less. {n-} Matches at least n bytes. {m-n} Matches between m and n bytes. (0a|1b) Matches 0a or 1b.

The Web Malware Scanner project uses standard regular expressions for a much wider range of matching patterns.

The default signature database is taken in parts from ClamAV's signature database, SaneSecurity's signature database and other sources.

The goal of the OWASP Web Malware Scanner Project is to have a community driven signature database. You are more than welcome to contribute to this project by sending us new malware signatures.


The Web Malware Scanner Project is released under the BSD 4-clause "Original" or "Old" License.

Project Resources

Source Code


Issue Tracker

Project Leader

Maxime Labelle ( [email protected] )


Project Type Files TOOL.jpg
Incubator Project Owasp-builders-small.png
Affero General Public License 3.0

News and Events

  • [04 Mar 2016] The Web Malware Scanner is now an official OWASP Project

How can I participate in your project?

All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.


The success of OWASP is due to a community of enthusiasts and contributors that work to make our projects great. This is also true for the success of your project. Be sure to give credit where credit is due, no matter how small! This should be a brief list of the most amazing people involved in your project. Be sure to provide a link to a complete list of all the amazing people in your project's community as well.

The OWASP Tool Project Template is developed by a worldwide team of volunteers. A live update of project contributors is found here.

The first contributors to the project were:

  • Colin Watson who created the OWASP Cornucopia project that the template was derived from
  • Chuck Cooper who edited the template to convert it from a documentation project to a Tool Project Template

A project roadmap is the envisioned plan for the project. The purpose of the roadmap is to help others understand where the project is going as well as areas that volunteers may contribute. It gives the community a chance to understand the context and the vision for the goal of the project. Additionally, if a project becomes inactive, or if the project is abandoned, a roadmap can help ensure a project can be adopted and continued under new leadership. Roadmaps vary in detail from a broad outline to a fully detailed project charter. Generally speaking, projects with detailed roadmaps have tended to develop into successful projects. Some details that leaders may consider placing in the roadmap include: envisioned milestones, planned feature enhancements, essential conditions, project assumptions, development timelines, etc. You are required to have at least 4 milestones for every year the project is active.


The base application is already completed. The next step is to populate the signature database and optimize the current codebase.

As of November, 2013, the highest priorities for the next 6 months are:

  • Complete the first draft of the Tool Project Template
  • Get other people to review the Tool Project Template and provide feedback
  • Incorporate feedback into changes in the Tool Project Template
  • Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project

Subsequent Releases will add

  • Internationalization Support
  • Additional Unit Tests
  • Automated Regression tests

Getting Involved

Involvement in the development and promotion of Tool Project Template is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:


We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests


Are you fluent in another language? Can you help translate the text strings in the Tool Project Template into that language?


Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.


Please use the Tool Project Template project mailing list for feedback about:

  • What do like?
  • What don't you like?
  • What features would you like to see prioritized on the roadmap?

This page is where you should indicate what is the minimum set of functionality that is required to make this a useful product that addresses your core security concern. Defining this information helps the project leader to think about what is the critical functionality that a user needs for this project to be useful, thereby helping determine what the priorities should be on the roadmap. And it also helps reviewers who are evaluating the project to determine if the functionality sufficiently provides the critical functionality to determine if the project should be promoted to the next project category.

The Tool Project Template must specify the minimum set of tabs a project should have, provide some an example layout on each tab, provide instructional text on how a project leader should modify the tab, and give some example text that illustrates how to create an actual project.

It would also be ideal if the sample text was translated into different languages.

This page is where you need to place your legacy project template page if your project was created before October 2013. To edit this page you will need to edit your project information template. You can typically find this page by following this address and substituting your project name where it says "OWASP_Example_Project". When in doubt, ask the OWASP Projects Manager. Example template page:

What does this OWASP project offer you?
What releases are available for this project?
what is this project?
Name: N/A
Purpose: N/A
License: N/A
who is working on this project?
Project Leader(s): N/A
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: N/A
Project Roadmap: Not Yet Created
Key Contacts
  • Contact the GPC to contribute to this project
  • Contact the GPC to review or sponsor this project
current release
last reviewed release

other releases