536 строки
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			536 строки
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|  "cells": [
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 1,
 | |
|    "metadata": {
 | |
|     "scrolled": true
 | |
|    },
 | |
|    "outputs": [
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "Updating ../phases/P01.md\n",
 | |
|       "Updating ../phases/P02.md\n",
 | |
|       "Updating ../phases/P03.md\n",
 | |
|       "Updating ../phases/P04.md\n",
 | |
|       "Updating ../tactics/TA01.md\n",
 | |
|       "Updating ../tactics/TA02.md\n",
 | |
|       "Updating ../tactics/TA03.md\n",
 | |
|       "Updating ../tactics/TA04.md\n",
 | |
|       "Updating ../tactics/TA05.md\n",
 | |
|       "Updating ../tactics/TA06.md\n",
 | |
|       "Updating ../tactics/TA07.md\n",
 | |
|       "Updating ../tactics/TA08.md\n",
 | |
|       "Updating ../tactics/TA09.md\n",
 | |
|       "Updating ../tactics/TA10.md\n",
 | |
|       "Updating ../tactics/TA11.md\n",
 | |
|       "Updating ../tactics/TA12.md\n",
 | |
|       "Updating ../techniques/T0001.md\n",
 | |
|       "Updating ../techniques/T0002.md\n",
 | |
|       "Updating ../techniques/T0003.md\n",
 | |
|       "Updating ../techniques/T0004.md\n",
 | |
|       "Updating ../techniques/T0005.md\n",
 | |
|       "Updating ../techniques/T0006.md\n",
 | |
|       "Updating ../techniques/T0007.md\n",
 | |
|       "Updating ../techniques/T0008.md\n",
 | |
|       "Updating ../techniques/T0009.md\n",
 | |
|       "Updating ../techniques/T0010.md\n",
 | |
|       "Updating ../techniques/T0011.md\n",
 | |
|       "Updating ../techniques/T0012.md\n",
 | |
|       "Updating ../techniques/T0013.md\n",
 | |
|       "Updating ../techniques/T0014.md\n",
 | |
|       "Updating ../techniques/T0015.md\n",
 | |
|       "Updating ../techniques/T0016.md\n",
 | |
|       "Updating ../techniques/T0017.md\n",
 | |
|       "Updating ../techniques/T0018.md\n",
 | |
|       "Updating ../techniques/T0019.md\n",
 | |
|       "Updating ../techniques/T0020.md\n",
 | |
|       "Updating ../techniques/T0021.md\n",
 | |
|       "Updating ../techniques/T0022.md\n",
 | |
|       "Updating ../techniques/T0023.md\n",
 | |
|       "Updating ../techniques/T0024.md\n",
 | |
|       "Updating ../techniques/T0025.md\n",
 | |
|       "Updating ../techniques/T0026.md\n",
 | |
|       "Updating ../techniques/T0027.md\n",
 | |
|       "Updating ../techniques/T0028.md\n",
 | |
|       "Updating ../techniques/T0029.md\n",
 | |
|       "Updating ../techniques/T0030.md\n",
 | |
|       "Updating ../techniques/T0031.md\n",
 | |
|       "Updating ../techniques/T0032.md\n",
 | |
|       "Updating ../techniques/T0033.md\n",
 | |
|       "Updating ../techniques/T0034.md\n",
 | |
|       "Updating ../techniques/T0035.md\n",
 | |
|       "Updating ../techniques/T0036.md\n",
 | |
|       "Updating ../techniques/T0037.md\n",
 | |
|       "Updating ../techniques/T0038.md\n",
 | |
|       "Updating ../techniques/T0039.md\n",
 | |
|       "Updating ../techniques/T0040.md\n",
 | |
|       "Updating ../techniques/T0041.md\n",
 | |
|       "Updating ../techniques/T0042.md\n",
 | |
|       "Updating ../techniques/T0043.md\n",
 | |
|       "Updating ../techniques/T0044.md\n",
 | |
|       "Updating ../techniques/T0045.md\n",
 | |
|       "Updating ../techniques/T0046.md\n",
 | |
|       "Updating ../techniques/T0047.md\n",
 | |
|       "Updating ../techniques/T0048.md\n",
 | |
|       "Updating ../techniques/T0049.md\n",
 | |
|       "Updating ../techniques/T0050.md\n",
 | |
|       "Updating ../techniques/T0051.md\n",
 | |
|       "Updating ../techniques/T0052.md\n",
 | |
|       "Updating ../techniques/T0053.md\n",
 | |
|       "Updating ../techniques/T0054.md\n",
 | |
|       "Updating ../techniques/T0055.md\n",
 | |
|       "Updating ../techniques/T0056.md\n",
 | |
|       "Updating ../techniques/T0057.md\n",
 | |
|       "Updating ../techniques/T0058.md\n",
 | |
|       "Updating ../techniques/T0059.md\n",
 | |
|       "Updating ../techniques/T0060.md\n",
 | |
|       "Updating ../techniques/T0061.md\n",
 | |
|       "Updating ../tasks/TK0001.md\n",
 | |
|       "Updating ../tasks/TK0002.md\n",
 | |
|       "Updating ../tasks/TK0003.md\n",
 | |
|       "Updating ../tasks/TK0004.md\n",
 | |
|       "Updating ../tasks/TK0005.md\n",
 | |
|       "Updating ../tasks/TK0006.md\n",
 | |
|       "Updating ../tasks/TK0007.md\n",
 | |
|       "Updating ../tasks/TK0008.md\n",
 | |
|       "Updating ../tasks/TK0009.md\n",
 | |
|       "Updating ../tasks/TK0010.md\n",
 | |
|       "Updating ../tasks/TK0011.md\n",
 | |
|       "Updating ../tasks/TK0012.md\n",
 | |
|       "Updating ../tasks/TK0013.md\n",
 | |
|       "Updating ../tasks/TK0014.md\n",
 | |
|       "Updating ../tasks/TK0015.md\n",
 | |
|       "Updating ../tasks/TK0016.md\n",
 | |
|       "Updating ../tasks/TK0017.md\n",
 | |
|       "Updating ../tasks/TK0018.md\n",
 | |
|       "Updating ../tasks/TK0019.md\n",
 | |
|       "Updating ../tasks/TK0020.md\n",
 | |
|       "Updating ../tasks/TK0021.md\n",
 | |
|       "Updating ../tasks/TK0022.md\n",
 | |
|       "Updating ../tasks/TK0023.md\n",
 | |
|       "Updating ../tasks/TK0024.md\n",
 | |
|       "Updating ../tasks/TK0025.md\n",
 | |
|       "Updating ../tasks/TK0026.md\n",
 | |
|       "Updating ../tasks/TK0027.md\n",
 | |
|       "Updating ../tasks/TK0028.md\n",
 | |
|       "Updating ../tasks/TK0029.md\n",
 | |
|       "Updating ../tasks/TK0030.md\n",
 | |
|       "Updating ../incidents/I00001.md\n",
 | |
|       "Updating ../incidents/I00002.md\n",
 | |
|       "Updating ../incidents/I00003.md\n",
 | |
|       "Updating ../incidents/I00004.md\n",
 | |
|       "Updating ../incidents/I00005.md\n",
 | |
|       "Updating ../incidents/I00006.md\n",
 | |
|       "Updating ../incidents/I00007.md\n",
 | |
|       "Updating ../incidents/I00008.md\n",
 | |
|       "Updating ../incidents/I00009.md\n",
 | |
|       "Updating ../incidents/I00010.md\n",
 | |
|       "Updating ../incidents/I00011.md\n",
 | |
|       "Updating ../incidents/I00012.md\n",
 | |
|       "Updating ../incidents/I00013.md\n",
 | |
|       "Updating ../incidents/I00014.md\n",
 | |
|       "Updating ../incidents/I00015.md\n",
 | |
|       "Updating ../incidents/I00016.md\n",
 | |
|       "Updating ../incidents/I00017.md\n",
 | |
|       "Updating ../incidents/I00018.md\n",
 | |
|       "Updating ../incidents/I00019.md\n",
 | |
|       "Updating ../incidents/I00020.md\n",
 | |
|       "Updating ../incidents/I00021.md\n",
 | |
|       "Updating ../incidents/I00022.md\n",
 | |
|       "Updating ../incidents/I00023.md\n",
 | |
|       "Updating ../incidents/I00024.md\n",
 | |
|       "Updating ../incidents/I00025.md\n",
 | |
|       "Updating ../incidents/I00026.md\n",
 | |
|       "Updating ../incidents/I00027.md\n",
 | |
|       "Updating ../incidents/I00028.md\n",
 | |
|       "Updating ../incidents/I00029.md\n",
 | |
|       "Updating ../incidents/I00030.md\n",
 | |
|       "Updating ../incidents/I00031.md\n",
 | |
|       "Updating ../incidents/I00032.md\n",
 | |
|       "Updating ../incidents/I00033.md\n",
 | |
|       "Updating ../incidents/I00034.md\n",
 | |
|       "Updating ../incidents/I00035.md\n",
 | |
|       "Updating ../incidents/I00036.md\n",
 | |
|       "Updating ../incidents/I00037.md\n",
 | |
|       "Updating ../incidents/I00038.md\n",
 | |
|       "Updating ../incidents/I00039.md\n",
 | |
|       "Updating ../incidents/I00040.md\n",
 | |
|       "Updating ../incidents/I00041.md\n",
 | |
|       "Updating ../incidents/I00042.md\n",
 | |
|       "Updating ../incidents/I00043.md\n",
 | |
|       "Updating ../incidents/I00044.md\n",
 | |
|       "Updating ../incidents/I00045.md\n",
 | |
|       "Updating ../incidents/I00046.md\n",
 | |
|       "Updating ../incidents/I00047.md\n",
 | |
|       "Updating ../incidents/I00048.md\n",
 | |
|       "Updating ../incidents/I00049.md\n",
 | |
|       "Updating ../incidents/I00050.md\n",
 | |
|       "Updating ../incidents/I00051.md\n",
 | |
|       "Updating ../incidents/I00052.md\n",
 | |
|       "Updating ../incidents/I00053.md\n",
 | |
|       "Updating ../incidents/I00054.md\n",
 | |
|       "Updating ../incidents/I00055.md\n",
 | |
|       "Updating ../incidents/I00056.md\n",
 | |
|       "Updating ../incidents/I00057.md\n",
 | |
|       "Updating ../incidents/I00058.md\n",
 | |
|       "Updating ../incidents/I00059.md\n",
 | |
|       "Updating ../incidents/I00060.md\n",
 | |
|       "Updating ../incidents/I00061.md\n",
 | |
|       "Updating ../incidents/I00062.md\n",
 | |
|       "Updating ../incidents/I00063.md\n",
 | |
|       "Updating ../counters/C00001.md\n",
 | |
|       "Updating ../counters/C00003.md\n",
 | |
|       "Updating ../counters/C00004.md\n",
 | |
|       "Updating ../counters/C00005.md\n",
 | |
|       "Updating ../counters/C00006.md\n",
 | |
|       "Updating ../counters/C00007.md\n",
 | |
|       "Updating ../counters/C00008.md\n",
 | |
|       "Updating ../counters/C00009.md\n",
 | |
|       "Updating ../counters/C00010.md\n",
 | |
|       "Updating ../counters/C00011.md\n",
 | |
|       "Updating ../counters/C00012.md\n",
 | |
|       "Updating ../counters/C00013.md\n",
 | |
|       "Updating ../counters/C00014.md\n",
 | |
|       "Updating ../counters/C00015.md\n",
 | |
|       "Updating ../counters/C00016.md\n",
 | |
|       "Updating ../counters/C00017.md\n",
 | |
|       "Updating ../counters/C00018.md\n",
 | |
|       "Updating ../counters/C00019.md\n",
 | |
|       "Updating ../counters/C00020.md\n",
 | |
|       "Updating ../counters/C00021.md\n",
 | |
|       "Updating ../counters/C00022.md\n",
 | |
|       "Updating ../counters/C00023.md\n",
 | |
|       "Updating ../counters/C00024.md\n",
 | |
|       "Updating ../counters/C00025.md\n",
 | |
|       "Updating ../counters/C00026.md\n",
 | |
|       "Updating ../counters/C00027.md\n",
 | |
|       "Updating ../counters/C00028.md\n",
 | |
|       "Updating ../counters/C00029.md\n",
 | |
|       "Updating ../counters/C00030.md\n",
 | |
|       "Updating ../counters/C00031.md\n",
 | |
|       "Updating ../counters/C00032.md\n",
 | |
|       "Updating ../counters/C00033.md\n",
 | |
|       "Updating ../counters/C00034.md\n",
 | |
|       "Updating ../counters/C00035.md\n",
 | |
|       "Updating ../counters/C00036.md\n",
 | |
|       "Updating ../counters/C00039.md\n",
 | |
|       "Updating ../counters/C00040.md\n",
 | |
|       "Updating ../counters/C00042.md\n",
 | |
|       "Updating ../counters/C00043.md\n",
 | |
|       "Updating ../counters/C00044.md\n",
 | |
|       "Updating ../counters/C00045.md\n",
 | |
|       "Updating ../counters/C00046.md\n",
 | |
|       "Updating ../counters/C00047.md\n",
 | |
|       "Updating ../counters/C00048.md\n",
 | |
|       "Updating ../counters/C00049.md\n",
 | |
|       "Updating ../counters/C00050.md\n",
 | |
|       "Updating ../counters/C00051.md\n",
 | |
|       "Updating ../counters/C00052.md\n",
 | |
|       "Updating ../counters/C00053.md\n",
 | |
|       "Updating ../counters/C00054.md\n",
 | |
|       "Updating ../counters/C00055.md\n",
 | |
|       "Updating ../counters/C00056.md\n",
 | |
|       "Updating ../counters/C00057.md\n",
 | |
|       "Updating ../counters/C00058.md\n",
 | |
|       "Updating ../counters/C00059.md\n",
 | |
|       "Updating ../counters/C00060.md\n",
 | |
|       "Updating ../counters/C00061.md\n",
 | |
|       "Updating ../counters/C00062.md\n",
 | |
|       "Updating ../counters/C00063.md\n",
 | |
|       "Updating ../counters/C00065.md\n",
 | |
|       "Updating ../counters/C00066.md\n",
 | |
|       "Updating ../counters/C00067.md\n",
 | |
|       "Updating ../counters/C00068.md\n",
 | |
|       "Updating ../counters/C00069.md\n",
 | |
|       "Updating ../counters/C00070.md\n",
 | |
|       "Updating ../counters/C00071.md\n",
 | |
|       "Updating ../counters/C00072.md\n",
 | |
|       "Updating ../counters/C00073.md\n",
 | |
|       "Updating ../counters/C00074.md\n",
 | |
|       "Updating ../counters/C00075.md\n",
 | |
|       "Updating ../counters/C00076.md\n",
 | |
|       "Updating ../counters/C00077.md\n",
 | |
|       "Updating ../counters/C00078.md\n",
 | |
|       "Updating ../counters/C00079.md\n",
 | |
|       "Updating ../counters/C00080.md\n",
 | |
|       "Updating ../counters/C00081.md\n",
 | |
|       "Updating ../counters/C00082.md\n",
 | |
|       "Updating ../counters/C00084.md\n",
 | |
|       "Updating ../counters/C00085.md\n",
 | |
|       "Updating ../counters/C00086.md\n",
 | |
|       "Updating ../counters/C00087.md\n",
 | |
|       "Updating ../counters/C00088.md\n",
 | |
|       "Updating ../counters/C00089.md\n",
 | |
|       "Updating ../counters/C00090.md\n",
 | |
|       "Updating ../counters/C00091.md\n",
 | |
|       "Updating ../counters/C00092.md\n",
 | |
|       "Updating ../counters/C00093.md\n",
 | |
|       "Updating ../counters/C00094.md\n",
 | |
|       "Updating ../counters/C00095.md\n",
 | |
|       "Updating ../counters/C00096.md\n",
 | |
|       "Updating ../counters/C00097.md\n",
 | |
|       "Updating ../counters/C00098.md\n",
 | |
|       "Updating ../counters/C00099.md\n",
 | |
|       "Updating ../counters/C00100.md\n",
 | |
|       "Updating ../counters/C00101.md\n",
 | |
|       "Updating ../counters/C00102.md\n",
 | |
|       "Updating ../counters/C00103.md\n",
 | |
|       "Updating ../counters/C00105.md\n",
 | |
|       "Updating ../counters/C00106.md\n",
 | |
|       "Updating ../counters/C00107.md\n",
 | |
|       "Updating ../counters/C00109.md\n",
 | |
|       "Updating ../counters/C00110.md\n",
 | |
|       "Updating ../counters/C00111.md\n",
 | |
|       "Updating ../counters/C00112.md\n",
 | |
|       "Updating ../counters/C00113.md\n",
 | |
|       "Updating ../counters/C00114.md\n",
 | |
|       "Updating ../counters/C00115.md\n"
 | |
|      ]
 | |
|     },
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "Updating ../counters/C00116.md\n",
 | |
