{ "info": { "author": "Swimlane", "author_email": "info@swimlane.com", "bugtrack_url": null, "classifiers": [], "description": "# pyattck\n\n[![Documentation Status](https://readthedocs.org/projects/pyattck/badge/?version=latest)](https://pyattck.readthedocs.io/en/latest/?badge=latest)\n\n```\n.______ ____ ____ ___ .___________.___________. ______ __ ___ \n| _ \\ \\ \\ / / / \\ | | | / || |/ / \n| |_) | \\ \\/ / / ^ \\ `---| |----`---| |----`| ,----'| ' / \n| ___/ \\_ _/ / /_\\ \\ | | | | | | | < \n| | | | / _____ \\ | | | | | `----.| . \\ \n| _| |__| /__/ \\__\\ |__| |__| \\______||__|\\__\\ \n\n```\n\nA Python Module to interact with the Mitre ATT&CK Framework\n\n**pyattck** has the following notable features in it's current release:\n\n* Retrieve all Tactics, Techniques, Actors, Malware, Tools, and Mitigations\n* All techniques have suggested mitigations as a property\n* For each class you can access additional information about related data points:\n\n* Actors\n * Tools used by the Actor or Group\n * Malware used by the Actor or Group\n * Techniques this Actor or Group uses\n* Malwares\n * Actor or Group(s) using this malware\n * Techniques this malware is used with\n* Mitigations\n * Techniques related to a specific set of mitigation suggestions\n* Tactics\n * Techniques found in a specific Tactic (phase)\n* Techniques\n * Tactics a technique is found in\n * Mitigation suggestions for a given technique\n * Actor or Group(s) identified as using this technique\n* Tools\n * Techniques that the specified tool is used within\n * Actor or Group(s) using a specified tool\n\n\n## Installation\n\nOS X & Linux:\n\n```sh\npip install pyattck\n```\n\nWindows:\n\n```sh\npip install pyattck\n```\n\n## Usage example\n\nTo use **pyattck** you must instantiate a **Attck** object:\n\n```python\nfrom pyattck import Attck\n\nattack = Attck()\n```\n\nBy default **pyattck** will pull the latest json from Mitre. If you would like to reference and save a local copy of this json file you can provide a file path when an **Attck** object is created:\n\n```python\nfrom pyattck import Attck\n\nattack = Attck(local_file_path='/some/local/path')\n# Alternatively you can provide a full filename\n#attack = Attck(local_file_path='/some/local/path/attck.json')\n```\n\n\nYou can access the following properties on your **Attck** object:\n\n* actor\n* malware\n* mitigation\n* tactic\n* technique\n* tools\n\nBelow are examples of accessing each of these properties:\n\n```python\nfrom pyattck import Attck\n\nattack = Attck()\n\n# accessing actors\nfor actor in attack.actors:\n print(actor)\n\n # accessing malware used by an actor or group\n for malware in actor.malwares:\n print(malware)\n\n # accessing tools used by an actor or group\n for tool in actor.tools:\n print(tool)\n\n # accessing techniques used by an actor or group\n for technique in actor.techniques:\n print(technique)\n\n# accessing malware\nfor malware in attack.malwares:\n print(malware)\n\n # accessing actor or groups using this malware\n for actor in malware.actors:\n print(actor)\n\n # accessing techniques that this malware is used in\n for technique in malware.techniques:\n print(technique)\n\n# accessing mitigation\nfor mitigation in attack.mitigations:\n print(mitigation)\n\n # accessing techniques related to mitigation recommendations\n for technique in mitigation.techniques:\n print(technique)\n\n# accessing tactics\nfor tactic in attack.tactics:\n print(tactic)\n\n # accessing techniques related to this tactic\n for technique in tactic.techniques:\n print(technique)\n\n# accessing techniques\nfor technique in attack.techniques:\n print(technique)\n\n # accessing tactics that this technique belongs to\n for tactic in technique.tactics:\n print(tactic)\n\n # accessing mitigation recommendations for this technique\n for mitigation in technique.mitigations:\n print(mitigation)\n\n # accessing actors using this technique\n for actor in technique.actors:\n print(actor)\n\n\n# accessing tools\nfor tool in attack.tools:\n print(tool)\n\n # accessing techniques this tool is used in\n for technique in tool.techniques:\n print(technique)\n\n # accessing actor or groups using this tool\n for actor in tool.actors:\n print(actor)\n\n```\n\n## Release History\n\n* 1.0.0\n * Initial release of pyattck to PyPi\n* 1.0.1\n * Updating Documentation with new reference links\n* 1.0.2\n * Updated Documentation\n* 1.0.3\n * Fixed issue with appending techniques correctly\n* 1.0.4\n * Added ability to save a local copy of the downloaded Mitre ATT&CK JSON\n\n## Meta\n\nJosh Rickard \u2013 [@MSAdministrator](https://twitter.com/MSAdministrator) \u2013 rickardja@live.com\n\nDistributed under the MIT license. See ``LICENSE`` for more information.\n\n## Contributing\n\n1. Fork it ()\n2. Create your feature branch (`git checkout -b feature/fooBar`)\n3. Commit your changes (`git commit -am 'Add some fooBar'`)\n4. Push to the branch (`git push origin feature/fooBar`)\n5. Create a new Pull Request\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/swimlane/pyattck", "keywords": "att&ck,mitre,swimlane", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyattck", "package_url": "https://pypi.org/project/pyattck/", "platform": "", "project_url": "https://pypi.org/project/pyattck/", "project_urls": { "Homepage": "https://github.com/swimlane/pyattck" }, "release_url": "https://pypi.org/project/pyattck/1.0.4/", "requires_dist": [ "requests" ], "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "summary": "A Python package to interact with the Mitre ATT&CK Framework", "version": "1.0.4" }, "last_serial": 5826413, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "ca18dd9efd686f20a4b54f4b4c7a33f8", "sha256": "0fd149314f9f0fd0bc2fe2b4b4bda46d43da5af84268009b5d0bbca5dcf85a32" }, "downloads": -1, "filename": "pyattck-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ca18dd9efd686f20a4b54f4b4c7a33f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11337, "upload_time": "2019-05-17T03:36:49", "url": "https://files.pythonhosted.org/packages/d6/33/b88cdb2e71615568a943b59f2b1a9f3adc7988cddbd8940c1f670bfee181/pyattck-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a460afc5234138a79156df906ae5fd6", "sha256": "d926d4ff26538f31b0e8bdee911f36ce75b53ef268896cbbf2c19c034ce5a123" }, "downloads": -1, "filename": "pyattck-1.0.0.tar.gz", "has_sig": false, "md5_digest": "2a460afc5234138a79156df906ae5fd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7992, "upload_time": "2019-05-17T03:36:51", "url": "https://files.pythonhosted.org/packages/dd/a7/29ad352fa3df0db86c20a20e4cddae8682690f4f1ab9296ba62618c00893/pyattck-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "761dbcece45623b4e20baa6bc35839d1", "sha256": "bff1e7d279f4095095f43652937ada37ae4a92f2d9dfa1fdc3dad097fe249cdb" }, "downloads": -1, "filename": "pyattck-1.0.1-py2.7.egg", "has_sig": false, "md5_digest": "761dbcece45623b4e20baa6bc35839d1", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 22592, "upload_time": "2019-05-30T19:05:32", "url": "https://files.pythonhosted.org/packages/5e/d5/3afa1f7151248b2338641b231b483910592bfe60be50b5f8ea85038b8ce5/pyattck-1.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "36eb5f539cb3ca327b94c5ed5fffaf64", "sha256": "eacaf4a2e0d80f3fc47de450252bd95f92ecf14cbe510ae052f034ca776465f2" }, "downloads": -1, "filename": "pyattck-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "36eb5f539cb3ca327b94c5ed5fffaf64", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 11366, "upload_time": "2019-05-22T20:51:12", "url": "https://files.pythonhosted.org/packages/57/d9/7ba4c34eff5b96f2d96cf38850044831cb9f31c28099773f113050438ab7/pyattck-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dfaf92eb491370599d30590916c6917", "sha256": "e836e07b0cf3b174bb1dc3b9f3ecd0b1ce4fb2beb8bd5c5b5605c07c6ee2ee2a" }, "downloads": -1, "filename": "pyattck-1.0.1-py3.7.egg", "has_sig": false, "md5_digest": "1dfaf92eb491370599d30590916c6917", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 22998, "upload_time": "2019-05-30T19:05:33", "url": "https://files.pythonhosted.org/packages/98/d4/15507600d5699d94e8025146c6048d0ea6ad84b3ced4e01a5e9bfa8452c4/pyattck-1.0.1-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "7ac2c47205fe124d11712e1afe4512aa", "sha256": "23f59f3a04ff789a0de61b34e32ee8d3046738c67eb720932a9ceb41ef9930ed" }, "downloads": -1, "filename": "pyattck-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7ac2c47205fe124d11712e1afe4512aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 8213, "upload_time": "2019-05-22T20:51:14", "url": "https://files.pythonhosted.org/packages/e9/81/5cc9d6af8521196ba17f188141856c2fc02cc3b3bce989ab8d39d6be1076/pyattck-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "aafbf4864a7d7cffa3f703ee58bcd83a", "sha256": "ecfa6bb4c57876796150468bd8ab5aecbdff7fd92670b378357f582f689e2b7e" }, "downloads": -1, "filename": "pyattck-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "aafbf4864a7d7cffa3f703ee58bcd83a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 11584, "upload_time": "2019-05-30T19:05:29", "url": "https://files.pythonhosted.org/packages/d9/35/4ce2f24caac8c8e62eb1de1c3d8353863c00157439c7c5321c0d06b74c59/pyattck-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e92ef17f0413223118898733818eca9e", "sha256": "db6a62093efff62b6c5b47b7a37f8b6dc7c14fb25d8567982fb7936effd4dc42" }, "downloads": -1, "filename": "pyattck-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e92ef17f0413223118898733818eca9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 11584, "upload_time": "2019-05-30T19:05:31", "url": "https://files.pythonhosted.org/packages/6f/bd/04af8a5db73e2cabb4ae5f209d871e6713e280becaeb1ed6ea31e0d1e391/pyattck-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39c0f17acda67db7653f8027c3d9c751", "sha256": "061b2595b1ba6c3458957d5b9c288abc2e298bd6777800e63544b8add9173b09" }, "downloads": -1, "filename": "pyattck-1.0.2.tar.gz", "has_sig": false, "md5_digest": "39c0f17acda67db7653f8027c3d9c751", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 8548, "upload_time": "2019-05-30T19:05:35", "url": "https://files.pythonhosted.org/packages/a1/c6/9a90aab2ed7d6e418810ec343bd7535ca63dbc5e7b858865eefc0a1f6bfb/pyattck-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "f29ff275308a09f1510722398ab27b12", "sha256": "f969f24845f726580ed08bb84466fd3c26fb9be7ebdcb9c76458b40120f9fd78" }, "downloads": -1, "filename": "pyattck-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f29ff275308a09f1510722398ab27b12", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 11631, "upload_time": "2019-08-12T18:21:32", "url": "https://files.pythonhosted.org/packages/51/c5/8cd8b8e3b7ceafef00071f82705b104861584df5574098c808e751e51181/pyattck-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5c2cdd6a184272a036cba2913be7016", "sha256": "6d3559af4cdabf27613016c0f359b630fc7a1b76a832eb877f30e354a65fc7f2" }, "downloads": -1, "filename": "pyattck-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d5c2cdd6a184272a036cba2913be7016", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 11629, "upload_time": "2019-08-12T18:21:33", "url": "https://files.pythonhosted.org/packages/49/c1/2e794836047ba8c7adf28350fdd2e601b65334f61d4c91a340ad69fa7311/pyattck-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9470c6310888ca7956ef504409bc1b9", "sha256": "43fb39d23e4e77f189fb154b8b580ebe9b92df4f92bcfacad74f9323c4f82c54" }, "downloads": -1, "filename": "pyattck-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f9470c6310888ca7956ef504409bc1b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 8762, "upload_time": "2019-08-12T18:21:34", "url": "https://files.pythonhosted.org/packages/48/4f/206479a6406264c61bd103caa98bdfce11e04601ef1dafc8f6737936ec02/pyattck-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "cebde244df1c27ade6fb9082ea8d02ba", "sha256": "e8d9234958751939a170798be2451a6d6adc558cd25a57ca7756729ed19438a0" }, "downloads": -1, "filename": "pyattck-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "cebde244df1c27ade6fb9082ea8d02ba", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 12005, "upload_time": "2019-09-13T15:44:03", "url": "https://files.pythonhosted.org/packages/38/d9/b7fd70461771f85e41b7e374c651ed02a0d3f00ce8851568586c2d8f579e/pyattck-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86cbff5e0e0fb25da63eb285af6c966", "sha256": "b18469e0183b4c310ec6dc4ce63de77a42800f801f4cb860e1bd1060f9f5ec0e" }, "downloads": -1, "filename": "pyattck-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e86cbff5e0e0fb25da63eb285af6c966", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 12004, "upload_time": "2019-09-13T15:44:05", "url": "https://files.pythonhosted.org/packages/2d/75/841fcac3a159c8b74ef68a5092717ce0c1fa2a348bd38f8bdebb22f55948/pyattck-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "076c0556495cf15d092a11899e06828c", "sha256": "62089ab316d2bcfe1d6d4e1a5299c788fee6f620e24da3723a13c95b0f6f880c" }, "downloads": -1, "filename": "pyattck-1.0.4.tar.gz", "has_sig": false, "md5_digest": "076c0556495cf15d092a11899e06828c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 9293, "upload_time": "2019-09-13T15:44:07", "url": "https://files.pythonhosted.org/packages/f3/70/b426e7af48539bdc7699fb2209b6cf2a9b7f5af03c2dd8585b6eca229806/pyattck-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cebde244df1c27ade6fb9082ea8d02ba", "sha256": "e8d9234958751939a170798be2451a6d6adc558cd25a57ca7756729ed19438a0" }, "downloads": -1, "filename": "pyattck-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "cebde244df1c27ade6fb9082ea8d02ba", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 12005, "upload_time": "2019-09-13T15:44:03", "url": "https://files.pythonhosted.org/packages/38/d9/b7fd70461771f85e41b7e374c651ed02a0d3f00ce8851568586c2d8f579e/pyattck-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86cbff5e0e0fb25da63eb285af6c966", "sha256": "b18469e0183b4c310ec6dc4ce63de77a42800f801f4cb860e1bd1060f9f5ec0e" }, "downloads": -1, "filename": "pyattck-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e86cbff5e0e0fb25da63eb285af6c966", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 12004, "upload_time": "2019-09-13T15:44:05", "url": "https://files.pythonhosted.org/packages/2d/75/841fcac3a159c8b74ef68a5092717ce0c1fa2a348bd38f8bdebb22f55948/pyattck-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "076c0556495cf15d092a11899e06828c", "sha256": "62089ab316d2bcfe1d6d4e1a5299c788fee6f620e24da3723a13c95b0f6f880c" }, "downloads": -1, "filename": "pyattck-1.0.4.tar.gz", "has_sig": false, "md5_digest": "076c0556495cf15d092a11899e06828c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 9293, "upload_time": "2019-09-13T15:44:07", "url": "https://files.pythonhosted.org/packages/f3/70/b426e7af48539bdc7699fb2209b6cf2a9b7f5af03c2dd8585b6eca229806/pyattck-1.0.4.tar.gz" } ] }