Skip to main content

A PoC tool for CWE prioritization according to MITRE CAPEC dictionary.

Project description

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

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

atternio-0.2.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

atternio-0.2.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file atternio-0.2.0.tar.gz.

File metadata

  • Download URL: atternio-0.2.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for atternio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 764adcd891cf2d59281d77fa43495be093a901c4900778fee4d28bffcebc1369
MD5 a346569751a56ab265c256efcd27f5af
BLAKE2b-256 9970a5ebb24ad514502f76ab7404d7f7ee40207e90ff81ce5811cc0bc280e778

See more details on using hashes here.

File details

Details for the file atternio-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: atternio-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for atternio-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7642b648d15f9cae2acc45f92ad37ff69cb656ffb48e738eea45d67225b0e5da
MD5 e5522d45903bc713a316365494522a21
BLAKE2b-256 aa848654ecc5435de20d54a2426d9d7da0706cd670ca204775e0fdd0b0c1a4e2

See more details on using hashes here.

Supported by

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