 c11e9d06ad
			
		
	
	
		c11e9d06ad
		
	
	
	
	
		
			
			Added framework objects: - Added technique T0066 "Degrade adversary" to TA02 - Added technique T0067 "Plan to discredit credible sources" to TA02 - Added technique T0068 "respond to breaking news event" to TA02 - Added technique T0069 "respond to active crisis" to TA02 - Added technique T0070 "Analyze existing communities" to TA02 - Added technique T0071 "Find echo chambers" to TA13 - Added technique T0072 "Segment audiences" to TA13 Added STIX generator from repo DISARM-stix2, and added code to generate github files, databases, and STIX from the same Jupyter notebook.
		
			
				
	
	
		
			1382 строки
		
	
	
		
			55 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1382 строки
		
	
	
		
			55 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | ||
|  "cells": [
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "# Test area for DISARM code"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 2,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_externalgroups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>technique_id</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0007</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0015</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0043</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0053</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>135</th>\n",
 | ||
|        "      <td>C00219</td>\n",
 | ||
|        "      <td>T0025</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>136</th>\n",
 | ||
|        "      <td>C00220</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>137</th>\n",
 | ||
|        "      <td>C00221</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>138</th>\n",
 | ||
|        "      <td>C00222</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>139</th>\n",
 | ||
|        "      <td>C00223</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>909 rows × 2 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "    disarm_id technique_id\n",
 | ||
|        "0      C00006        T0007\n",
 | ||
|        "0      C00006        T0015\n",
 | ||
|        "0      C00006        T0018\n",
 | ||
|        "0      C00006        T0043\n",
 | ||
|        "0      C00006        T0053\n",
 | ||
|        "..        ...          ...\n",
 | ||
|        "135    C00219        T0025\n",
 | ||
|        "136    C00220             \n",
 | ||
|        "137    C00221             \n",
 | ||
|        "138    C00222             \n",
 | ||
|        "139    C00223             \n",
 | ||
|        "\n",
 | ||
|        "[909 rows x 2 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 2,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "import pandas as pd\n",
 | ||
|     "import sqlite3 as sql\n",
 | ||
|     "from generate_DISARM_pages import Disarm\n",
 | ||
|     "\n",
 | ||
|     "\n",
 | ||
|     "# Generate DISARM datasets\n",
 | ||
|     "disarm = Disarm()\n",
 | ||
|     "\n",
 | ||
|     "# Check which disarm variables we can see from here\n",
 | ||
|     "print('{}'.format(vars(disarm).keys()))\n",
 | ||
|     "vars(disarm)['cross_counterid_techniqueid']"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 3,
 | ||
|    "metadata": {
 | ||
|     "scrolled": true
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "ename": "AttributeError",
 | ||
|      "evalue": "'Disarm' object has no attribute 'cross_counterid_actorid'",
 | ||
|      "output_type": "error",
 | ||
|      "traceback": [
 | ||
|       "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
 | ||
|       "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
 | ||
|       "\u001b[0;32m<ipython-input-3-a759352bb03c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdisarm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcross_counterid_actorid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
 | ||
|       "\u001b[0;31mAttributeError\u001b[0m: 'Disarm' object has no attribute 'cross_counterid_actorid'"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "disarm.cross_counterid_actorid"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 4,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>technique_id</th>\n",
 | ||
|        "      <th>Weight</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0007</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0015</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0043</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>C00006</td>\n",
 | ||
|        "      <td>T0053</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>134</th>\n",
 | ||
|        "      <td>C00216</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>134</th>\n",
 | ||
|        "      <td>C00216</td>\n",
 | ||
|        "      <td>T0057</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>135</th>\n",
 | ||
|        "      <td>C00219</td>\n",
 | ||
|        "      <td>T0024</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>135</th>\n",
 | ||
|        "      <td>C00219</td>\n",
 | ||
|        "      <td>T0026</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>135</th>\n",
 | ||
|        "      <td>C00219</td>\n",
 | ||
|        "      <td>T0025</td>\n",
 | ||
|        "      <td>1</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>881 rows × 3 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "    disarm_id technique_id  Weight\n",
 | ||
|        "0      C00006        T0007       1\n",
 | ||
|        "0      C00006        T0015       1\n",
 | ||
|        "0      C00006        T0018       1\n",
 | ||
|        "0      C00006        T0043       1\n",
 | ||
|        "0      C00006        T0053       1\n",
 | ||
|        "..        ...          ...     ...\n",
 | ||
|        "134    C00216        T0018       1\n",
 | ||
|        "134    C00216        T0057       1\n",
 | ||
|        "135    C00219        T0024       1\n",
 | ||
|        "135    C00219        T0026       1\n",
 | ||
|        "135    C00219        T0025       1\n",
 | ||
|        "\n",
 | ||
|        "[881 rows x 3 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 4,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "ct = disarm.cross_counterid_techniqueid\n",
 | ||
|     "ct['Weight'] = 1\n",
 | ||
|     "ct = ct[ct['technique_id'].str.len() > 0]\n",
 | ||
|     "ct.to_csv('../visualisations/cross_counterid_techniqueid.csv', index=False, header=['Source','Target', 'Weight'])\n",
 | ||
|     "ct"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 5,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_externalgroups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n",
 | ||
|       "\n",
 | ||
|       "it columns: Index(['disarm_id', 'name', 'summary', 'disarm_id_incident', 'name_incident',\n",
 | ||
|       "       'disarm_id_technique', 'name_technique'],\n",
 | ||
|       "      dtype='object')\n"
 | ||
|      ]
 | ||
|     },
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>name</th>\n",
 | ||
|        "      <th>summary</th>\n",
 | ||
|        "      <th>disarm_id_incident</th>\n",
 | ||
|        "      <th>name_incident</th>\n",
 | ||
|        "      <th>disarm_id_technique</th>\n",
 | ||
|        "      <th>name_technique</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>IT00000001</td>\n",
 | ||
|        "      <td>buy FB targeted ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>#VaccinateUS</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "      <td>Purchase advertisements</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>1</th>\n",
 | ||
|        "      <td>IT00000010</td>\n",
 | ||
|        "      <td>Targeted FB paid ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00005</td>\n",
 | ||
|        "      <td>Brexit vote</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "      <td>Purchase advertisements</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>2</th>\n",
 | ||
|        "      <td>IT00000057</td>\n",
 | ||
|        "      <td>Targeted FB paid ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00017</td>\n",
 | ||
|        "      <td>US presidential elections</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "      <td>Purchase advertisements</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>3</th>\n",
 | ||
|        "      <td>IT00000002</td>\n",
 | ||
|        "      <td>Promote \"funding\" campaign</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>#VaccinateUS</td>\n",
 | ||
|        "      <td>T0017</td>\n",
 | ||
|        "      <td>Conduct Fundraising Campaigns</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>4</th>\n",
 | ||
|        "      <td>IT00000003</td>\n",
 | ||
|        "      <td>create web-site - information pollution</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>#VaccinateUS</td>\n",
 | ||
|        "      <td>T0019</td>\n",
 | ||
|        "      <td>Generate information pollution</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>181</th>\n",
 | ||
|        "      <td>IT00000127</td>\n",
 | ||
|        "      <td>Promote fake “experts” with impressive (and sc...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00044</td>\n",
 | ||
|        "      <td>JadeHelm exercise</td>\n",
 | ||
|        "      <td>T0009</td>\n",
 | ||
|        "      <td>Create fake experts</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>182</th>\n",
 | ||
|        "      <td>IT00000130</td>\n",
 | ||
|        "      <td>(Distort) Kremlin-controlled RT cited Russian ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00047</td>\n",
 | ||
|        "      <td>Sea of Azov</td>\n",
 | ||
|        "      <td>T0023</td>\n",
 | ||
|        "      <td>Distort facts</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>183</th>\n",
 | ||
|        "      <td>IT00000163</td>\n",
 | ||
|        "      <td>Distorted, saccharine “news” about the Chinese...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00053</td>\n",
 | ||
|        "      <td>China Huawei CFO Arrest</td>\n",
 | ||
|        "      <td>T0023</td>\n",
 | ||
|        "      <td>Distort facts</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>184</th>\n",
 | ||
|        "      <td>IT00000174</td>\n",
 | ||
|        "      <td>Memes... anti-Isreal/USA/West, conspiracy narr...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00056</td>\n",
 | ||
|        "      <td>Iran Influence Operations</td>\n",
 | ||
|        "      <td>T0022</td>\n",
 | ||
|        "      <td>Conspiracy narratives</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>185</th>\n",
 | ||
|        "      <td>IT00000175</td>\n",
 | ||
|        "      <td>Fake news/synthetic web-sites</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00056</td>\n",
 | ||
|        "      <td>Iran Influence Operations</td>\n",
 | ||
|        "      <td>T0008</td>\n",
 | ||
|        "      <td>Create fake or imposter news sites</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>186 rows × 7 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "      disarm_id                                               name summary  \\\n",
 | ||
|        "0    IT00000001                                buy FB targeted ads           \n",
 | ||
|        "1    IT00000010                               Targeted FB paid ads           \n",
 | ||
|        "2    IT00000057                               Targeted FB paid ads           \n",
 | ||
|        "3    IT00000002                         Promote \"funding\" campaign           \n",
 | ||
|        "4    IT00000003            create web-site - information pollution           \n",
 | ||
|        "..          ...                                                ...     ...   \n",
 | ||
|        "181  IT00000127  Promote fake “experts” with impressive (and sc...           \n",
 | ||
|        "182  IT00000130  (Distort) Kremlin-controlled RT cited Russian ...           \n",
 | ||
|        "183  IT00000163  Distorted, saccharine “news” about the Chinese...           \n",
 | ||
|        "184  IT00000174  Memes... anti-Isreal/USA/West, conspiracy narr...           \n",
 | ||
|        "185  IT00000175                      Fake news/synthetic web-sites           \n",
 | ||
|        "\n",
 | ||
|        "    disarm_id_incident              name_incident disarm_id_technique  \\\n",
 | ||
|        "0               I00002               #VaccinateUS               T0018   \n",
 | ||
|        "1               I00005                Brexit vote               T0018   \n",
 | ||
|        "2               I00017  US presidential elections               T0018   \n",
 | ||
|        "3               I00002               #VaccinateUS               T0017   \n",
 | ||
|        "4               I00002               #VaccinateUS               T0019   \n",
 | ||
|        "..                 ...                        ...                 ...   \n",
 | ||
|        "181             I00044          JadeHelm exercise               T0009   \n",
 | ||
|        "182             I00047                Sea of Azov               T0023   \n",
 | ||
|        "183             I00053    China Huawei CFO Arrest               T0023   \n",
 | ||
|        "184             I00056  Iran Influence Operations               T0022   \n",
 | ||
|        "185             I00056  Iran Influence Operations               T0008   \n",
 | ||
|        "\n",
 | ||
|        "                         name_technique  \n",
 | ||
|        "0               Purchase advertisements  \n",
 | ||
|        "1               Purchase advertisements  \n",
 | ||
|        "2               Purchase advertisements  \n",
 | ||
|        "3         Conduct Fundraising Campaigns  \n",
 | ||
|        "4        Generate information pollution  \n",
 | ||
|        "..                                  ...  \n",
 | ||
|        "181                 Create fake experts  \n",
 | ||
|        "182                       Distort facts  \n",
 | ||
|        "183                       Distort facts  \n",
 | ||
|        "184               Conspiracy narratives  \n",
 | ||
|        "185  Create fake or imposter news sites  \n",
 | ||
|        "\n",
 | ||
|        "[186 rows x 7 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 5,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "# Check which disarm variables we can see from here\n",
 | ||
|     "print('{}\\n'.format(vars(disarm).keys()))\n",
 | ||
|     "testdfname = 'it'\n",
 | ||
|     "testdf = vars(disarm)[testdfname]\n",
 | ||
|     "print('{} columns: {}'.format(testdfname, testdf.columns))\n",
 | ||
|     "testdf"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 6,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>name</th>\n",
 | ||
|        "      <th>summary</th>\n",
 | ||
|        "      <th>incident_id</th>\n",
 | ||
|        "      <th>technique_id</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>IT00000001</td>\n",
 | ||
|        "      <td>buy FB targeted ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>1</th>\n",
 | ||
|        "      <td>IT00000010</td>\n",
 | ||
|        "      <td>Targeted FB paid ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00005</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>2</th>\n",
 | ||
|        "      <td>IT00000057</td>\n",
 | ||
|        "      <td>Targeted FB paid ads</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00017</td>\n",
 | ||
|        "      <td>T0018</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>3</th>\n",
 | ||
|        "      <td>IT00000002</td>\n",
 | ||
|        "      <td>Promote \"funding\" campaign</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>T0017</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>4</th>\n",
 | ||
|        "      <td>IT00000003</td>\n",
 | ||
|        "      <td>create web-site - information pollution</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00002</td>\n",
 | ||
|        "      <td>T0019</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>181</th>\n",
 | ||
|        "      <td>IT00000127</td>\n",
 | ||
|        "      <td>Promote fake “experts” with impressive (and sc...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00044</td>\n",
 | ||
|        "      <td>T0009</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>182</th>\n",
 | ||
|        "      <td>IT00000130</td>\n",
 | ||
|        "      <td>(Distort) Kremlin-controlled RT cited Russian ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00047</td>\n",
 | ||
|        "      <td>T0023</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>183</th>\n",
 | ||
|        "      <td>IT00000163</td>\n",
 | ||
|        "      <td>Distorted, saccharine “news” about the Chinese...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00053</td>\n",
 | ||
|        "      <td>T0023</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>184</th>\n",
 | ||
|        "      <td>IT00000174</td>\n",
 | ||
|        "      <td>Memes... anti-Isreal/USA/West, conspiracy narr...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00056</td>\n",
 | ||
|        "      <td>T0022</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>185</th>\n",
 | ||
|        "      <td>IT00000175</td>\n",
 | ||
|        "      <td>Fake news/synthetic web-sites</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>I00056</td>\n",
 | ||
|        "      <td>T0008</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>186 rows × 5 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "      disarm_id                                               name summary  \\\n",
 | ||
|        "0    IT00000001                                buy FB targeted ads           \n",
 | ||
|        "1    IT00000010                               Targeted FB paid ads           \n",
 | ||
|        "2    IT00000057                               Targeted FB paid ads           \n",
 | ||
|        "3    IT00000002                         Promote \"funding\" campaign           \n",
 | ||
|        "4    IT00000003            create web-site - information pollution           \n",
 | ||
|        "..          ...                                                ...     ...   \n",
 | ||
|        "181  IT00000127  Promote fake “experts” with impressive (and sc...           \n",
 | ||
|        "182  IT00000130  (Distort) Kremlin-controlled RT cited Russian ...           \n",
 | ||
|        "183  IT00000163  Distorted, saccharine “news” about the Chinese...           \n",
 | ||
|        "184  IT00000174  Memes... anti-Isreal/USA/West, conspiracy narr...           \n",
 | ||
|        "185  IT00000175                      Fake news/synthetic web-sites           \n",
 | ||
|        "\n",
 | ||
|        "    incident_id technique_id  \n",
 | ||
|        "0        I00002        T0018  \n",
 | ||
|        "1        I00005        T0018  \n",
 | ||
|        "2        I00017        T0018  \n",
 | ||
|        "3        I00002        T0017  \n",
 | ||
|        "4        I00002        T0019  \n",
 | ||
|        "..          ...          ...  \n",
 | ||
|        "181      I00044        T0009  \n",
 | ||
|        "182      I00047        T0023  \n",
 | ||
|        "183      I00053        T0023  \n",
 | ||
|        "184      I00056        T0022  \n",
 | ||
|        "185      I00056        T0008  \n",
 | ||
|        "\n",
 | ||
|        "[186 rows x 5 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 6,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "it = vars(disarm)['it'][['disarm_id', 'name', 'summary', 'disarm_id_incident', 'disarm_id_technique']].copy()\n",
 | ||
|     "it.rename(columns={'disarm_id_incident':'incident_id', \n",
 | ||
|     "                  'disarm_id_technique': 'technique_id'}, inplace=True)\n",
 | ||
|     "it"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 7,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/plain": [
 | ||
|        "incident    44\n",
 | ||
|        "campaign    16\n",
 | ||
|        "apt          2\n",
 | ||
|        "tactic       1\n",
 | ||
|        "Name: objecttype, dtype: int64"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 7,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "dii = vars(disarm)['df_incidents']\n",
 | ||
|     "dii['objecttype'].value_counts()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 8,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>name</th>\n",
 | ||
|        "      <th>objecttype</th>\n",
 | ||
|        "      <th>summary</th>\n",
 | ||
|        "      <th>year_started</th>\n",
 | ||
|        "      <th>attributions_seen</th>\n",
 | ||
|        "      <th>found_in_country</th>\n",
 | ||
|        "      <th>urls</th>\n",
 | ||
|        "      <th>notes</th>\n",
 | ||
|        "      <th>when_added</th>\n",
 | ||
|        "      <th>found_via</th>\n",
 | ||
|        "      <th>longname</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>30</th>\n",
 | ||
|        "      <td>I00031</td>\n",
 | ||
|        "      <td>antivax</td>\n",
 | ||
|        "      <td>apt</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>2018</td>\n",
 | ||
|        "      <td>Russia</td>\n",
 | ||
|        "      <td>World</td>\n",
 | ||
|        "      <td>https://ajph.aphapublications.org/doi/pdf/10.2...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>2019-02-24</td>\n",
 | ||
|        "      <td>OII</td>\n",
 | ||
|        "      <td>I00031 - antivax</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>32</th>\n",
 | ||
|        "      <td>I00033</td>\n",
 | ||
|        "      <td>China 50cent Army</td>\n",
 | ||
|        "      <td>apt</td>\n",
 | ||
|        "      <td>50cent Army is a CCP “tool” - “massive secret ...</td>\n",
 | ||
|        "      <td>2014</td>\n",
 | ||
|        "      <td>China</td>\n",
 | ||
|        "      <td>China</td>\n",
 | ||
|        "      <td>https://gking.harvard.edu/files/gking/files/ho...</td>\n",
 | ||
|        "      <td>campaign (multiple incidents, e.g. Shanshan ri...</td>\n",
 | ||
|        "      <td>2019-02-24</td>\n",
 | ||
|        "      <td>OII</td>\n",
 | ||
|        "      <td>I00033 - China 50cent Army</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "   disarm_id               name objecttype  \\\n",
 | ||
|        "30    I00031            antivax        apt   \n",
 | ||
|        "32    I00033  China 50cent Army        apt   \n",
 | ||
|        "\n",
 | ||
|        "                                              summary  year_started  \\\n",
 | ||
|        "30                                                             2018   \n",
 | ||
|        "32  50cent Army is a CCP “tool” - “massive secret ...          2014   \n",
 | ||
|        "\n",
 | ||
|        "   attributions_seen found_in_country  \\\n",
 | ||
|        "30            Russia            World   \n",
 | ||
|        "32             China            China   \n",
 | ||
|        "\n",
 | ||
|        "                                                 urls  \\\n",
 | ||
|        "30  https://ajph.aphapublications.org/doi/pdf/10.2...   \n",
 | ||
|        "32  https://gking.harvard.edu/files/gking/files/ho...   \n",
 | ||
|        "\n",
 | ||
|        "                                                notes  when_added found_via  \\\n",
 | ||
|        "30                                                     2019-02-24       OII   \n",
 | ||
|        "32  campaign (multiple incidents, e.g. Shanshan ri...  2019-02-24       OII   \n",
 | ||
|        "\n",
 | ||
|        "                      longname  \n",
 | ||
|        "30            I00031 - antivax  \n",
 | ||
|        "32  I00033 - China 50cent Army  "
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 8,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "dii[dii['objecttype'] == 'apt']"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 9,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/html": [
 | ||
|        "<div>\n",
 | ||
|        "<style scoped>\n",
 | ||
|        "    .dataframe tbody tr th:only-of-type {\n",
 | ||
|        "        vertical-align: middle;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe tbody tr th {\n",
 | ||
|        "        vertical-align: top;\n",
 | ||
|        "    }\n",
 | ||
|        "\n",
 | ||
|        "    .dataframe thead th {\n",
 | ||
|        "        text-align: right;\n",
 | ||
|        "    }\n",
 | ||
|        "</style>\n",
 | ||
|        "<table border=\"1\" class=\"dataframe\">\n",
 | ||
|        "  <thead>\n",
 | ||
|        "    <tr style=\"text-align: right;\">\n",
 | ||
|        "      <th></th>\n",
 | ||
|        "      <th>disarm_id</th>\n",
 | ||
|        "      <th>name</th>\n",
 | ||
|        "      <th>name_DE</th>\n",
 | ||
|        "      <th>tactic_id</th>\n",
 | ||
|        "      <th>summary</th>\n",
 | ||
|        "      <th>summary_DE</th>\n",
 | ||
|        "      <th>longname</th>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </thead>\n",
 | ||
|        "  <tbody>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>0</th>\n",
 | ||
|        "      <td>T0001</td>\n",
 | ||
|        "      <td>5Ds (dismiss, distort, distract, dismay, divide)</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA01</td>\n",
 | ||
|        "      <td>Nimmo's \"4Ds of propaganda\": dismiss, distort,...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0001 - 5Ds (dismiss, distort, distract, disma...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>1</th>\n",
 | ||
|        "      <td>T0002</td>\n",
 | ||
|        "      <td>Facilitate State Propaganda</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA01</td>\n",
 | ||
|        "      <td>Organize citizens around pro-state messaging. ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0002 - Facilitate State Propaganda</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>2</th>\n",
 | ||
|        "      <td>T0003</td>\n",
 | ||
|        "      <td>Leverage Existing Narratives</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA01</td>\n",
 | ||
|        "      <td>Use or adapt existing narrative themes, where ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0003 - Leverage Existing Narratives</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>3</th>\n",
 | ||
|        "      <td>T0004</td>\n",
 | ||
|        "      <td>Devise Competing Narratives</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA01</td>\n",
 | ||
|        "      <td>Advance competing narratives connected to same...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0004 - Devise Competing Narratives</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>4</th>\n",
 | ||
|        "      <td>T0006</td>\n",
 | ||
|        "      <td>Develop Narrative Concepts</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA02</td>\n",
 | ||
|        "      <td>The promotion of beneficial master narratives ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0006 - Develop Narrative Concepts</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>...</th>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "      <td>...</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>66</th>\n",
 | ||
|        "      <td>T0068</td>\n",
 | ||
|        "      <td>Respond to breaking news event</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA02</td>\n",
 | ||
|        "      <td>Media attention on a story or event is heighte...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0068 - Respond to breaking news event</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>67</th>\n",
 | ||
|        "      <td>T0069</td>\n",
 | ||
|        "      <td>Respond to active crisis</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA02</td>\n",
 | ||
|        "      <td>Panic, rumors, and speculation are heightened ...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0069 - Respond to active crisis</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>68</th>\n",
 | ||
|        "      <td>T0070</td>\n",
 | ||
|        "      <td>Analyze existing communities</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA02</td>\n",
 | ||
|        "      <td>Assess influence operation potential of existi...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0070 - Analyze existing communities</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>69</th>\n",
 | ||
|        "      <td>T0071</td>\n",
 | ||
|        "      <td>Find echo chambers</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA13</td>\n",
 | ||
|        "      <td>Find or plan to create areas (social media gro...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0071 - Find echo chambers</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "    <tr>\n",
 | ||
|        "      <th>70</th>\n",
 | ||
|        "      <td>T0072</td>\n",
 | ||
|        "      <td>Segment audiences</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>TA13</td>\n",
 | ||
|        "      <td>Create audience segmentations by features of i...</td>\n",
 | ||
|        "      <td></td>\n",
 | ||
|        "      <td>T0072 - Segment audiences</td>\n",
 | ||
|        "    </tr>\n",
 | ||
|        "  </tbody>\n",
 | ||
|        "</table>\n",
 | ||
|        "<p>71 rows × 7 columns</p>\n",
 | ||
|        "</div>"
 | ||
|       ],
 | ||
