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.0rc3.tar.gz (73.0 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.0rc3-py3-none-any.whl (113.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: picuscan-1.0.0rc3.tar.gz
  • Upload date:
  • Size: 73.0 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.0rc3.tar.gz
Algorithm Hash digest
SHA256 d1d5ecced1797ce5c991a4db1c44877662e72f7cef6cab179bfc7d7b8254947a
MD5 5a0e10784302beb7dae90ef6fdd96be5
BLAKE2b-256 a308450d135fd18184e5c083515f8f56f5fade365d537e0cd544c36533243733

See more details on using hashes here.

Provenance

The following attestation bundles were made for picuscan-1.0.0rc3.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.0rc3-py3-none-any.whl.

File metadata

  • Download URL: picuscan-1.0.0rc3-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.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 6f0d034a29002f4d2629e040dd53e304585c1bb3152feb7efb8ffb7f92a08a35
MD5 fa3816ac5517c7222696fbc84ebb8221
BLAKE2b-256 5181d279928da2d2ab12a896374e5b80fa077c5ba1949b1e45b2640e7de4691c

See more details on using hashes here.

Provenance

The following attestation bundles were made for picuscan-1.0.0rc3-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