Flawfinder
This is the main web site for flawfinder, a program that examines
source code looking for security weaknesses (``flaws'').
Unlike ITS4, flawfinder is completely open source / free software.
Flawfinder is released under the General Public License (GPL).
Flawfinder works on Unix-like systems today (it's been tested on GNU/Linux),
and it should be easy to port to Windows systems.
It requires Python to run.
Downloading
Just select this to get flawfinder:
The current version of flawfinder
is 0.12. Flawfinder is reliable; I've assigned it a
low version number because its vulnerability database
is small and needs to grow.
If you're not sure you want to take the plunge to
install the program, you can just look at
the documentation in PDF or
Postscript format.
You can even go look at the
flawfinder source code.
Installation
On Unix-like systems, you can uncompress and install it in the usual manner:
gunzip flawfinder-0.12.tar.gz
tar xvf flawfinder-0.12.tar
cd flawfinder-0.12
su
make install
Simple end-user installation processes, etc., are to come.
Speed
flawfinder is written in
Python, to simplify the task of writing and extending it.
Python code is not as fast as C code, but for the task I believe it's
just fine.
Flawfinder version 0.12 on a 400Mhz Pentium II system
analyzed 51055 lines in 39.7 seconds, resulting in an average of
1285 analyzed lines/second.
RATS
Unbenowst to me, while I was developing flawfinder,
Secure Software Solutions simultaneously developed
RATS, which
is also a source code scanner.
We agreed to release our programs simultaneously (on May 21, 2001),
and we agreed to mention each other's programs in our announcements
(you can even see the original
flawfinder announcement).
Now that we've both released our code, we plan to coordinate so that
there will be a single ``best of breed'' source code scanner that is
open source / free software.
Exactly what the shape of this is not yet clear, so be prepared for
future announcements.
You might want to look at my
Secure Programming HOWTO
web page.
You can also view
my home page.