Skip to main content

A unified orchestration and enrichment layer for C/C++ static analysis tools

Project description

Picuscan

Picuscan (Picus: Latin for woodpecker; a scanner hunting for bugs in source code) is an orchestration and utility tool for C/C++ security code audits. It provides a unified interface for running multiple external static analysis (SAST) tools, aggregates and normalizes their findings, and enriches the results with security metadata such as CWE categories.

Picuscan does not perform static analysis itself; instead, it collects tool outputs and turns them into a single, audit-focused view. It also ranks findings using a heuristic that combines tool feedback with practical experience to help auditors prioritize likely true positives. Additional utilities support audit preparation, including generating compilation databases, preparing source code, and working with SARIF files.

Quick Start

Docker (Recommended)

$ docker pull ghcr.io/fraunhofer-aisec/picuscan:main
$ docker run --rm -it -v $PWD:$PWD:z -w $PWD --entrypoint bash ghcr.io/fraunhofer-aisec/picuscan:main
$ picuscan --help

See Installation → Docker for more details.

From PyPI

$ pipx install picuscan
$ picuscan --help

Note: When installing via pip, you must install the analysis tools separately. See Installation → Dependencies for a list of supported tools.

Usage

You need a compilation database for the analysis to work. Run analysis and generate a SARIF report:

$ picuscan analyze

See Usage for comprehensive documentation.

Documentation

  • Installation - Docker and pip installation
  • Usage - Analysis, compilation databases, preprocessing
  • Analyzers - Tool-specific options and configurations

License

Apache-2.0

Acknowledgments

This work was partly funded by the German Federal Ministry of Economic Affairs and Energy (BMWE) as part of the ATLAS-L4 project (grant no. 19A21048D). This work was partly funded by the German Federal Ministry of Education and Research (BMBF) as part of the SHIQ project (grant no. 16KIS1955).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picuscan-1.0.0rc2.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

picuscan-1.0.0rc2-py3-none-any.whl (113.4 kB view details)

Uploaded Python 3

File details

Details for the file picuscan-1.0.0rc2.tar.gz.

File metadata

  • Download URL: picuscan-1.0.0rc2.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for picuscan-1.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 44a9b0418f8e07441ac3ce30ca29c028285d7e744aeb252ee1d5fc562f7ef213
MD5 ca04da8c80ab5deee2de0d054add9747
BLAKE2b-256 fec18724f707846130c35ff48126be1f664def10edd7642d4134be3f642c987a

See more details on using hashes here.

Provenance

The following attestation bundles were made for picuscan-1.0.0rc2.tar.gz:

Publisher: python-publish.yml on Fraunhofer-AISEC/picuscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picuscan-1.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: picuscan-1.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 113.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for picuscan-1.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 838c1c857dc5a5ffa6e123bb1c8f6cd335a1dd3748657e5c5f931dda5a762ade
MD5 8b0b85c8a2271ccd34e91c4ac8174b10
BLAKE2b-256 8ce2bd5d6a2b4bce5347711267fb7e9c521ca0cc20d36b06a5b1a90e2e470108

See more details on using hashes here.

Provenance

The following attestation bundles were made for picuscan-1.0.0rc2-py3-none-any.whl:

Publisher: python-publish.yml on Fraunhofer-AISEC/picuscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page