|       "Updating ../counters/C00117.md\n",
 | |
|       "Updating ../counters/C00118.md\n",
 | |
|       "Updating ../counters/C00119.md\n",
 | |
|       "Updating ../counters/C00120.md\n",
 | |
|       "Updating ../counters/C00121.md\n",
 | |
|       "Updating ../counters/C00122.md\n",
 | |
|       "Updating ../counters/C00123.md\n",
 | |
|       "Updating ../counters/C00124.md\n",
 | |
|       "Updating ../counters/C00125.md\n",
 | |
|       "Updating ../counters/C00126.md\n",
 | |
|       "Updating ../counters/C00128.md\n",
 | |
|       "Updating ../counters/C00129.md\n",
 | |
|       "Updating ../counters/C00130.md\n",
 | |
|       "Updating ../counters/C00131.md\n",
 | |
|       "Updating ../counters/C00133.md\n",
 | |
|       "Updating ../counters/C00135.md\n",
 | |
|       "Updating ../counters/C00136.md\n",
 | |
|       "Updating ../counters/C00137.md\n",
 | |
|       "Updating ../counters/C00138.md\n",
 | |
|       "Updating ../counters/C00139.md\n",
 | |
|       "Updating ../counters/C00140.md\n",
 | |
|       "Updating ../counters/C00141.md\n",
 | |