|       "text/plain": [
 | ||
|        "   disarm_id                                              name name_DE  \\\n",
 | ||
|        "0      T0001  5Ds (dismiss, distort, distract, dismay, divide)           \n",
 | ||
|        "1      T0002                       Facilitate State Propaganda           \n",
 | ||
|        "2      T0003                      Leverage Existing Narratives           \n",
 | ||
|        "3      T0004                       Devise Competing Narratives           \n",
 | ||
|        "4      T0006                        Develop Narrative Concepts           \n",
 | ||
|        "..       ...                                               ...     ...   \n",
 | ||
|        "66     T0068                    Respond to breaking news event           \n",
 | ||
|        "67     T0069                          Respond to active crisis           \n",
 | ||
|        "68     T0070                      Analyze existing communities           \n",
 | ||
|        "69     T0071                                Find echo chambers           \n",
 | ||
|        "70     T0072                                 Segment audiences           \n",
 | ||
|        "\n",
 | ||
|        "   tactic_id                                            summary summary_DE  \\\n",
 | ||
|        "0       TA01  Nimmo's \"4Ds of propaganda\": dismiss, distort,...              \n",
 | ||
|        "1       TA01  Organize citizens around pro-state messaging. ...              \n",
 | ||
|        "2       TA01  Use or adapt existing narrative themes, where ...              \n",
 | ||
|        "3       TA01  Advance competing narratives connected to same...              \n",
 | ||
|        "4       TA02  The promotion of beneficial master narratives ...              \n",
 | ||
|        "..       ...                                                ...        ...   \n",
 | ||
|        "66      TA02  Media attention on a story or event is heighte...              \n",
 | ||
|        "67      TA02  Panic, rumors, and speculation are heightened ...              \n",
 | ||
|        "68      TA02  Assess influence operation potential of existi...              \n",
 | ||
|        "69      TA13  Find or plan to create areas (social media gro...              \n",
 | ||
|        "70      TA13  Create audience segmentations by features of i...              \n",
 | ||
|        "\n",
 | ||
|        "                                             longname  \n",
 | ||
|        "0   T0001 - 5Ds (dismiss, distort, distract, disma...  \n",
 | ||
|        "1                 T0002 - Facilitate State Propaganda  \n",
 | ||
|        "2                T0003 - Leverage Existing Narratives  \n",
 | ||
|        "3                 T0004 - Devise Competing Narratives  \n",
 | ||
|        "4                  T0006 - Develop Narrative Concepts  \n",
 | ||
|        "..                                                ...  \n",
 | ||
|        "66             T0068 - Respond to breaking news event  \n",
 | ||
|        "67                   T0069 - Respond to active crisis  \n",
 | ||
|        "68               T0070 - Analyze existing communities  \n",
 | ||
|        "69                         T0071 - Find echo chambers  \n",
 | ||
|        "70                          T0072 - Segment audiences  \n",
 | ||
|        "\n",
 | ||
|        "[71 rows x 7 columns]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 9,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "dii = vars(disarm)['df_techniques']\n",
 | ||
|     "dii"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 10,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/plain": [
 | ||
|        "[['TA01',\n",
 | ||
|        "  'TA02',\n",
 | ||
|        "  'TA03',\n",
 | ||
|        "  'TA04',\n",
 | ||
|        "  'TA05',\n",
 | ||
|        "  'TA06',\n",
 | ||
|        "  'TA07',\n",
 | ||
|        "  'TA08',\n",
 | ||
|        "  'TA09',\n",
 | ||
|        "  'TA10',\n",
 | ||
|        "  'TA11',\n",
 | ||
|        "  'TA12',\n",
 | ||
|        "  'TA13'],\n",
 | ||
|        " ['T0001',\n",
 | ||
|        "  'T0006',\n",
 | ||
|        "  'T0007',\n",
 | ||
|        "  'T0010',\n",
 | ||
|        "  'T0016',\n",
 | ||
|        "  'T0019',\n",
 | ||
|        "  'T0029',\n",
 | ||
|        "  'T0039',\n",
 | ||
|        "  'T0047',\n",
 | ||
|        "  'T0057',\n",
 | ||
|        "  'T0058',\n",
 | ||
|        "  'T0062',\n",
 | ||
|        "  'T0071'],\n",
 | ||
|        " ['T0002',\n",
 | ||
|        "  'T0066',\n",
 | ||
|        "  'T0008',\n",
 | ||
|        "  'T0011',\n",
 | ||
|        "  'T0017',\n",
 | ||
|        "  'T0020',\n",
 | ||
|        "  'T0030',\n",
 | ||
|        "  'T0040',\n",
 | ||
|        "  'T0048',\n",
 | ||
|        "  'T0061',\n",
 | ||
|        "  'T0059',\n",
 | ||
|        "  'T0063',\n",
 | ||
|        "  'T0072'],\n",
 | ||
|        " ['T0003',\n",
 | ||
|        "  'T0067',\n",
 | ||
|        "  'T0009',\n",
 | ||
|        "  'T0012',\n",
 | ||
|        "  'T0018',\n",
 | ||
|        "  'T0021',\n",
 | ||
|        "  'T0031',\n",
 | ||
|        "  'T0041',\n",
 | ||
|        "  'T0049',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0060',\n",
 | ||
|        "  'T0064',\n",
 | ||
|        "  ''],\n",
 | ||
|        " ['T0004',\n",
 | ||
|        "  'T0068',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0013',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0022',\n",
 | ||
|        "  'T0032',\n",
 | ||
|        "  'T0042',\n",
 | ||
|        "  'T0050',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  ''],\n",
 | ||
|        " ['',\n",
 | ||
|        "  'T0069',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0014',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0023',\n",
 | ||
|        "  'T0033',\n",
 | ||
|        "  'T0043',\n",
 | ||
|        "  'T0051',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  ''],\n",
 | ||
|        " ['',\n",
 | ||
|        "  'T0070',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0015',\n",
 | ||
|        "  '',\n",
 | ||
|        "  'T0024',\n",
 | ||
|        "  'T0034',\n",
 | ||
|        "  'T0044',\n",
 | ||
|        "  'T0052',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  '',\n",
 | ||
|        "  ''],\n",
 | ||
|        " ['', '', '', 'T0065', '', 'T0025', 'T0035', 'T0045', 'T0053', '', '', '', ''],\n",
 | ||
|        " ['', '', '', '', '', 'T0026', 'T0036', 'T0046', 'T0054', '', '', '', ''],\n",
 | ||
|        " ['', '', '', '', '', 'T0027', 'T0037', '', 'T0055', '', '', '', ''],\n",
 | ||
|        " ['', '', '', '', '', 'T0028', 'T0038', '', 'T0056', '', '', '', '']]"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 10,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "# Generate arrays used to create D3 grids\n",
 | ||
|     "dflists = dii.groupby('tactic_id')['disarm_id'].apply(list).reset_index()\n",
 | ||
|     "dfidgrid = pd.DataFrame(dflists['disarm_id'].to_list())\n",
 | ||
|     "dfgrid = pd.concat([dflists[['tactic_id']], dfidgrid], axis=1).fillna('')\n",
 | ||
|     "gridarray = [dfgrid[col].to_list() for col in dfgrid.columns]\n",
 | ||
|     "gridarray"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 11,
 | ||
|    "metadata": {},
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "data": {
 | ||
|       "text/plain": [
 | ||
|        "{'IT00000001': 'buy FB targeted ads',\n",
 | ||
|        " 'IT00000010': 'Targeted FB paid ads',\n",
 | ||
|        " 'IT00000057': 'Targeted FB paid ads',\n",
 | ||
|        " 'IT00000002': 'Promote \"funding\" campaign',\n",
 | ||
|        " 'IT00000003': 'create web-site - information pollution',\n",
 | ||
|        " 'IT00000014': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000031': 'RT & Sputnik generate information pollution (report an unreported false story/event)',\n",
 | ||
|        " 'IT00000037': 'RT & Sputnik generate information pollution ',\n",
 | ||
|        " 'IT00000061': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000082': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000094': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000120': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000137': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000146': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000156': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000180': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000004': 'create web-site - information pollution',\n",
 | ||
|        " 'IT00000015': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000032': 'RT & Sputnik generate information pollution (report an unreported false story/event)',\n",
 | ||
|        " 'IT00000038': 'RT & Sputnik generate information pollution ',\n",
 | ||
|        " 'IT00000062': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000083': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000095': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000121': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000138': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000147': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000157': 'RT & Sputnik generate information pollution',\n",
 | ||
|        " 'IT00000162': 'State-run media seeds foreign influence environment',\n",
 | ||
|        " 'IT00000181': 'RT & Sputnik generate information pollution (synthetic media)',\n",
 | ||
|        " 'IT00000005': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000022': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000043': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000071': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000085': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000103': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000125': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000140': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000149': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000161': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000172': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000183': 'SEO optimisation/manipulation (\"key words\")',\n",
 | ||
|        " 'IT00000006': 'legacy web content',\n",
 | ||
|        " 'IT00000007': 'hard to remove content and/or campaign/exploit TOS',\n",
 | ||
|        " 'IT00000176': 'legacy web content',\n",
 | ||
|        " 'IT00000008': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000034': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000041': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000055': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000076': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000079': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000090': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000115': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000118': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000131': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000134': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000144': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000154': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000169': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000177': 'Twitter bots amplify & manipulate',\n",
 | ||
|        " 'IT00000009': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000035': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000042': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000056': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000077': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000080': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000091': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000119': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000132': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000135': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000145': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000155': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000170': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000178': 'Twitter trolls amplify & manipulate',\n",
 | ||
|        " 'IT00000011': 'Fake FB groups + dark content',\n",
 | ||
|        " 'IT00000029': 'Fake twitter profiles to amplify',\n",
 | ||
|        " 'IT00000039': 'FB pages',\n",
 | ||
|        " 'IT00000045': 'FB pages/groups/profiles',\n",
 | ||
|        " 'IT00000058': 'Fake FB groups + dark content',\n",
 | ||
|        " 'IT00000078': 'Fake FB groups/pages/profiles + dark content',\n",
 | ||
|        " 'IT00000092': 'Fake FB groups/pages/profiles ',\n",
 | ||
|        " 'IT00000171': 'Fake FB groups/pages/profiles + dark content (non-paid advertising)',\n",
 | ||
|        " 'IT00000012': 'Digital to physical \"organize+promote\" rallies & events?',\n",
 | ||
|        " 'IT00000059': 'Digital to physical \"organize+promote\" rallies & events',\n",
 | ||
|        " 'IT00000093': 'Digital to physical \"organize+promote\" rallies & events?',\n",
 | ||
|        " 'IT00000164': 'Events coordinated and promoted across media platforms',\n",
 | ||
|        " 'IT00000166': 'Extend digital the physical space… gatherings ie: support for Meng outside courthouse',\n",
 | ||
|        " 'IT00000013': 'manipulate social media \"online polls\"? ',\n",
 | ||
|        " 'IT00000060': 'manipulate social media \"online polls\"? ',\n",
 | ||
|        " 'IT00000016': 'cultivate, manipulate, exploit useful idiots',\n",
 | ||
|        " 'IT00000033': 'cultivate, manipulate, exploit useful idiots (in the case Paul Manafort)',\n",
 | ||
|        " 'IT00000044': 'cultivate, manipulate, exploit useful idiots (Alex Jones... drives conspiracy theories; false flags, crisis actors)',\n",
 | ||
|        " 'IT00000063': 'cultivate, manipulate, exploit useful idiots',\n",
 | ||
|        " 'IT00000084': 'cultivate, manipulate, exploit useful idiots',\n",
 | ||
|        " 'IT00000104': 'cultivate, manipulate, exploit useful idiots (Alex Jones... drives conspiracy theories)',\n",
 | ||
|        " 'IT00000126': 'cultivate, manipulate, exploit useful idiots (Alex Jones... drives conspiracy theories)',\n",
 | ||
|        " 'IT00000139': 'cultivate, manipulate, exploit useful idiots (Roger Waters; Venessa Beeley...)',\n",
 | ||
|        " 'IT00000148': 'cultivate, manipulate, exploit useful idiots (Roger Waters)',\n",
 | ||
|        " 'IT00000158': 'cultivate, manipulate, exploit useful idiots',\n",
 | ||
|        " 'IT00000182': 'cultivate, manipulate, exploit useful idiots ',\n",
 | ||
|        " 'IT00000017': 'YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?',\n",
 | ||
|        " 'IT00000046': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000064': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000087': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000096': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000122': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000142': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000151': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000159': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000185': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000018': 'YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?',\n",
 | ||
|        " 'IT00000047': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000065': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000088': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000097': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000123': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000143': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000152': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000160': 'YouTube; Reddit',\n",
 | ||
|        " 'IT00000186': 'YouTube; Reddit; ',\n",
 | ||
|        " 'IT00000019': 'YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?',\n",
 | ||
|        " 'IT00000067': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000099': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000020': 'YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?',\n",
 | ||
|        " 'IT00000068': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000100': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000021': 'YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?',\n",
 | ||
|        " 'IT00000069': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000101': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000023': 'Memes... anti-immigration; euroskepticism; fear, outrage, conspiracy narratives',\n",
 | ||
|        " 'IT00000072': 'Memes... anti-immigration; euroskepticism; fear, outrage, conspiracy narratives',\n",
 | ||
|        " 'IT00000117': 'memes',\n",
 | ||
|        " 'IT00000173': 'Memes... anti-Isreal/USA/West, conspiracy narratives',\n",
 | ||
|        " 'IT00000024': 'Backstop personas',\n",
 | ||
|        " 'IT00000074': 'Backstop personas',\n",
 | ||
|        " 'IT00000025': 'Use SMS/text messages',\n",
 | ||
|        " 'IT00000026': 'Fake video/images',\n",
 | ||
|        " 'IT00000116': 'photoshopped/fake images',\n",
 | ||
|        " 'IT00000027': 'Create and use hashtag',\n",
 | ||
|        " 'IT00000028': 'Create and use hashtag',\n",
 | ||
|        " 'IT00000030': 'bait journalists/media/politicians',\n",
 | ||
|        " 'IT00000049': 'journalist/media baiting',\n",
 | ||
|        " 'IT00000053': 'journalist/media baiting',\n",
 | ||
|        " 'IT00000036': 'Using \"expert\"',\n",
 | ||
|        " 'IT00000040': 'News circulated/amplifed by tertiary sites (Russia Insider, The Duran, Geopolitica.ru, Mint Press News, Oriental Review, globalresearch.ca)',\n",
 | ||
|        " 'IT00000086': 'News circulated/amplifed by tertiary sites (Russia Insider, The Duran, Geopolitica.ru, Mint Press News, Oriental Review, globalresearch.ca)',\n",
 | ||
|        " 'IT00000141': 'News circulated/amplifed by tertiary sites (Russia Insider, The Duran, Geopolitica.ru, Mint Press News, Oriental Review, globalresearch.ca)',\n",
 | ||
|        " 'IT00000150': 'News circulated/amplifed by tertiary sites (Mint Press News, globalresearch.ca)',\n",
 | ||
|        " 'IT00000184': 'News circulated/amplifed by tertiary sites (Russia Insider, The Duran, Geopolitica.ru, Mint Press News, Oriental Review, globalresearch.ca)',\n",
 | ||
|        " 'IT00000048': '4Chan/8Chan - trial content',\n",
 | ||
|        " 'IT00000070': '4Chan/8Chan - trial content',\n",
 | ||
|        " 'IT00000102': '4Chan/8Chan - trial content',\n",
 | ||
|        " 'IT00000124': '4Chan/8Chan - trial content',\n",
 | ||
|        " 'IT00000050': \"Forge ('release' altered hacked documents)\",\n",
 | ||
|        " 'IT00000051': 'hack/leak/manipulate/distort',\n",
 | ||
|        " 'IT00000054': 'hack/leak/manipulate/distort',\n",
 | ||
|        " 'IT00000075': 'hack/leak/manipulate/distort',\n",
 | ||
|        " 'IT00000153': 'hack/leak/manipulate/distort',\n",
 | ||
|        " 'IT00000052': 'Circulate to media via DM, then release publicly',\n",
 | ||
|        " 'IT00000066': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000098': 'YouTube; Reddit; (Instagram, LinkedIn; Pinterest; WhatsApp?)',\n",
 | ||
|        " 'IT00000073': 'Click-bait (economic actors) fake news sites (ie: Denver Guardian; Macedonian teens)',\n",
 | ||
|        " 'IT00000081': \"4 D's (dismiss, distort, distract, dismay...Official channels ie: Embassies & Defence Ministry; TASS\",\n",
 | ||
|        " 'IT00000128': \"4 D's (dismiss, distort, distract, dismay...Official channels ie: Embassies & Defence Ministry; TASS\",\n",
 | ||
|        " 'IT00000129': 'Russian FSB security service blamed Ukraine for sparking the clashes, saying their \"irrefutable\" evidence would \"soon be made public',\n",
 | ||
|        " 'IT00000136': \"4 D's (dismiss, distort, distract, dismay...Official channels ie: Embassies & Defence Ministry; TASS\",\n",
 | ||
|        " 'IT00000167': 'China also plays victim, innocence, plays by rules, misunderstood narrative',\n",
 | ||
|        " 'IT00000168': 'Chinese ambassador Lu Shaye accused Canada of applying a double standard, and has decried what he sees as “Western egotism and white supremacy” in the treatment of detained Huawei executive Meng Wanzhou.” ',\n",
 | ||
|        " 'IT00000179': \"4 D's (dismiss, distort, distract, dismay...Official channels ie: Putin himself; Embassies & Sports Ministry; TASS\",\n",
 | ||
|        " 'IT00000089': 'Demand insurmountable proof',\n",
 | ||
|        " 'IT00000133': 'Demand insurmountable proof',\n",
 | ||
|        " 'IT00000105': '2,000,000 people (est.) part of state run/sponsored astroturfing',\n",
 | ||
|        " 'IT00000112': 'flood the Facebook pages of Taiwanese politicians and news agencies with a pro-PRC message',\n",
 | ||
|        " 'IT00000113': 'Democratic Progressive Party (DPP), attracted nearly 40,000 Facebook comments in just eight hours.',\n",
 | ||
|        " 'IT00000106': 'fabricated social media comment',\n",
 | ||
|        " 'IT00000107': 'domestic social media influence operations focus primarily on “cheerleading” or presenting or furthering a positive narrative about the Chinese state',\n",
 | ||
|        " 'IT00000165': 'Extend digital the physical space… gatherings ie: support for Meng outside courthouse',\n",
 | ||
|        " 'IT00000108': 'cow online opinion leaders into submission, muzzling social media as a political force',\n",
 | ||
|        " 'IT00000109': 'cow online opinion leaders into submission, muzzling social media as a political force',\n",
 | ||
|        " 'IT00000110': 'facilitate state propaganda and defuse crises',\n",
 | ||
|        " 'IT00000111': 'Netizens from one of the largest discussion forums in China, known as Diba, coordinated to overcome China’s Great Firewall',\n",
 | ||
|        " 'IT00000114': '“hack” of Qatar’s official news agency',\n",
 | ||
|        " 'IT00000127': 'Promote fake “experts” with impressive (and scary) titles',\n",
 | ||
|        " 'IT00000130': '(Distort) Kremlin-controlled RT cited Russian Minister of Foreign Affairs Sergei Lavrov suggesting that Ukraine deliberately provoked Russia in hopes of gaining additional support from the United States and Europe.',\n",
 | ||
|        " 'IT00000163': 'Distorted, saccharine “news” about the Chinese State and Party',\n",
 | ||
|        " 'IT00000174': 'Memes... anti-Isreal/USA/West, conspiracy narratives',\n",
 | ||
|        " 'IT00000175': 'Fake news/synthetic web-sites'}"
 | ||
|       ]
 | ||
|      },
 | ||
|      "execution_count": 11,
 | ||
|      "metadata": {},
 | ||
|      "output_type": "execute_result"
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "it.index = it.disarm_id\n",
 | ||
|     "it[['name']].transpose().to_dict('records')[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
 | ||
| }
 |