Skip to main content

adtrees implements some methods for qualitative and quantitative evaluation of security using attack trees and attack-defense trees.

The package is intended to be used together with the ADTool, but this is not obligatory.

Prerequisites

Optimization problems on attack-defense trees are solved using lp_solve. For the installation of lp_solve, see Using lpsolve from Python. General information on lp_solve can be found here.

No special prerequisites for the remaining functionalities of adtrees.

Installation

pip install adtrees

Example

import adtrees as adt

# initialize attack(-defense) tree from an output file 'tree.xml' produced by the ADTool
T = adt.ADTree('tree.xml')

# create a basic assignment of cost for the basic actions of the defender in T
ba = adt.BasicAssignment()
for b in T.basic_actions('d'):
    ba[b] = 10

# create an instance of the 'maximal coverage' optimization problem
problem = adt.ADTilp(T, costassignment=ba, budget=100, problem='coverage')

# solve the problem
problem.solve()

# the optimal set of countermeasures and some additional information is displayed

For other functionalities and more details, refer to the walk-through examples in examples folder.

Metadata

Release files for adtrees 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for adtrees 0.0.6
File Size Uploaded Provenance Actions
adtrees-0.0.6.tar.gz 27.7 kB Without provenance Details for adtrees-0.0.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for adtrees 0.0.6
File Interpreter ABI Platform Actions
adtrees-0.0.6-py3-none-any.whl Python 3 none any Details for adtrees-0.0.6-py3-none-any.whl

Total release size: 60.4 kB

Release files / adtrees-0.0.6.tar.gz

Download URL adtrees-0.0.6.tar.gz
Size 27.7 kB
Tags Source
SHA-256 checksum
How to use checksums
364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a
BLAKE2b-256 checksum
How to use checksums
2d85e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

Release files / adtrees-0.0.6-py3-none-any.whl

Download URL adtrees-0.0.6-py3-none-any.whl
Size 32.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e
BLAKE2b-256 checksum
How to use checksums
adc06119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.6

Security for adtrees 0.0.6

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page