Skip to main content

Postgres security analysis

Goal

Lear how to use Codee for Static Application Security Testing (SAST) and generate a SAST report for Postgres.

Getting started

Make sure you have Codee installed and available on your machine and clone the Postgres repository.

git clone https://github.com/postgres/postgres.git

Now navigate to the source code:

cd postgres

Walkthrough

1. Generate the compile_commands.json

The compile_commands.json can be obtained using bear:

./configure && bear -- make

2. Run Codee SAST report

New feature

Running codee commands with the additional --db codee.db flag enables Incremental Static Analysis. This reduces runtime by storing analysis results and reusing them in subsequent analysis, reanalyzing only the source code that has changed.

To obtain Codee SAST results for the CWE standard execute the following command:

codee screening --sast --db codee.db

You should have obtained a result similar to this:

<...>

0 file analyses reused from cache, 1181 files analyzed from scratch
1181 target files, 22851 functions, 29729 loops, 1005358 SLOCs successfully analyzed (8946 checkers) and 0 non-analyzed files in 8 m 4 s