|       "Updating ../counters/C00142.md\n",
 | |
|       "Updating ../counters/C00143.md\n",
 | |
|       "Updating ../counters/C00144.md\n",
 | |
|       "Updating ../counters/C00145.md\n",
 | |
|       "Updating ../counters/C00147.md\n",
 | |
|       "Updating ../counters/C00148.md\n",
 | |
|       "Updating ../counters/C00149.md\n",
 | |
|       "Updating ../counters/C00150.md\n",
 | |
|       "Updating ../counters/C00151.md\n",
 | |
|       "Updating ../counters/C00152.md\n",
 | |
|       "Updating ../counters/C00153.md\n",
 | |
|       "Updating ../counters/C00154.md\n",
 | |
|       "Updating ../counters/C00155.md\n",
 | |
|       "Updating ../counters/C00156.md\n",
 | |
|       "Updating ../counters/C00157.md\n",
 | |
|       "Updating ../counters/C00158.md\n",
 | |
|       "Updating ../counters/C00159.md\n",
 | |
|       "Updating ../counters/C00160.md\n",
 | |
|       "Updating ../counters/C00161.md\n",
 | |
|       "Updating ../counters/C00162.md\n",
 | |
|       "Updating ../counters/C00164.md\n",
 | |
|       "Updating ../counters/C00165.md\n",
 | |
