All Projects → awruef → find-heartbleed

awruef / find-heartbleed

Licence: other
clang checker to find heartbleed

Programming Languages

c
50402 projects - #5 most used programming language
perl
6916 projects
C++
36643 projects - #6 most used programming language
assembly
5116 projects
shell
77523 projects
eC
11 projects

Heartbleed Static Checker

This is a static checker for Heartbleed type information disclosures written as a plugin to the clang analyzer framework, as described in a recent blog post. It is experimental and unsound.

Building

With LLVM installed into /usr, mkdir build && cmake .. && make should build the plugin. If LLVM is not installed in /usr, cmake should be invoked with -DCMAKE_MODULE_PATH=/path/to/llvm/share/llvm/cmake. It should then build normally. This should also work on OSX though LLVM will need to be installed separately to get both the headers and libraries for checker plugin development as well as the scan-build tool.

Running

To run on a demo, run the following command: cd demo/1/ && ../docheck.sh /the/full/path/to/build/find-heartbleed.so. Use the same to build openssl.

Debugging Tips

scan-build hooks into the make infrastructure, so only as much code will be built as would be if you ran make. So, if you are debugging an analysis and you want to only run the analyzer on one function, or one file, make the entire project, touch the file in question, and then run scan-build.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].