{ "info": { "author": "Wojciech Widel", "author_email": "wwidel@irisa.fr", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "`adtrees` implements some methods for qualitative and quantitative evaluation of security using [attack trees](https://en.wikipedia.org/wiki/Attack_tree)\nand [attack-defense trees](http://people.irisa.fr/Barbara.Kordy/papers/ADT12.pdf).\n\nThe package is intended to be used together with the [ADTool](https://satoss.uni.lu/members/piotr/adtool/), but this is not obligatory.\n\n**Prerequisites**\n\nOptimization problems on attack-defense trees are solved using *lp_solve*. For the installation of *lp_solve*, see [Using lpsolve from Python](http://lpsolve.sourceforge.net/5.5/Python.htm). General information on *lp_solve* can be found [here](http://lpsolve.sourceforge.net/5.5/).\n\nNo special prerequisites for the remaining functionalities of `adtrees`.\n\n**Installation**\n\n```\npip install adtrees\n```\n\n**Example**\n\n```python\nimport adtrees as adt\n\n# initialize attack(-defense) tree from an output file 'tree.xml' produced by the ADTool\nT = adt.ADTree('tree.xml')\n\n# create a basic assignment of cost for the basic actions of the defender in T\nba = adt.BasicAssignment()\nfor b in T.basic_actions('d'):\n ba[b] = 10\n\n# create an instance of the 'maximal coverage' optimization problem\nproblem = adt.ADTilp(T, costassignment=ba, budget=100, problem='coverage')\n\n# solve the problem\nproblem.solve()\n\n# the optimal set of countermeasures and some additional information is displayed\n```\n\nFor other functionalities and more details, refer to the walk-through examples in [examples folder](./examples).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wwidel/adtrees/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "adtrees", "package_url": "https://pypi.org/project/adtrees/", "platform": "", "project_url": "https://pypi.org/project/adtrees/", "project_urls": { "Homepage": "https://github.com/wwidel/adtrees/" }, "release_url": "https://pypi.org/project/adtrees/0.0.6/", "requires_dist": [ "numpy (==1.15.2)", "scipy (==1.1.0)", "pytest; extra == 'testing'" ], "requires_python": "", "summary": "Implementation of attack(-defense) trees.", "version": "0.0.6" }, "last_serial": 5225100, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "8f9640cb6cbaea790d13ff8756202e71", "sha256": "724005f93f1bf9ecf176948d77633217cecd26def50fece0235630e5f56489b2" }, "downloads": -1, "filename": "adtrees-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8f9640cb6cbaea790d13ff8756202e71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32277, "upload_time": "2018-12-31T13:10:53", "url": "https://files.pythonhosted.org/packages/dc/46/f57660addff9b1d51d649e7cccc858947f9b1e09a115861c882e71ecbf37/adtrees-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "198155f21e48b8ecbdfd15995d0eda9f", "sha256": "70682a41707a8b1897a434c9b640bf62aabf995fd78d9eb74e93cfc8ee8c0f8b" }, "downloads": -1, "filename": "adtrees-0.0.2.tar.gz", "has_sig": false, "md5_digest": "198155f21e48b8ecbdfd15995d0eda9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15860, "upload_time": "2018-12-31T13:10:56", "url": "https://files.pythonhosted.org/packages/fa/87/39e8d4f6c592ac1d6a94c0a79cb57762b73e22baea69ca6c5c5cbe3ecdf1/adtrees-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b2b358730ad467c784e929de5ccf5001", "sha256": "ede9f61ea9cb35cc975e05713cdbba1f8d354e0b608a367f456a8fef3f853f7c" }, "downloads": -1, "filename": "adtrees-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b2b358730ad467c784e929de5ccf5001", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32275, "upload_time": "2019-01-02T15:45:14", "url": "https://files.pythonhosted.org/packages/88/f8/7b78b09df99dad16e566b31c945c73c1830782576152084653146613bd2b/adtrees-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8845c60d26b93f90fd342da886471350", "sha256": "0c919e0f852b9d37f57bf04b64a74ec64c4da200731f3d601a1d68ba70470cdc" }, "downloads": -1, "filename": "adtrees-0.0.3.tar.gz", "has_sig": false, "md5_digest": "8845c60d26b93f90fd342da886471350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15880, "upload_time": "2019-01-02T15:45:16", "url": "https://files.pythonhosted.org/packages/ba/fe/96788655ee52394470cfed4d155882962e22be8d49fa726ac3c4b46fadef/adtrees-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "0f7339b3038b256d1812a789d661682e", "sha256": "a11758b9c7fc1ab9cc6e8a4445620e2cc927b5edffaac0499e9459c047f9e9b5" }, "downloads": -1, "filename": "adtrees-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0f7339b3038b256d1812a789d661682e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20340, "upload_time": "2019-02-12T13:49:55", "url": "https://files.pythonhosted.org/packages/cd/b1/62489bea46ebc10ec4978ded75ddd5beb2a2b69979054d28b20797b8eb63/adtrees-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ccfc949637991ba0ebf4c0e595aa0b1", "sha256": "58157f56123bf0f591efaa63010be8cf9fd09f11bb10a5c4f31d9a2eafa432b8" }, "downloads": -1, "filename": "adtrees-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7ccfc949637991ba0ebf4c0e595aa0b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16292, "upload_time": "2019-02-12T13:49:57", "url": "https://files.pythonhosted.org/packages/8d/5b/5975b0d48eecb083b0ffcf5f5289da82d6c9cef2f222bce08b7283d5a1df/adtrees-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "a0f54acda33b1db04e8fcb72f2264d47", "sha256": "1dc2ea60a3c3f2db58df115ccd366a370a07264143ed0196730b9daf495480ec" }, "downloads": -1, "filename": "adtrees-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a0f54acda33b1db04e8fcb72f2264d47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32173, "upload_time": "2019-04-06T11:05:53", "url": "https://files.pythonhosted.org/packages/aa/71/1e3bd771359546bd7bc17c26ee8838522136d64de0176d3f715013f42706/adtrees-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5de142151f6fb7208084e82c53936f6b", "sha256": "c5905f7d82e67a0e85ac29469ef08483a34a59012004fdc6a0d855b4c1b64130" }, "downloads": -1, "filename": "adtrees-0.0.5.tar.gz", "has_sig": false, "md5_digest": "5de142151f6fb7208084e82c53936f6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27145, "upload_time": "2019-04-06T11:05:55", "url": "https://files.pythonhosted.org/packages/bf/1d/3fe6f444421623f0a5ce857307458e0348feac46d6e5f749ef5e57825e8d/adtrees-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "1283d661e891369ce69d12014efffc66", "sha256": "9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e" }, "downloads": -1, "filename": "adtrees-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "1283d661e891369ce69d12014efffc66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32714, "upload_time": "2019-05-04T09:02:44", "url": "https://files.pythonhosted.org/packages/ad/c0/6119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3/adtrees-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "571f79847d0ba7d3b9e0d7130625d7f9", "sha256": "364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a" }, "downloads": -1, "filename": "adtrees-0.0.6.tar.gz", "has_sig": false, "md5_digest": "571f79847d0ba7d3b9e0d7130625d7f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27711, "upload_time": "2019-05-04T09:02:46", "url": "https://files.pythonhosted.org/packages/2d/85/e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e/adtrees-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1283d661e891369ce69d12014efffc66", "sha256": "9c923900ac60a7c965a167c529e242f717cde77a418d404494452188853d340e" }, "downloads": -1, "filename": "adtrees-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "1283d661e891369ce69d12014efffc66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32714, "upload_time": "2019-05-04T09:02:44", "url": "https://files.pythonhosted.org/packages/ad/c0/6119fcd6bb0f3cbf3e52c359637e50ff92d88930d0fd89c2fb0a330001c3/adtrees-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "571f79847d0ba7d3b9e0d7130625d7f9", "sha256": "364c937ce7ec9405ee94c7a894938e59bfc9044f5936ef73b8a41063e87e8d0a" }, "downloads": -1, "filename": "adtrees-0.0.6.tar.gz", "has_sig": false, "md5_digest": "571f79847d0ba7d3b9e0d7130625d7f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27711, "upload_time": "2019-05-04T09:02:46", "url": "https://files.pythonhosted.org/packages/2d/85/e6d61d56151c0f5fee08ab12e4700b97863eba2741ea6cb3f88577fb8a3e/adtrees-0.0.6.tar.gz" } ] }