|       "Updating ../counters/C00167.md\n",
 | |
|       "Updating ../counters/C00169.md\n",
 | |
|       "Updating ../counters/C00170.md\n",
 | |
|       "Updating ../counters/C00171.md\n",
 | |
|       "Updating ../counters/C00172.md\n",
 | |
|       "Updating ../counters/C00174.md\n",
 | |
|       "Updating ../counters/C00176.md\n",
 | |
|       "Updating ../counters/C00178.md\n",
 | |
|       "Updating ../counters/C00179.md\n",
 | |
|       "Updating ../counters/C00182.md\n",
 | |
|       "Updating ../counters/C00184.md\n",
 | |
|       "Updating ../counters/C00188.md\n",
 | |
|       "Updating ../counters/C00189.md\n",
 | |
|       "Updating ../counters/C00190.md\n",
 | |
|       "Updating ../counters/C00193.md\n",
 | |
|       "Updating ../counters/C00194.md\n",
 | |
|       "Updating ../counters/C00195.md\n",
 | |
|       "Updating ../counters/C00196.md\n",
 | |
|       "Updating ../counters/C00197.md\n",
 | |
|       "Updating ../counters/C00200.md\n",
 | |
|       "Updating ../counters/C00202.md\n",
 | |
|       "Updating ../counters/C00203.md\n",
 | |
