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.

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
adtrees-0.0.6.tar.gz 27.7 kB Details

Built distribution (wheel)

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

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

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

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