Introduction
Atternio is a PoC tool powered by flawfinder for CWE prioritization according to MITRE CAPEC dictionary.
The tool utilises open source CAPEC data provided in the form of JSON (STIX 2.x) files.
Algorithm
The tool receives a path to C/C++ sources as an input, which is passed to flawfinder to find CWEs.
Each CWE is searched through CAPEC data to determine attack patterns (CAPEC-IDs) it can used in.
When analyzing CAPEC data, the following metrics are taken into account:
- Severity (
x_capec_severity); - Likelihood (
x_capec_likelihood_of_attack).
An individual CWE can be found in multiple CAPEC-IDs.
For each CWE in CAPEC-ID risk points are calculated using the following formula:
cwe_risk = severity + likelihood
Each CAPEC-ID can contain multiple detected CWEs:
capec_risk = sum(cwe_risk)
Finally, the total number of risk points:
total_risk = sum(capec_risk)
When the risk enumeration is complete, the tool will output 2 tables:
- CWE Records - all CWEs detected with their location in provided sources;
- Prioritized CWE Records - prioritized CWEs with related CAPECs and percentage of shared risk.
Usage
$ python3 atternio/ --help
usage: [-h] --source PATH_INPUT [--install-dictionary] [-o OUTPUT] [--results]
Atternio - a PoC tool for CWE prioritization according to MITRE CAPEC dictionary.
optional arguments:
-h, --help show this help message and exit
--source PATH_INPUT path to file or directory
--install-dictionary if CAPEC dictionary is not present, install it
automatically
-o OUTPUT, --output OUTPUT
path to output file
--results show only RESULTS section
Metadata
Release files for atternio 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| atternio-0.2.0.tar.gz | 7.2 kB | Without provenance | Details for atternio-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| atternio-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for atternio-0.2.0-py3-none-any.whl |
Total release size: 16.8 kB
Release files / atternio-0.2.0.tar.gz
| Download URL | atternio-0.2.0.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
764adcd891cf2d59281d77fa43495be093a901c4900778fee4d28bffcebc1369
|
|
BLAKE2b-256 checksum How to use checksums |
9970a5ebb24ad514502f76ab7404d7f7ee40207e90ff81ce5811cc0bc280e778
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / atternio-0.2.0-py3-none-any.whl
| Download URL | atternio-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7642b648d15f9cae2acc45f92ad37ff69cb656ffb48e738eea45d67225b0e5da
|
|
BLAKE2b-256 checksum How to use checksums |
aa848654ecc5435de20d54a2426d9d7da0706cd670ca204775e0fdd0b0c1a4e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Security for atternio 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.