|       "Updating ../counters/C00204.md\n",
 | |
|       "Updating ../counters/C00205.md\n",
 | |
|       "Updating ../counters/C00207.md\n",
 | |
|       "Updating ../counters/C00210.md\n",
 | |
|       "Updating ../counters/C00211.md\n",
 | |
|       "Updating ../counters/C00212.md\n",
 | |
|       "Updating ../counters/C00214.md\n",
 | |
|       "Updating ../counters/C00215.md\n",
 | |
|       "Updating ../counters/C00216.md\n",
 | |
|       "Updating ../counters/C00217.md\n",
 | |
|       "Updating ../counters/C00218.md\n",
 | |
|       "Updating ../counters/C00219.md\n"
 | |
|      ]
 | |
|     }
 | |
|    ],
 | |
|    "source": [
 | |
|     "from generate_amitt_ttps import Amitt\n",
 | |
|     "amitt = Amitt()\n",
 | |
|     "amitt.generate_and_write_datafiles()"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "vars(amitt)['tactics']"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "vars(amitt).keys()"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "###. TEST AREA"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "def create_tactic_counters_string(tactic_id):\n",
 | |
|     "    table_string = '''\n",
 | |
|     "| Response types | Counters |\n",
 | |
|     "| -------------- | -------- |\n",
 | |
|     "'''\n",
 | |
|     "    tactic_counters = amitt.df_counters[amitt.df_counters['tactic_id']==tactic_id]\n",
 | |
|     "    row_string = '| {0} | [{1} {2}](../counters/{1}.md) |\\n'\n",
 | |
|     "    for index, row in tactic_counters.sort_values(['responsetype', 'id']).iterrows():\n",
 | |
|     "        table_string += row_string.format(row['responsetype'], row['id'], row['name'])\n",
 | |
|     "    return table_string\n",
 | |
|     "\n",
 | |
|     "\n",
 | |
|     "def create_technique_counters_string(technique_id):\n",
 | |
|     "    table_string = '''\n",
 | |
|     "| Counters |\n",
 | |
|     "| -------- |\n",
 | |
|     "'''\n",
 | |
|     "    technique_counters = amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id']==technique_id]\n",
 | |
|     "    technique_counters = pd.merge(technique_counters, amitt.df_counters[['id', 'name']])\n",
 | |
|     "    row_string = '| [{0} {1}](../counters/{0}.md) |\\n'\n",
 | |
|     "    for index, row in technique_counters.sort_values('id').iterrows():\n",
 | |
|     "        table_string += row_string.format(row['id'], row['name'])\n",
 | |
|     "    return table_string\n",
 | |
|     "\n",
 | |
|     "create_technique_counters_string('TA01')"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {
 | |
|     "scrolled": true
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "amitt.df_counters"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id'] == 'T0006']"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "amitt.cross_counterid_techniqueid"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "import pandas as pd\n",
 | |
|     "technique_id='T0006'\n",
 | |
|     "xx = amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id']==technique_id]\n",
 | |
|     "pd.merge(xx, amitt.df_counters[['id', 'name']])"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "tactics=self.create_counter_tactics_string(row['id'])\n",
 | |
|     "techniques=self.create_counter_techniques_string(row['id'])\n",
 | |
|     "incidents=self.create_counter_incidents_string(row['id'])"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "metadata": {},
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "pd.pivot_table(amitt.df_counters[['tactic_id', 'responsetype','id']], index='responsetype', columns='tactic_id', aggfunc=len, fill_value=0)"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "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
 | |
| }
 | 
