This release is a pre-release and may not be stable for production use.
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
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).
Metadata
Release files for picuscan 1.0.0rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| picuscan-1.0.0rc3.tar.gz | 73.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| picuscan-1.0.0rc3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 186.4 kB
Release files / picuscan-1.0.0rc3.tar.gz
| Download URL | picuscan-1.0.0rc3.tar.gz |
|---|---|
| Size | 73.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1d5ecced1797ce5c991a4db1c44877662e72f7cef6cab179bfc7d7b8254947a
|
|
BLAKE2b-256 checksum How to use checksums |
a308450d135fd18184e5c083515f8f56f5fade365d537e0cd544c36533243733
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency logRelease files / picuscan-1.0.0rc3-py3-none-any.whl
| Download URL | picuscan-1.0.0rc3-py3-none-any.whl |
|---|---|
| Size | 113.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f0d034a29002f4d2629e040dd53e304585c1bb3152feb7efb8ffb7f92a08a35
|
|
BLAKE2b-256 checksum How to use checksums |
5181d279928da2d2ab12a896374e5b80fa077c5ba1949b1e45b2640e7de4691c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency log