443 строки
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			443 строки
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|  "cells": [
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": 1,
 | |
|    "metadata": {
 | |
|     "scrolled": true
 | |
|    },
 | |
|    "outputs": [
 | |
|     {
 | |
|      "name": "stdout",
 | |
|      "output_type": "stream",
 | |
|      "text": [
 | |
|       "updated ../incidents_list.md\n",
 | |
|       "updated ../amitt_red_framework.md\n",
 | |
|       "updated ../amitt_blue_framework.md\n",
 | |
|       "updated ../amitt_red_framework_clickable.html\n",
 | |
|       "Writing ../counter_tactics/TA01counters.md\n",
 | |
|       "Writing ../counter_tactics/TA02counters.md\n",
 | |
|       "Writing ../counter_tactics/TA03counters.md\n",
 | |
|       "Writing ../counter_tactics/TA04counters.md\n",
 | |
|       "Writing ../counter_tactics/TA05counters.md\n",
 | |
|       "Writing ../counter_tactics/TA06counters.md\n",
 | |
|       "Writing ../counter_tactics/TA07counters.md\n",
 | |
|       "Writing ../counter_tactics/TA08counters.md\n",
 | |
|       "Writing ../counter_tactics/TA09counters.md\n",
 | |
|       "Writing ../counter_tactics/TA10counters.md\n",
 | |
|       "Writing ../counter_tactics/TA11counters.md\n",
 | |
|       "Writing ../counter_tactics/TA12counters.md\n",
 | |
|       "updated ../tactics_by_responsetype_table.md\n",
 | |
|       "Writing ../metatechniques/cleaningcounters.md\n",
 | |
|       "Writing ../metatechniques/countermessagingcounters.md\n",
 | |
|       "Writing ../metatechniques/data pollutioncounters.md\n",
 | |
|       "Writing ../metatechniques/daylightcounters.md\n",
 | |
|       "Writing ../metatechniques/dilutioncounters.md\n",
 | |
|       "Writing ../metatechniques/diversioncounters.md\n",
 | |
|       "Writing ../metatechniques/frictioncounters.md\n",
 | |
|       "Writing ../metatechniques/metatechniquecounters.md\n",
 | |
|       "Writing ../metatechniques/reduce resourcescounters.md\n",
 | |
|       "Writing ../metatechniques/removalcounters.md\n",
 | |
|       "Writing ../metatechniques/resiliencecounters.md\n",
 | |
|       "Writing ../metatechniques/scoringcounters.md\n",
 | |
|       "Writing ../metatechniques/targetingcounters.md\n",
 | |
|       "Writing ../metatechniques/verificationcounters.md\n",
 | |
|       "updated ../metatechniques_by_responsetype_table.md\n",
 | |
|       "Writing ../resources_needed/DHScounters.md\n",
 | |
|       "Writing ../resources_needed/NGOcounters.md\n",
 | |
|       "Writing ../resources_needed/activistscounters.md\n",
 | |
|       "Writing ../resources_needed/adtechcounters.md\n",
 | |
|       "Writing ../resources_needed/civil_societycounters.md\n",
 | |
|       "Writing ../resources_needed/community_groupscounters.md\n",
 | |
|       "Writing ../resources_needed/companiescounters.md\n",
 | |
|       "Writing ../resources_needed/content_creatorscounters.md\n",
 | |
|       "Writing ../resources_needed/data_scientistcounters.md\n",
 | |
|       "Writing ../resources_needed/datastreamscounters.md\n",
 | |
|       "Writing ../resources_needed/developerscounters.md\n",
 | |
|       "Writing ../resources_needed/educatorscounters.md\n",
 | |
|       "Writing ../resources_needed/elvescounters.md\n",
 | |
|       "Writing ../resources_needed/factcheckerscounters.md\n",
 | |
|       "Writing ../resources_needed/fundingcounters.md\n",
 | |
|       "Writing ../resources_needed/gamesdesignerscounters.md\n",
 | |
|       "Writing ../resources_needed/governmentcounters.md\n",
 | |
|       "Writing ../resources_needed/government:policymakerscounters.md\n",
 | |
|       "Writing ../resources_needed/influencerscounters.md\n",
 | |
|       "Writing ../resources_needed/influencers:trusted_authoritycounters.md\n",
 | |
|       "Writing ../resources_needed/infoseccounters.md\n",
 | |
|       "Writing ../resources_needed/librariescounters.md\n",
 | |
|       "Writing ../resources_needed/mediacounters.md\n",
 | |
|       "Writing ../resources_needed/militarycounters.md\n",
 | |
|       "Writing ../resources_needed/moneycounters.md\n",
 | |
|       "Writing ../resources_needed/platform_admincounters.md\n",
 | |
|       "Writing ../resources_needed/platform_admin:adtechcounters.md\n",
 | |
|       "Writing ../resources_needed/platform_admin:fundingsitescounters.md\n",
 | |
|       "Writing ../resources_needed/platform_admin:socialmediacounters.md\n",
 | |
|       "Writing ../resources_needed/platform_algorithmscounters.md\n",
 | |
|       "Writing ../resources_needed/platform_outreachcounters.md\n",
 | |
|       "Writing ../resources_needed/platformscounters.md\n",
 | |
|       "Writing ../resources_needed/publiccounters.md\n",
 | |
|       "Writing ../resources_needed/public:account_ownerscounters.md\n",
 | |
|       "Writing ../resources_needed/religious_organisationscounters.md\n",
 | |
|       "Writing ../resources_needed/schoolscounters.md\n",
 | |
|       "Writing ../resources_needed/server_admincounters.md\n",
 | |
|       "updated ../resources_by_responsetype_table.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": 5,
 | |
|    "metadata": {},
 | |
|    "outputs": [
 | |
|     {
 | |
|      "data": {
 | |
|       "text/plain": [
 | |
|        "[['P01',\n",
 | |
|        "  'P01',\n",
 | |
|        "  'P02',\n",
 | |
|        "  'P02',\n",
 | |
|        "  'P02',\n",
 | |
|        "  'P02',\n",
 | |
|        "  'P02',\n",
 | |
|        "  'P03',\n",
 | |
|        "  'P03',\n",
 | |
|        "  'P03',\n",
 | |
|        "  'P03',\n",
 | |
|        "  'P04'],\n",
 | |
|        " ['TA01',\n",
 | |
|        "  'TA02',\n",
 | |
|        "  'TA03',\n",
 | |
|        "  'TA04',\n",
 | |
|        "  'TA05',\n",
 | |
|        "  'TA06',\n",
 | |
|        "  'TA07',\n",
 | |
|        "  'TA08',\n",
 | |
|        "  'TA09',\n",
 | |
|        "  'TA10',\n",
 | |
|        "  'TA11',\n",
 | |
|        "  'TA12'],\n",
 | |
|        " ['C00001',\n",
 | |
|        "  'C00028',\n",
 | |
|        "  'C00033',\n",
 | |
|        "  'C00049',\n",
 | |
|        "  'C00063',\n",
 | |
|        "  'C00070',\n",
 | |
|        "  'C00097',\n",
 | |
|        "  'C00112',\n",
 | |
|        "  'C00122',\n",
 | |
|        "  'C00129',\n",
 | |
|        "  'C00131',\n",
 | |
|        "  'C00147'],\n",
 | |
|        " ['C00003',\n",
 | |
|        "  'C00029',\n",
 | |
|        "  'C00034',\n",
 | |
|        "  'C00050',\n",
 | |
|        "  'C00065',\n",
 | |
|        "  'C00071',\n",
 | |
|        "  'C00098',\n",
 | |
|        "  'C00113',\n",
 | |
|        "  'C00123',\n",
 | |
|        "  'C00130',\n",
 | |
|        "  'C00133',\n",
 | |
|        "  'C00148'],\n",
 | |
|        " ['C00004',\n",
 | |
|        "  'C00030',\n",
 | |
|        "  'C00035',\n",
 | |
|        "  'C00051',\n",
 | |
|        "  'C00066',\n",
 | |
|        "  'C00072',\n",
 | |
|        "  'C00099',\n",
 | |
|        "  'C00114',\n",
 | |
|        "  'C00124',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00135',\n",
 | |
|        "  'C00149'],\n",
 | |
|        " ['C00005',\n",
 | |
|        "  'C00031',\n",
 | |
|        "  'C00036',\n",
 | |
|        "  'C00052',\n",
 | |
|        "  'C00067',\n",
 | |
|        "  'C00073',\n",
 | |
|        "  'C00100',\n",
 | |
|        "  'C00115',\n",
 | |
|        "  'C00125',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00136',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00006',\n",
 | |
|        "  'C00032',\n",
 | |
|        "  'C00039',\n",
 | |
|        "  'C00053',\n",
 | |
|        "  'C00068',\n",
 | |
|        "  'C00074',\n",
 | |
|        "  'C00101',\n",
 | |
|        "  'C00116',\n",
 | |
|        "  'C00126',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00137',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00007',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00040',\n",
 | |
|        "  'C00054',\n",
 | |
|        "  'C00069',\n",
 | |
|        "  'C00075',\n",
 | |
|        "  'C00102',\n",
 | |
|        "  'C00117',\n",
 | |
|        "  'C00128',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00138',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00008',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00042',\n",
 | |
|        "  'C00055',\n",
 | |
|        "  'C00216',\n",
 | |
|        "  'C00076',\n",
 | |
|        "  'C00103',\n",
 | |
|        "  'C00118',\n",
 | |
|        "  'C00151',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00139',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00009',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00043',\n",
 | |
|        "  'C00056',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00077',\n",
 | |
|        "  'C00105',\n",
 | |
|        "  'C00119',\n",
 | |
|        "  'C00156',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00140',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00010',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00044',\n",
 | |
|        "  'C00057',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00078',\n",
 | |
|        "  'C00106',\n",
 | |
|        "  'C00120',\n",
 | |
|        "  'C00158',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00141',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00011',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00045',\n",
 | |
|        "  'C00058',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00079',\n",
 | |
|        "  'C00107',\n",
 | |
|        "  'C00121',\n",
 | |
|        "  'C00169',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00142',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00012',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00046',\n",
 | |
|        "  'C00059',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00080',\n",
 | |
|        "  'C00109',\n",
 | |
|        "  'C00154',\n",
 | |
|        "  'C00178',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00143',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00013',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00047',\n",
 | |
|        "  'C00060',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00081',\n",
 | |
|        "  'C00110',\n",
 | |
|        "  'C00188',\n",
 | |
|        "  'C00182',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00144',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00014',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00048',\n",
 | |
|        "  'C00061',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00082',\n",
 | |
|        "  'C00111',\n",
 | |
|        "  'C00193',\n",
 | |
|        "  'C00184',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00145',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00015',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00150',\n",
 | |
|        "  'C00062',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00084',\n",
 | |
|        "  'C00195',\n",
 | |
|        "  'C00203',\n",
 | |
|        "  'C00190',\n",
 | |
|        "  '',\n",
 | |
|        "  '',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00016',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00155',\n",
 | |
|        "  'C00152',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00085',\n",
 | |
|        "  'C00196',\n",
 | |
|        "  'C00204',\n",
 | |
|        "  'C00194',\n",
 | |
|        "  '',\n",
 | |
|        "  '',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00017',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00160',\n",
 | |
|        "  'C00157',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00086',\n",
 | |
|        "  'C00214',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00200',\n",
 | |
|        "  '',\n",
 | |
|        "  '',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00018',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00164',\n",
 | |
|        "  'C00162',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00087',\n",
 | |
|        "  'C00215',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00211',\n",
 | |
|        "  '',\n",
 | |
|        "  '',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00019',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00170',\n",
 | |
|        "  'C00174',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00088',\n",
 | |
|        "  'C00217',\n",
 | |
|        "  '',\n",
 | |
|        "  'C00212',\n",
 | |
|        "  '',\n",
 | |
|        "  '',\n",
 | |
|        "  ''],\n",
 | |
|        " ['C00020', '', 'C00179', '', '', 'C00089', '', '', 'C00218', '', '', ''],\n",
 | |
|        " ['C00021', '', 'C00189', '', '', 'C00090', '', '', '', '', '', ''],\n",
 | |
|        " ['C00022', '', 'C00197', '', '', 'C00091', '', '', '', '', '', ''],\n",
 | |
|        " ['C00023', '', '', '', '', 'C00092', '', '', '', '', '', ''],\n",
 | |
|        " ['C00024', '', '', '', '', 'C00093', '', '', '', '', '', ''],\n",
 | |
|        " ['C00025', '', '', '', '', 'C00094', '', '', '', '', '', ''],\n",
 | |
|        " ['C00026', '', '', '', '', 'C00095', '', '', '', '', '', ''],\n",
 | |
|        " ['C00027', '', '', '', '', 'C00096', '', '', '', '', '', ''],\n",
 | |
|        " ['C00153', '', '', '', '', 'C00165', '', '', '', '', '', ''],\n",
 | |
|        " ['C00159', '', '', '', '', 'C00167', '', '', '', '', '', ''],\n",
 | |
|        " ['C00161', '', '', '', '', 'C00171', '', '', '', '', '', ''],\n",
 | |
|        " ['C00176', '', '', '', '', 'C00172', '', '', '', '', '', ''],\n",
 | |
|        " ['C00205', '', '', '', '', 'C00202', '', '', '', '', '', ''],\n",
 | |
|        " ['C00207', '', '', '', '', 'C00210', '', '', '', '', '', ''],\n",
 | |
|        " ['', '', '', '', '', 'C00219', '', '', '', '', '', '']]"
 | |
|       ]
 | |
|      },
 | |
|      "execution_count": 5,
 | |
|      "metadata": {},
 | |
|      "output_type": "execute_result"
 | |
|     }
 | |
|    ],
 | |
|    "source": [
 | |
|     "import pandas as pd\n",
 | |
|     "import os\n",
 | |
|     "tocsv=True\n",
 | |
|     "\n",
 | |
|     "arr = [['' for i in range(amitt.num_tactics)] for j in range(amitt.max_num_counters_per_tactic)] \n",
 | |
|     "for index, tactic in amitt.df_tactics.iterrows():\n",
 | |
|     "    arr[0][index] = tactic['phase_id']\n",
 | |
|     "    arr[1][index] = tactic['id']\n",
 | |
|     "    if tactic['counter_ids'] == '':\n",
 | |
|     "        continue\n",
 | |
|     "    for index2, technique in enumerate(tactic['counter_ids']):\n",
 | |
|     "        arr[index2+2][index] = technique\n",
 | |
|     "\n",
 | |
|     "#Save grid to file\n",
 | |
|     "if tocsv:\n",
 | |
|     "    csvdir = '../generated_csvs'\n",
 | |
|     "    if not os.path.exists(csvdir):\n",
 | |
|     "        os.makedirs(csvdir)\n",
 | |
|     "    pd.DataFrame(arr).to_csv(csvdir + '/counters_tactics_table.csv', index=False, header=False)\n",
 | |
|     "arr"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "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
 | |
| }
 | 
