{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "updated ../amitt_red_framework.md\n", "updated ../amitt_red_framework_clickable.html\n", "updated ../amitt_blue_framework.md\n", "updated ../amitt_blue_framework_clickable.html\n", "updated ../phases_index.md\n", "updated ../tactics_index.md\n", "Updating ../tactics/TA06.md\n", "Updating ../tactics/TA12.md\n", "updated ../techniques_index.md\n", "Updating ../techniques/T0025.md\n", "Updating ../techniques/T0062.md\n", "Updating ../techniques/T0063.md\n", "Updating ../techniques/T0064.md\n", "updated ../tasks_index.md\n", "Updating ../tasks/.md\n", "updated ../incidents_index.md\n", "updated ../counters_index.md\n", "updated ../metatechniques_index.md\n", "Updating ../metatechniques/M001.md\n", "updated ../actors_index.md\n", "updated ../responsetype_index.md\n", "updated ../detections_index.md\n", "updated ../tactics_by_responsetype_table.md\n", "updated ../metatechniques_by_responsetype_table.md\n" ] } ], "source": [ "import pandas as pd\n", "from generate_amitt_ttps import Amitt\n", "amitt = Amitt()\n", "amitt.generate_and_write_datafiles()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['df_phases', 'df_techniques', 'df_tasks', 'df_incidents', 'df_counters', 'df_detections', 'df_actors', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actors', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actorid'])\n" ] }, { "data": { "text/plain": [ "{'TA01': 'Strategic Planning',\n", " 'TA02': 'Objective Planning',\n", " 'TA03': 'Develop People',\n", " 'TA04': 'Develop Networks',\n", " 'TA05': 'Microtargeting',\n", " 'TA06': 'Develop Content',\n", " 'TA07': 'Channel Selection',\n", " 'TA08': 'Pump Priming',\n", " 'TA09': 'Exposure',\n", " 'TA10': 'Go Physical',\n", " 'TA11': 'Persistence',\n", " 'TA12': 'Measure Effectiveness'}" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check which amitt variables we can see from here\n", "print('{}'.format(vars(amitt).keys()))\n", "vars(amitt)['tactics']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# TEST AREA" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from generate_amitt_ttps import Amitt\n", "amitt = Amitt()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "updated ../amitt_red_framework.md\n", "updated ../amitt_red_framework_clickable.html\n", "updated ../amitt_blue_framework.md\n", "updated ../amitt_blue_framework_clickable.html\n" ] } ], "source": [ "amitt.write_amitt_frameworks()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "updated ../amitt_blue_framework.md\n", "updated ../amitt_blue_framework_clickable.html\n" ] } ], "source": [ "amitt.write_amitt_blue_framework_file(outfile = '../amitt_blue_framework.md')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "max(amitt.df_tactics['technique_ids'].apply(len))\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 [T0001, T0002, T0003, T0004]\n", "1 [T0005, T0006]\n", "2 [T0007, T0008, T0009]\n", "3 [T0010, T0011, T0012, T0013, T0014, T0015]\n", "4 [T0016, T0017, T0018]\n", "5 [T0019, T0020, T0021, T0022, T0023, T0024, T00...\n", "6 [T0029, T0030, T0031, T0032, T0033, T0034, T00...\n", "7 [T0039, T0040, T0041, T0042, T0043, T0044, T00...\n", "8 [T0047, T0048, T0049, T0050, T0051, T0052, T00...\n", "9 [T0057, T0061]\n", "10 [T0058, T0059, T0060]\n", "11 \n", "Name: technique_ids, dtype: object" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "amitt.df_tactics['technique_ids']" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(amitt.padded_techniques_tactics_table)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "amitt.max_num_techniques_per_tactic" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'xx'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }