From c11e9d06ad66492316d27de2ce56fafb1bfb8394 Mon Sep 17 00:00:00 2001 From: Sara-Jayne Terp Date: Sun, 20 Feb 2022 15:40:34 -0500 Subject: [PATCH] Added EEAS framework objects and STIX generator 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. --- .DS_Store | Bin 10244 -> 10244 bytes CODE/.DS_Store | Bin 6148 -> 6148 bytes .../generate_DISARM_pages-checkpoint.ipynb | 206 +- .../generate_DISARM_sql-checkpoint.ipynb | 8575 ----------------- CODE/DISARM-STIX2/.DS_Store | Bin 0 -> 6148 bytes CODE/DISARM-STIX2/README.md | 33 + .../__pycache__/main.cpython-38.pyc | Bin 0 -> 1758 bytes .../helpers/__pycache__/file.cpython-38.pyc | Bin 0 -> 1699 bytes .../helpers/__pycache__/xlsx.cpython-38.pyc | Bin 0 -> 486 bytes CODE/DISARM-STIX2/helpers/file.py | 82 + CODE/DISARM-STIX2/helpers/xlsx.py | 19 + CODE/DISARM-STIX2/main.py | 49 + .../objects/__pycache__/bundle.cpython-38.pyc | Bin 0 -> 545 bytes .../__pycache__/identity.cpython-38.pyc | Bin 0 -> 710 bytes .../marking_definition.cpython-38.pyc | Bin 0 -> 631 bytes .../objects/__pycache__/matrix.cpython-38.pyc | Bin 0 -> 1607 bytes .../objects/__pycache__/tactic.cpython-38.pyc | Bin 0 -> 1924 bytes .../__pycache__/technique.cpython-38.pyc | Bin 0 -> 1797 bytes CODE/DISARM-STIX2/objects/bundle.py | 15 + CODE/DISARM-STIX2/objects/identity.py | 16 + .../objects/marking_definition.py | 11 + CODE/DISARM-STIX2/objects/matrix.py | 51 + CODE/DISARM-STIX2/objects/relationship.py | 21 + CODE/DISARM-STIX2/objects/tactic.py | 57 + CODE/DISARM-STIX2/objects/technique.py | 71 + CODE/DISARM-STIX2/requirements.txt | 3 + CODE/DISARM_code_testbed.ipynb | 1268 ++- .../generate_disarm_sql.cpython-38.pyc | Bin 0 -> 4764 bytes CODE/generate_DISARM_pages.ipynb | 288 +- CODE/generate_DISARM_sql.ipynb | 8575 ----------------- CODE/generate_disarm_sql.py | 147 + .../DISARM_FRAMEWORKS_MASTER.xlsx | Bin 126933 -> 158248 bytes README.md | 2 +- generated_files/.DS_Store | Bin 6148 -> 6148 bytes generated_pages/disarm_red_framework.md | 14 +- generated_pages/tactics/TA02.md | 5 + generated_pages/tactics/TA13.md | 2 + generated_pages/techniques/T0066.md | 17 + generated_pages/techniques/T0067.md | 17 + generated_pages/techniques/T0068.md | 17 + generated_pages/techniques/T0069.md | 17 + generated_pages/techniques/T0070.md | 17 + generated_pages/techniques/T0071.md | 17 + generated_pages/techniques/T0072.md | 17 + generated_pages/techniques_index.md | 42 + .../cross_counterid_techniqueid.csv | 290 +- 46 files changed, 2428 insertions(+), 17533 deletions(-) delete mode 100644 CODE/.ipynb_checkpoints/generate_DISARM_sql-checkpoint.ipynb create mode 100644 CODE/DISARM-STIX2/.DS_Store create mode 100644 CODE/DISARM-STIX2/README.md create mode 100644 CODE/DISARM-STIX2/__pycache__/main.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/helpers/__pycache__/file.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/helpers/__pycache__/xlsx.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/helpers/file.py create mode 100644 CODE/DISARM-STIX2/helpers/xlsx.py create mode 100644 CODE/DISARM-STIX2/main.py create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/bundle.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/identity.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/marking_definition.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/matrix.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/tactic.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/__pycache__/technique.cpython-38.pyc create mode 100644 CODE/DISARM-STIX2/objects/bundle.py create mode 100644 CODE/DISARM-STIX2/objects/identity.py create mode 100644 CODE/DISARM-STIX2/objects/marking_definition.py create mode 100644 CODE/DISARM-STIX2/objects/matrix.py create mode 100644 CODE/DISARM-STIX2/objects/relationship.py create mode 100644 CODE/DISARM-STIX2/objects/tactic.py create mode 100644 CODE/DISARM-STIX2/objects/technique.py create mode 100644 CODE/DISARM-STIX2/requirements.txt create mode 100644 CODE/__pycache__/generate_disarm_sql.cpython-38.pyc delete mode 100644 CODE/generate_DISARM_sql.ipynb create mode 100644 CODE/generate_disarm_sql.py create mode 100644 generated_pages/techniques/T0066.md create mode 100644 generated_pages/techniques/T0067.md create mode 100644 generated_pages/techniques/T0068.md create mode 100644 generated_pages/techniques/T0069.md create mode 100644 generated_pages/techniques/T0070.md create mode 100644 generated_pages/techniques/T0071.md create mode 100644 generated_pages/techniques/T0072.md diff --git a/.DS_Store b/.DS_Store index d3eed58f0261aabacf2e73999043528d764ab1ff..caa32b61e13ec25da0f976451767d0b583f49c62 100644 GIT binary patch delta 1392 zcmeH_T}%{L6vxkhME1^A;DYQ0mQ8nMC7~4Ma|J9|P|#SFMWuXHBUzYfIWAOi!s{9q>v`^qJ6BXeXt=$`_Pv*t?iRZAB=tK-I;9@(~qR@orgKO z=gd9lKj-&f=wIkRKaSPUrk6YyP8Y0rn4e+Q?kk_JshFEw%bbl&rL9CfHE1SNDu%im$a(Y|8@;|jsAg+ZYe#qQ z%YADFg+-#cgme4T;+l}Ss_Sc_u&6+m$qFVyZ207uHGR@bzv+Be>6hFVB{CEAOL^3Y zrp?_+Q@stwocfk($p=zOiik4Z$vj`n`M`t~H$+Nx&d%Ca&*dwz=$IK3hVEW#ZsBrh z#uX~|=aOyhTn>*XCMV5!I#rCiT)K0ol*i5N=mXJIIx=O(O+$RC<~yqWvWKyeY_;1k zOv4$tXRnm6re2RG&B$!rOp0%EV)v{3s3>wO*=E!08%G(rZ=(jr}?CAva4Xq9f$9lA&N=>a{YZ|QsbfqtZ)=rKJ-J{WXx zY(fA*Y(_2W(TFBAqXXU8jUM!(4+9v)5QY(jg$cwkI*A!%@D|Qs0q5``KEh>ujBB`# zPw+Wz;SRpSU3`uEc!Zzv3x3t|HIK$LT`SQ7TF`~A!HqPOi@Bgx*#)I#A@lFN<=eBD zhyUU&|G#<5UM{u3ZNGP`;8jfF73<1l&U# z-=Qm$h&=b$$zRfy8wI%?cKLdk!YmjIb=A1)pC$8;T&~eF-J~z*E@ke~cM8cPdIC}~ z3Q>;d6pSi_P>pRl94+X?PINg)4&Wdn=*M9k#W5VmsKRo>!4k(T-oPo$VIFVe9lVS8 zu!xIT!u$9DmlUTfSaxOpx%++M+2vzp<&0d=FPz@E;tBqiC;o7=`@@z0@A1Fv@f>~! Dp(!)w delta 1335 zcmd^-Uu;uV9LIm(yF%|#r>Bc;ciLemMVO;V$L!dc%3y^}bPUI~ZfIEA-UGX#yX|_r zEiz|CXV66X<5gb_B*sJ%;vbe}k*F^w#^{SiT#QjLJeZjH;)_Pan0Rix7cnNjdmhd? zzu)iN`}>~r`Ofc~-*+mDrG?2?y{Dh5UG(Y=I+mPkfys6L+1b`uW82obSmSI*M|-R> z(RT0L9Mk>L&7A{dM{*NZ{uW_wG^D0Y+sx$T(2Qx6#z)h3R$7K>9oBhNADPOSlT&8t z@yZYGhzRzWp?db^4fBvG4ZftaN+lW*;!(HKU6g7zbiI<^&?MNPtyJ;!%E8zs#>#_7 zOv~W5(%{N!*}}w7E}fA%Zm{ZiZCja0P0ONf<}LovO0x4lCPuRPi3w?yY#(AP>8>3@ z9CTYhoVH8-1!*Z+pQ`?q>qSJ5u8+Fa9fl!|<=S9<;KA@7Ar9E%>7wkPv1E~7a@DHB zUX^#Q)&;z3Kj7~Ftc#Qft@MP9cEzbOI7lZ!F?xV@(*eqoMKkmQy+|kM482JU^d5ag zpV8;^C0(Mg=ra94KhZDrEB!{-0NjKi1VRX79pY%g7IdNuJJF3K`Y?b&3}F~!kT{HS zm?)xr6i;9dPvSUE!NJRT1!wU#-o*th;C+065Ag}Uz_+-JEBGEi;&)ufADTxCYW14X zLRwU7(pswGHB?t6{BJ{RRiTHvsh^UxD`!s^GP!()NIRG*H2>3wq1`>biT~t7Fz4Lu zrkZ{JO`NUO6<@x}1tUUtF=wwo+{!kGT9`5iuc@S2b11=dj%v`(wlU=r?x}|Nv+Ybd z*Lls~a08WpW%4?mrweqEK2}V=rtjz~{j4|;R)Zs;ShytCU_CbAZZso?1lrJ!4n-x2 zUFbnC_F%uFGK>^PkwF#)4k3>_3kr>mDaECXr|}G)#R;6mX}q*T=nW?oh~TZonZP_- X^fq4igk2lmVAJYLg#Xvia}0k0>w7ye diff --git a/CODE/.DS_Store b/CODE/.DS_Store index e6a0a2acc042eb81f9b1e14a5c386de4a5a6d8e2..38f875f6a0534c877827126214288fad836ce57c 100644 GIT binary patch literal 6148 zcmeH~&u`N(6vv;p!dx~`4}6e$E+zZm3gzyF4M2T~@%r0oZ<;%L}u+~DTMp7NSGk^^;B{W_H13Q>54X3P;z4U?+!UkM=A)ga*xq_P9@qJ; zyZ4{$cTSRCDnDwX3_n0Bt{a`mCu}TSV3;2z0sdezFEl0HmUkq3+2n~;-kx+_LyW&X z{CpaHJKwGLhri{|jxYaPK6w2!k!cs-PjGHP20nBlf({f|_pqPf2(|NR5S7L`Fe?4i zK)$c@7pGqokYD8dgmT%OIbd+jHmV4iEyGuK zP-{4>0^4+#pd4Y;Fu!V2|GmZc|BFesX9-vW{}cgMb3M0>OEPEc%;M;*6B`mu~2NHo}wr#0|Nsi1A_nqLp(zXLn=cqLjgn1#KPr_tdr~66gCU7 seP!INz`@QkvElw^b`E|Hpw7*L9N(EI^NUylHGwrVL1~uF5h81t0T{~@y8r+H diff --git a/CODE/.ipynb_checkpoints/generate_DISARM_pages-checkpoint.ipynb b/CODE/.ipynb_checkpoints/generate_DISARM_pages-checkpoint.ipynb index 7b330ac..8e8c99d 100644 --- a/CODE/.ipynb_checkpoints/generate_DISARM_pages-checkpoint.ipynb +++ b/CODE/.ipynb_checkpoints/generate_DISARM_pages-checkpoint.ipynb @@ -4,9 +4,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Generate DISARM github files\n", + "# Generate DISARM files\n", "\n", - "Generate all the DISARM github files from the DISARM master spreadsheets, being careful to retain any comments people have made below the \"don't write above this\" line in them. " + "Generate DISARM files and database objects from the DISARM master spreadsheets." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 1. Generate DISARM github pages" ] }, { @@ -54,9 +61,64 @@ "disarm.generate_and_write_datafiles()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2. Generate DISARM STIX objects" + ] + }, { "cell_type": "code", "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'conduct-center-of-gravity-analysis' is not a recognized DISARM Tactic.\n", + "'drive-offline-activity' is not a recognized DISARM Tactic.\n" + ] + } + ], + "source": [ + "import sys\n", + "sys.path.insert(0, \"DISARM-STIX2\")\n", + "from main import generate_disarm_stix\n", + "\n", + "generate_disarm_stix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3. Generate DISARM database objects" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from generate_disarm_sql import generate_disarm_sql\n", + "\n", + "generate_disarm_sql('sqlite')\n", + "generate_disarm_sql('postgresql_local')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4 (optional). Look at datasets" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "metadata": { "scrolled": true }, @@ -88,6 +150,7 @@ " sector_ids\n", " framework_ids\n", " longname\n", + " Jon's comments/questions\n", " \n", " \n", " \n", @@ -99,6 +162,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW01, FW02\n", " A001 - data scientist\n", + " What actual actions do data scientists execute...\n", " \n", " \n", " 1\n", @@ -108,6 +172,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW02\n", " A002 - target\n", + " Both red and blue framework users will refer t...\n", " \n", " \n", " 2\n", @@ -117,6 +182,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW01, FW02\n", " A003 - trusted authority\n", + " Is A003 best summarised by the word \"Inluencer...\n", " \n", " \n", " 3\n", @@ -126,6 +192,7 @@ " S002\n", " FW02\n", " A004 - activist\n", + " What does this actortype do?\n", " \n", " \n", " 4\n", @@ -135,6 +202,7 @@ " S002\n", " FW02\n", " A005 - community group\n", + " What does this actortype do?\n", " \n", " \n", " 5\n", @@ -144,6 +212,7 @@ " S002\n", " FW02\n", " A006 - educator\n", + " \n", " \n", " \n", " 6\n", @@ -153,6 +222,7 @@ " S002\n", " FW02\n", " A007 - factchecker\n", + " \n", " \n", " \n", " 7\n", @@ -162,6 +232,7 @@ " S002\n", " FW02\n", " A008 - library\n", + " Is this an actortype? A sub-sector, yes. But w...\n", " \n", " \n", " 8\n", @@ -171,6 +242,7 @@ " S002\n", " FW02\n", " A009 - NGO\n", + " This is a sector, not an actortype\n", " \n", " \n", " 9\n", @@ -180,6 +252,7 @@ " S002\n", " FW02\n", " A010 - religious organisation\n", + " \"Faith communities\" are a sub-sector of the Ci...\n", " \n", " \n", " 10\n", @@ -189,6 +262,7 @@ " S002\n", " FW02\n", " A011 - school\n", + " This is a subsector of S004 - not an actortype...\n", " \n", " \n", " 11\n", @@ -198,6 +272,7 @@ " S006\n", " FW01\\nFW02\n", " A012 - account owner\n", + " \n", " \n", " \n", " 12\n", @@ -207,6 +282,7 @@ " S006\n", " FW01\\nFW02\n", " A013 - content creator\n", + " \n", " \n", " \n", " 13\n", @@ -216,6 +292,7 @@ " S006\n", " FW02\n", " A014 - elves\n", + " ??? SJ, you have told me, but I've forgotten\n", " \n", " \n", " 14\n", @@ -225,6 +302,7 @@ " S006\n", " FW02\n", " A015 - general public\n", + " Duplication of a field in the sector object. B...\n", " \n", " \n", " 15\n", @@ -234,6 +312,7 @@ " S006\n", " FW01\\nFW02\n", " A016 - influencer\n", + " \n", " \n", " \n", " 16\n", @@ -243,6 +322,7 @@ " S003\n", " FW02\n", " A017 - coordinating body\n", + " \"Response coordinator\"? Or just 'Coordinator\"\n", " \n", " \n", " 17\n", @@ -252,6 +332,7 @@ " S003\n", " FW01\\nFW02\n", " A018 - government\n", + " DHS (A017) is \"government\". Again, this is a f...\n", " \n", " \n", " 18\n", @@ -261,6 +342,7 @@ " S003\n", " FW02\n", " A019 - military\n", + " A019 is a sub-sector of \"government\". Again, t...\n", " \n", " \n", " 19\n", @@ -270,6 +352,7 @@ " S003\n", " FW02\n", " A020 - policy maker\n", + " \n", " \n", " \n", " 20\n", @@ -279,6 +362,7 @@ " S010\n", " FW01\\nFW02\n", " A021 - media organisation\n", + " Not an actortype. The actor is perhaps as the ...\n", " \n", " \n", " 21\n", @@ -288,6 +372,7 @@ " S009\n", " FW02\n", " A022 - company\n", + " \n", " \n", " \n", " 22\n", @@ -297,6 +382,7 @@ " S008\n", " FW02\n", " A023 - adtech provider\n", + " Should Adtech be a called-out subsector of S00...\n", " \n", " \n", " 23\n", @@ -306,6 +392,7 @@ " S008\n", " FW02\n", " A024 - developer\n", + " \n", " \n", " \n", " 24\n", @@ -315,6 +402,7 @@ " S008\n", " FW02\n", " A025 - funding_site_admin\n", + " What is this?\n", " \n", " \n", " 25\n", @@ -324,6 +412,7 @@ " S008\n", " FW01, FW02\n", " A026 - games designer\n", + " Just \"Designer\"? Would the TTP context not mak...\n", " \n", " \n", " 26\n", @@ -333,6 +422,7 @@ " S008\n", " FW02\n", " A027 - information security\n", + " \n", " \n", " \n", " 27\n", @@ -342,6 +432,7 @@ " S008\n", " FW02\n", " A028 - platform administrator\n", + " Just \"Administrator\"?\n", " \n", " \n", " 28\n", @@ -351,6 +442,7 @@ " S008\n", " FW02\n", " A029 - server admininistrator\n", + " Just \"Administrator\"? (de-duplicating A028)\n", " \n", " \n", " 29\n", @@ -360,6 +452,7 @@ " S007\n", " FW02\n", " A030 - platforms\n", + " The same as S007? If there is an action here, ...\n", " \n", " \n", " 30\n", @@ -369,6 +462,7 @@ " S007\n", " FW02\n", " A031 - social media platform adminstrator\n", + " Not needed, given A028. The sector selection d...\n", " \n", " \n", " 31\n", @@ -378,6 +472,7 @@ " S007\n", " FW02\n", " A032 - social media platform outreach\n", + " What does this do?\n", " \n", " \n", " 32\n", @@ -387,6 +482,7 @@ " S007\n", " FW02\n", " A033 - social media platform owner\n", + " \n", " \n", " \n", "\n", @@ -498,48 +594,84 @@ "31 S007 FW02 \n", "32 S007 FW02 \n", "\n", - " longname \n", - "0 A001 - data scientist \n", - "1 A002 - target \n", - "2 A003 - trusted authority \n", - "3 A004 - activist \n", - "4 A005 - community group \n", - "5 A006 - educator \n", - "6 A007 - factchecker \n", - "7 A008 - library \n", - "8 A009 - NGO \n", - "9 A010 - religious organisation \n", - "10 A011 - school \n", - "11 A012 - account owner \n", - "12 A013 - content creator \n", - "13 A014 - elves \n", - "14 A015 - general public \n", - "15 A016 - influencer \n", - "16 A017 - coordinating body \n", - "17 A018 - government \n", - "18 A019 - military \n", - "19 A020 - policy maker \n", - "20 A021 - media organisation \n", - "21 A022 - company \n", - "22 A023 - adtech provider \n", - "23 A024 - developer \n", - "24 A025 - funding_site_admin \n", - "25 A026 - games designer \n", - "26 A027 - information security \n", - "27 A028 - platform administrator \n", - "28 A029 - server admininistrator \n", - "29 A030 - platforms \n", - "30 A031 - social media platform adminstrator \n", - "31 A032 - social media platform outreach \n", - "32 A033 - social media platform owner " + " longname \\\n", + "0 A001 - data scientist \n", + "1 A002 - target \n", + "2 A003 - trusted authority \n", + "3 A004 - activist \n", + "4 A005 - community group \n", + "5 A006 - educator \n", + "6 A007 - factchecker \n", + "7 A008 - library \n", + "8 A009 - NGO \n", + "9 A010 - religious organisation \n", + "10 A011 - school \n", + "11 A012 - account owner \n", + "12 A013 - content creator \n", + "13 A014 - elves \n", + "14 A015 - general public \n", + "15 A016 - influencer \n", + "16 A017 - coordinating body \n", + "17 A018 - government \n", + "18 A019 - military \n", + "19 A020 - policy maker \n", + "20 A021 - media organisation \n", + "21 A022 - company \n", + "22 A023 - adtech provider \n", + "23 A024 - developer \n", + "24 A025 - funding_site_admin \n", + "25 A026 - games designer \n", + "26 A027 - information security \n", + "27 A028 - platform administrator \n", + "28 A029 - server admininistrator \n", + "29 A030 - platforms \n", + "30 A031 - social media platform adminstrator \n", + "31 A032 - social media platform outreach \n", + "32 A033 - social media platform owner \n", + "\n", + " Jon's comments/questions \n", + "0 What actual actions do data scientists execute... \n", + "1 Both red and blue framework users will refer t... \n", + "2 Is A003 best summarised by the word \"Inluencer... \n", + "3 What does this actortype do? \n", + "4 What does this actortype do? \n", + "5 \n", + "6 \n", + "7 Is this an actortype? A sub-sector, yes. But w... \n", + "8 This is a sector, not an actortype \n", + "9 \"Faith communities\" are a sub-sector of the Ci... \n", + "10 This is a subsector of S004 - not an actortype... \n", + "11 \n", + "12 \n", + "13 ??? SJ, you have told me, but I've forgotten \n", + "14 Duplication of a field in the sector object. B... \n", + "15 \n", + "16 \"Response coordinator\"? Or just 'Coordinator\" \n", + "17 DHS (A017) is \"government\". Again, this is a f... \n", + "18 A019 is a sub-sector of \"government\". Again, t... \n", + "19 \n", + "20 Not an actortype. The actor is perhaps as the ... \n", + "21 \n", + "22 Should Adtech be a called-out subsector of S00... \n", + "23 \n", + "24 What is this? \n", + "25 Just \"Designer\"? Would the TTP context not mak... \n", + "26 \n", + "27 Just \"Administrator\"? \n", + "28 Just \"Administrator\"? (de-duplicating A028) \n", + "29 The same as S007? If there is an action here, ... \n", + "30 Not needed, given A028. The sector selection d... \n", + "31 What does this do? \n", + "32 " ] }, - "execution_count": 2, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "pd.set_option('display.max_rows', 1000)\n", "disarm.df_actortypes" ] }, diff --git a/CODE/.ipynb_checkpoints/generate_DISARM_sql-checkpoint.ipynb b/CODE/.ipynb_checkpoints/generate_DISARM_sql-checkpoint.ipynb deleted file mode 100644 index 0099a95..0000000 --- a/CODE/.ipynb_checkpoints/generate_DISARM_sql-checkpoint.ipynb +++ /dev/null @@ -1,8575 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Create DISARM website sql\n", - "\n", - "Creates a sql version of the DISARM framework.\n", - "\n", - "SQL is designed for use in the DISARMsite app. Code generates postgresql for use in a postgres instance, and sqlite for use in other apps." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummaryincident_idtechnique_idid
0IT00000001buy FB targeted adsI00002T00181
1IT00000010Targeted FB paid adsI00005T00182
2IT00000057Targeted FB paid adsI00017T00183
3IT00000002Promote \"funding\" campaignI00002T00174
4IT00000003create web-site - information pollutionI00002T00195
5IT00000014RT & Sputnik generate information pollutionI00005T00196
6IT00000031RT & Sputnik generate information pollution (r...I00007T00197
7IT00000037RT & Sputnik generate information pollutionI00009T00198
8IT00000061RT & Sputnik generate information pollutionI00017T00199
9IT00000082RT & Sputnik generate information pollution (s...I00029T001910
10IT00000094RT & Sputnik generate information pollutionI00032T001911
11IT00000120RT & Sputnik generate information pollutionI00044T001912
12IT00000137RT & Sputnik generate information pollution (s...I00049T001913
13IT00000146RT & Sputnik generate information pollution (s...I00050T001914
14IT00000156RT & Sputnik generate information pollutionI00051T001915
15IT00000180RT & Sputnik generate information pollution (s...I00063T001916
16IT00000004create web-site - information pollutionI00002T005617
17IT00000015RT & Sputnik generate information pollutionI00005T005618
18IT00000032RT & Sputnik generate information pollution (r...I00007T005619
19IT00000038RT & Sputnik generate information pollutionI00009T005620
20IT00000062RT & Sputnik generate information pollutionI00017T005621
21IT00000083RT & Sputnik generate information pollution (s...I00029T005622
22IT00000095RT & Sputnik generate information pollutionI00032T005623
23IT00000121RT & Sputnik generate information pollutionI00044T005624
24IT00000138RT & Sputnik generate information pollution (s...I00049T005625
25IT00000147RT & Sputnik generate information pollution (s...I00050T005626
26IT00000157RT & Sputnik generate information pollutionI00051T005627
27IT00000162State-run media seeds foreign influence enviro...I00053T005628
28IT00000181RT & Sputnik generate information pollution (s...I00063T005629
29IT00000005SEO optimisation/manipulation (\"key words\")I00002T004630
30IT00000022SEO optimisation/manipulation (\"key words\")I00005T004631
31IT00000043SEO optimisation/manipulation (\"key words\")I00010T004632
32IT00000071SEO optimisation/manipulation (\"key words\")I00017T004633
33IT00000085SEO optimisation/manipulation (\"key words\")I00029T004634
34IT00000103SEO optimisation/manipulation (\"key words\")I00032T004635
35IT00000125SEO optimisation/manipulation (\"key words\")I00044T004636
36IT00000140SEO optimisation/manipulation (\"key words\")I00049T004637
37IT00000149SEO optimisation/manipulation (\"key words\")I00050T004638
38IT00000161SEO optimisation/manipulation (\"key words\")I00051T004639
39IT00000172SEO optimisation/manipulation (\"key words\")I00056T004640
40IT00000183SEO optimisation/manipulation (\"key words\")I00063T004641
41IT00000006legacy web contentI00002T005842
42IT00000007hard to remove content and/or campaign/exploit...I00002T005843
43IT00000176legacy web contentI00056T005844
44IT00000008Twitter bots amplify & manipulateI00005T005445
45IT00000034Twitter bots amplify & manipulateI00007T005446
46IT00000041Twitter bots amplify & manipulateI00010T005447
47IT00000055Twitter bots amplify & manipulateI00017T005448
48IT00000076Twitter bots amplify & manipulateI00022T005449
49IT00000079Twitter bots amplify & manipulateI00029T005450
50IT00000090Twitter bots amplify & manipulateI00032T005451
51IT00000115Twitter bots amplify & manipulateI00042T005452
52IT00000118Twitter bots amplify & manipulateI00044T005453
53IT00000131Twitter bots amplify & manipulateI00047T005454
54IT00000134Twitter bots amplify & manipulateI00049T005455
55IT00000144Twitter bots amplify & manipulateI00050T005456
56IT00000154Twitter bots amplify & manipulateI00051T005457
57IT00000169Twitter bots amplify & manipulateI00056T005458
58IT00000177Twitter bots amplify & manipulateI00063T005459
59IT00000009Twitter trolls amplify & manipulateI00005T005360
60IT00000035Twitter trolls amplify & manipulateI00007T005361
61IT00000042Twitter trolls amplify & manipulateI00010T005362
62IT00000056Twitter trolls amplify & manipulateI00017T005363
63IT00000077Twitter trolls amplify & manipulateI00022T005364
64IT00000080Twitter trolls amplify & manipulateI00029T005365
65IT00000091Twitter trolls amplify & manipulateI00032T005366
66IT00000119Twitter trolls amplify & manipulateI00044T005367
67IT00000132Twitter trolls amplify & manipulateI00047T005368
68IT00000135Twitter trolls amplify & manipulateI00049T005369
69IT00000145Twitter trolls amplify & manipulateI00050T005370
70IT00000155Twitter trolls amplify & manipulateI00051T005371
71IT00000170Twitter trolls amplify & manipulateI00056T005372
72IT00000178Twitter trolls amplify & manipulateI00063T005373
73IT00000011Fake FB groups + dark contentI00005T000774
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006T000775
75IT00000039FB pagesI00009T000776
76IT00000045FB pages/groups/profilesI00010T000777
77IT00000058Fake FB groups + dark contentI00017T000778
78IT00000078Fake FB groups/pages/profiles + dark contentI00022T000779
79IT00000092Fake FB groups/pages/profilesI00032T000780
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056T000781
81IT00000012Digital to physical \"organize+promote\" rallies...I00005T005782
82IT00000059Digital to physical \"organize+promote\" rallies...I00017T005783
83IT00000093Digital to physical \"organize+promote\" rallies...I00032T005784
84IT00000164Events coordinated and promoted across media p...I00053T005785
85IT00000166Extend digital the physical space… gatherings ...I00053T005786
86IT00000013manipulate social media \"online polls\"?I00005T002987
87IT00000060manipulate social media \"online polls\"?I00017T002988
88IT00000016cultivate, manipulate, exploit useful idiotsI00005T001089
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007T001090
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010T001091
91IT00000063cultivate, manipulate, exploit useful idiotsI00017T001092
92IT00000084cultivate, manipulate, exploit useful idiotsI00029T001093
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032T001094
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044T001095
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049T001096
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050T001097
97IT00000158cultivate, manipulate, exploit useful idiotsI00051T001098
98IT00000182cultivate, manipulate, exploit useful idiotsI00063T001099
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0031100
100IT00000046YouTube; RedditI00010T0031101
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0031102
102IT00000087YouTube; Reddit;I00029T0031103
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0031104
104IT00000122YouTube; RedditI00044T0031105
105IT00000142YouTube; Reddit;I00049T0031106
106IT00000151YouTube; Reddit;I00050T0031107
107IT00000159YouTube; RedditI00051T0031108
108IT00000185YouTube; Reddit;I00063T0031109
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0032110
110IT00000047YouTube; RedditI00010T0032111
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0032112
112IT00000088YouTube; Reddit;I00029T0032113
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0032114
114IT00000123YouTube; RedditI00044T0032115
115IT00000143YouTube; Reddit;I00049T0032116
116IT00000152YouTube; Reddit;I00050T0032117
117IT00000160YouTube; RedditI00051T0032118
118IT00000186YouTube; Reddit;I00063T0032119
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0034120
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0034121
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0034122
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0035123
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0035124
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0035125
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0036126
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0036127
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0036128
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005T0021129
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017T0021130
130IT00000117memesI00042T0021131
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0021132
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005T0030133
133IT00000074Backstop personasI00017T0030134
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006T0043135
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006T0024136
136IT00000116photoshopped/fake imagesI00042T0024137
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0015138
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0055139
139IT00000030bait journalists/media/politiciansI00006T0039140
140IT00000049journalist/media baitingI00010T0039141
141IT00000053journalist/media baitingI00015T0039142
142IT00000036Using \"expert\"I00009T0045143
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009T0052144
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029T0052145
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049T0052146
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050T0052147
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063T0052148
148IT000000484Chan/8Chan - trial contentI00010T0020149
149IT000000704Chan/8Chan - trial contentI00017T0020150
150IT000001024Chan/8Chan - trial contentI00032T0020151
151IT000001244Chan/8Chan - trial contentI00044T0020152
152IT00000050Forge ('release' altered hacked documents)I00015T0025153
153IT00000051hack/leak/manipulate/distortI00015T0025154
154IT00000054hack/leak/manipulate/distortI00017T0025155
155IT00000075hack/leak/manipulate/distortI00022T0025156
156IT00000153hack/leak/manipulate/distortI00051T0025157
157IT00000052Circulate to media via DM, then release publiclyI00015T0044158
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0033159
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0033160
160IT00000073Click-bait (economic actors) fake news sites (...I00017T0016161
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029T0001162
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047T0001163
163IT00000129Russian FSB security service blamed Ukraine fo...I00047T0001164
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049T0001165
165IT00000167China also plays victim, innocence, plays by r...I00053T0001166
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053T0001167
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063T0001168
168IT00000089Demand insurmountable proofI00029T0040169
169IT00000133Demand insurmountable proofI00047T0040170
170IT000001052,000,000 people (est.) part of state run/spon...I00033T0049171
171IT00000112flood the Facebook pages of Taiwanese politici...I00034T0049172
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034T0049173
173IT00000106fabricated social media commentI00033T0051174
174IT00000107domestic social media influence operations foc...I00033T0050175
175IT00000165Extend digital the physical space… gatherings ...I00053T0050176
176IT00000108cow online opinion leaders into submission, mu...I00033T0047177
177IT00000109cow online opinion leaders into submission, mu...I00033T0048178
178IT00000110facilitate state propaganda and defuse crisesI00033T0002179
179IT00000111Netizens from one of the largest discussion fo...I00034T0002180
180IT00000114“hack” of Qatar’s official news agencyI00042T0011181
181IT00000127Promote fake “experts” with impressive (and sc...I00044T0009182
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047T0023183
183IT00000163Distorted, saccharine “news” about the Chinese...I00053T0023184
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0022185
185IT00000175Fake news/synthetic web-sitesI00056T0008186
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary incident_id \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " technique_id id \n", - "0 T0018 1 \n", - "1 T0018 2 \n", - "2 T0018 3 \n", - "3 T0017 4 \n", - "4 T0019 5 \n", - "5 T0019 6 \n", - "6 T0019 7 \n", - "7 T0019 8 \n", - "8 T0019 9 \n", - "9 T0019 10 \n", - "10 T0019 11 \n", - "11 T0019 12 \n", - "12 T0019 13 \n", - "13 T0019 14 \n", - "14 T0019 15 \n", - "15 T0019 16 \n", - "16 T0056 17 \n", - "17 T0056 18 \n", - "18 T0056 19 \n", - "19 T0056 20 \n", - "20 T0056 21 \n", - "21 T0056 22 \n", - "22 T0056 23 \n", - "23 T0056 24 \n", - "24 T0056 25 \n", - "25 T0056 26 \n", - "26 T0056 27 \n", - "27 T0056 28 \n", - "28 T0056 29 \n", - "29 T0046 30 \n", - "30 T0046 31 \n", - "31 T0046 32 \n", - "32 T0046 33 \n", - "33 T0046 34 \n", - "34 T0046 35 \n", - "35 T0046 36 \n", - "36 T0046 37 \n", - "37 T0046 38 \n", - "38 T0046 39 \n", - "39 T0046 40 \n", - "40 T0046 41 \n", - "41 T0058 42 \n", - "42 T0058 43 \n", - "43 T0058 44 \n", - "44 T0054 45 \n", - "45 T0054 46 \n", - "46 T0054 47 \n", - "47 T0054 48 \n", - "48 T0054 49 \n", - "49 T0054 50 \n", - "50 T0054 51 \n", - "51 T0054 52 \n", - "52 T0054 53 \n", - "53 T0054 54 \n", - "54 T0054 55 \n", - "55 T0054 56 \n", - "56 T0054 57 \n", - "57 T0054 58 \n", - "58 T0054 59 \n", - "59 T0053 60 \n", - "60 T0053 61 \n", - "61 T0053 62 \n", - "62 T0053 63 \n", - "63 T0053 64 \n", - "64 T0053 65 \n", - "65 T0053 66 \n", - "66 T0053 67 \n", - "67 T0053 68 \n", - "68 T0053 69 \n", - "69 T0053 70 \n", - "70 T0053 71 \n", - "71 T0053 72 \n", - "72 T0053 73 \n", - "73 T0007 74 \n", - "74 T0007 75 \n", - "75 T0007 76 \n", - "76 T0007 77 \n", - "77 T0007 78 \n", - "78 T0007 79 \n", - "79 T0007 80 \n", - "80 T0007 81 \n", - "81 T0057 82 \n", - "82 T0057 83 \n", - "83 T0057 84 \n", - "84 T0057 85 \n", - "85 T0057 86 \n", - "86 T0029 87 \n", - "87 T0029 88 \n", - "88 T0010 89 \n", - "89 T0010 90 \n", - "90 T0010 91 \n", - "91 T0010 92 \n", - "92 T0010 93 \n", - "93 T0010 94 \n", - "94 T0010 95 \n", - "95 T0010 96 \n", - "96 T0010 97 \n", - "97 T0010 98 \n", - "98 T0010 99 \n", - "99 T0031 100 \n", - "100 T0031 101 \n", - "101 T0031 102 \n", - "102 T0031 103 \n", - "103 T0031 104 \n", - "104 T0031 105 \n", - "105 T0031 106 \n", - "106 T0031 107 \n", - "107 T0031 108 \n", - "108 T0031 109 \n", - "109 T0032 110 \n", - "110 T0032 111 \n", - "111 T0032 112 \n", - "112 T0032 113 \n", - "113 T0032 114 \n", - "114 T0032 115 \n", - "115 T0032 116 \n", - "116 T0032 117 \n", - "117 T0032 118 \n", - "118 T0032 119 \n", - "119 T0034 120 \n", - "120 T0034 121 \n", - "121 T0034 122 \n", - "122 T0035 123 \n", - "123 T0035 124 \n", - "124 T0035 125 \n", - "125 T0036 126 \n", - "126 T0036 127 \n", - "127 T0036 128 \n", - "128 T0021 129 \n", - "129 T0021 130 \n", - "130 T0021 131 \n", - "131 T0021 132 \n", - "132 T0030 133 \n", - "133 T0030 134 \n", - "134 T0043 135 \n", - "135 T0024 136 \n", - "136 T0024 137 \n", - "137 T0015 138 \n", - "138 T0055 139 \n", - "139 T0039 140 \n", - "140 T0039 141 \n", - "141 T0039 142 \n", - "142 T0045 143 \n", - "143 T0052 144 \n", - "144 T0052 145 \n", - "145 T0052 146 \n", - "146 T0052 147 \n", - "147 T0052 148 \n", - "148 T0020 149 \n", - "149 T0020 150 \n", - "150 T0020 151 \n", - "151 T0020 152 \n", - "152 T0025 153 \n", - "153 T0025 154 \n", - "154 T0025 155 \n", - "155 T0025 156 \n", - "156 T0025 157 \n", - "157 T0044 158 \n", - "158 T0033 159 \n", - "159 T0033 160 \n", - "160 T0016 161 \n", - "161 T0001 162 \n", - "162 T0001 163 \n", - "163 T0001 164 \n", - "164 T0001 165 \n", - "165 T0001 166 \n", - "166 T0001 167 \n", - "167 T0001 168 \n", - "168 T0040 169 \n", - "169 T0040 170 \n", - "170 T0049 171 \n", - "171 T0049 172 \n", - "172 T0049 173 \n", - "173 T0051 174 \n", - "174 T0050 175 \n", - "175 T0050 176 \n", - "176 T0047 177 \n", - "177 T0048 178 \n", - "178 T0002 179 \n", - "179 T0002 180 \n", - "180 T0011 181 \n", - "181 T0009 182 \n", - "182 T0023 183 \n", - "183 T0023 184 \n", - "184 T0022 185 \n", - "185 T0008 186 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Get DISARM variables\n", - "\n", - "import pandas as pd\n", - "import sqlite3 as sql\n", - "import os\n", - "from sqlalchemy import create_engine\n", - "from generate_DISARM_pages import Disarm\n", - "pd.set_option('display.max_rows', 1000)\n", - "\n", - "\n", - "# Generate DISARM datasets\n", - "disarm = Disarm()\n", - "\n", - "dbasetype = 'sqlite' #'postgresql_local' # 'heroku'\n", - "\n", - "\n", - "# Create connection to database\n", - "if dbasetype == 'sqlite':\n", - " # Generate minimal sqlite database from the variables\n", - " conn = sql.connect('../generated_files/DISARM_database.sqlite')\n", - "elif dbasetype == 'postgresql_local':\n", - " conn = create_engine('postgresql://sara:@localhost:5432/disarmsite')\n", - "\n", - " \n", - "# Add table to database \n", - "def add_table(dataframe, tablename, columns): \n", - " # Create sql-appropriate table from dataframe\n", - " colnames = ', '.join(['{} TEXT NOT NULL'.format(col) for col in columns])\n", - " newtable = dataframe[columns].copy().applymap(str)\n", - " newtable['id'] = range(1,len(newtable)+1)\n", - " \n", - " # send to database\n", - " if dbasetype == 'sqlite':\n", - " conn.execute(\"DROP TABLE IF EXISTS {}\".format(tablename))\n", - " conn.execute('''CREATE TABLE {} (id INTEGER PRIMARY KEY AUTOINCREMENT, {});'''.format(tablename, colnames))\n", - " newtable.to_sql(tablename, conn, index=False, if_exists='append')\n", - " conn.commit()\n", - " elif dbasetype == 'postgresql_local':\n", - " newtable.to_sql(tablename, conn, index=False, if_exists='replace')\n", - " return newtable\n", - "\n", - "\n", - "# Build a cross-table\n", - "def object_tactics_techniques(objectcol, objecttable, crosstable):\n", - " # objects to techniques\n", - " ctech = crosstable.copy()\n", - " ctech = ctech[(ctech['technique_id'] != '') & (~ctech['technique_id'].str.startswith('TA'))]\n", - " ctech.rename(columns={'disarm_id':objectcol}, inplace=True)\n", - " ctech['summary'] = 'N/A'\n", - "\n", - " # objects to tactics\n", - " ctact = crosstable[crosstable['technique_id'].str.startswith('TA')].copy()\n", - " ctact.rename(columns={'disarm_id':objectcol, 'technique_id': 'tactic_id'}, inplace=True)\n", - " ctact['main_tactic'] = 'N'\n", - " ctactmain = objecttable[['disarm_id', 'tactic_id']].copy()\n", - " ctactmain.rename(columns={'disarm_id':objectcol}, inplace=True)\n", - " ctactmain['main_tactic'] = 'Y'\n", - " ctact = pd.concat([ctact, ctactmain], ignore_index=True, sort=False)\n", - " ctact['summary'] = 'N/A'\n", - " return(ctech, ctact)\n", - "\n", - "#Load all the tables - Heroku needs them in correct order... \n", - "\n", - "# -- frameworks --\n", - "\n", - "#newtable = add_table(disarm.df_actortypes, 'actor_type', ['disarm_id', 'sector_id', 'framework_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_counters, 'counter', ['disarm_id', 'tactic_id', 'metatechnique_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_detections, 'detection', ['disarm_id', 'tactic_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_frameworks, 'framework', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_metatechniques, 'metatechnique', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_phases, 'phase', ['disarm_id', 'name', 'rank', 'summary'])\n", - "newtable = add_table(disarm.df_playbooks, 'playbook', ['disarm_id', 'object_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_resources, 'resource', ['disarm_id', 'name', 'summary', 'resource_type'])\n", - "newtable = add_table(disarm.df_responsetypes, 'responsetype', ['disarm_id', 'name', 'summary'])\n", - "#newtable = add_table(disarm.df_sector, 'sector', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_tactics, 'tactic', ['disarm_id', 'phase_id', 'name', 'rank', 'summary'])\n", - "newtable = add_table(disarm.df_tasks, 'task', ['disarm_id', 'tactic_id', 'framework_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_techniques, 'technique', ['disarm_id', 'tactic_id', 'name', 'summary'])\n", - "\n", - "(ctech, ctact) = object_tactics_techniques('counter_id', disarm.df_counters, disarm.cross_counterid_techniqueid)\n", - "newtable = add_table(ctech, 'counter_technique', ['counter_id', 'technique_id', 'summary'])\n", - "newtable = add_table(ctact, 'counter_tactic', ['counter_id', 'tactic_id', 'main_tactic', 'summary'])\n", - "\n", - "(dtech, dtact) = object_tactics_techniques('detection_id', disarm.df_detections, disarm.cross_detectionid_techniqueid)\n", - "newtable = add_table(dtech, 'detection_technique', ['detection_id', 'technique_id', 'summary'])\n", - "newtable = add_table(dtact, 'detection_tactic', ['detection_id', 'tactic_id', 'main_tactic', 'summary'])\n", - "\n", - "# -- datasets --\n", - "\n", - "newtable = add_table(disarm.df_examples, 'example', ['disarm_id', 'object_id', 'name', 'summary'])\n", - "\n", - "# dataset\n", - "# reference - create this from other tables. \n", - "# Also need incidentcounter etc - create from data\n", - "newtable = add_table(disarm.df_externalgroups, 'externalgroup', ['disarm_id', 'name', 'url', 'summary', \n", - " 'sector', 'primary_role', 'secondary_role', \n", - " 'primary_subject', 'secondary_subject', \n", - " 'volunteers', 'region', 'country', \n", - " 'twitter_handle'])\n", - "newtable = add_table(disarm.df_incidents, 'incident', ['disarm_id', 'name', 'summary', \n", - " 'year_started', 'attributions_seen', \n", - " 'found_in_country', 'objecttype'])\n", - "newtable = add_table(disarm.df_tools, 'tool', ['disarm_id', 'name', 'summary',\n", - " 'externalgroup', 'url', 'category', \n", - " 'disinformation_use', 'cogseccollab_use', \n", - " 'function', 'code_url', 'artifacts', \n", - " 'automation', 'platform', 'accessibility'])\n", - "# incidenttechnique crosstable\n", - "it = vars(disarm)['it'][['disarm_id', 'name', 'summary', 'disarm_id_incident', 'disarm_id_technique']].copy()\n", - "it.rename(columns={'disarm_id_incident':'incident_id', 'disarm_id_technique': 'technique_id'}, inplace=True)\n", - "newtable = add_table(it, 'incident_technique', ['disarm_id', 'name', 'summary', \n", - " 'incident_id', 'technique_id'])\n", - "\n", - "# Load in users table, and close connection\n", - "if dbasetype == 'sqlite':\n", - " conn.execute(\"DROP TABLE IF EXISTS {}\".format('users'))\n", - " conn.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL UNIQUE, password TEXT NOT NULL);''')\n", - " conn.close()\n", - "else:\n", - " dfusers = pd.DataFrame([['test','testing']], columns=['username', 'password'])\n", - " usertable = add_table(dfusers, 'users', ['username', 'password'])\n", - "\n", - "newtable" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## test area" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": true - }, - "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": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummarydisarm_id_incidentname_incidentdisarm_id_techniquename_technique
0IT00000001buy FB targeted adsI00002#VaccinateUST0018Paid targeted ads
1IT00000010Targeted FB paid adsI00005Brexit voteT0018Paid targeted ads
2IT00000057Targeted FB paid adsI00017US presidential electionsT0018Paid targeted ads
3IT00000002Promote \"funding\" campaignI00002#VaccinateUST0017Promote online funding
4IT00000003create web-site - information pollutionI00002#VaccinateUST0019Generate information pollution
5IT00000014RT & Sputnik generate information pollutionI00005Brexit voteT0019Generate information pollution
6IT00000031RT & Sputnik generate information pollution (r...I00007Incirlik terroristsT0019Generate information pollution
7IT00000037RT & Sputnik generate information pollutionI00009PhilippinesExpertT0019Generate information pollution
8IT00000061RT & Sputnik generate information pollutionI00017US presidential electionsT0019Generate information pollution
9IT00000082RT & Sputnik generate information pollution (s...I00029MH17 investigationT0019Generate information pollution
10IT00000094RT & Sputnik generate information pollutionI00032KavanaughT0019Generate information pollution
11IT00000120RT & Sputnik generate information pollutionI00044JadeHelm exerciseT0019Generate information pollution
12IT00000137RT & Sputnik generate information pollution (s...I00049White Helmets: Chemical WeaponsT0019Generate information pollution
13IT00000146RT & Sputnik generate information pollution (s...I00050#HandsOffVenezuelaT0019Generate information pollution
14IT00000156RT & Sputnik generate information pollutionI00051Integrity InitiativeT0019Generate information pollution
15IT00000180RT & Sputnik generate information pollution (s...I00063Olympic Doping ScandalT0019Generate information pollution
16IT00000004create web-site - information pollutionI00002#VaccinateUST0056Dedicated channels disseminate information pol...
17IT00000015RT & Sputnik generate information pollutionI00005Brexit voteT0056Dedicated channels disseminate information pol...
18IT00000032RT & Sputnik generate information pollution (r...I00007Incirlik terroristsT0056Dedicated channels disseminate information pol...
19IT00000038RT & Sputnik generate information pollutionI00009PhilippinesExpertT0056Dedicated channels disseminate information pol...
20IT00000062RT & Sputnik generate information pollutionI00017US presidential electionsT0056Dedicated channels disseminate information pol...
21IT00000083RT & Sputnik generate information pollution (s...I00029MH17 investigationT0056Dedicated channels disseminate information pol...
22IT00000095RT & Sputnik generate information pollutionI00032KavanaughT0056Dedicated channels disseminate information pol...
23IT00000121RT & Sputnik generate information pollutionI00044JadeHelm exerciseT0056Dedicated channels disseminate information pol...
24IT00000138RT & Sputnik generate information pollution (s...I00049White Helmets: Chemical WeaponsT0056Dedicated channels disseminate information pol...
25IT00000147RT & Sputnik generate information pollution (s...I00050#HandsOffVenezuelaT0056Dedicated channels disseminate information pol...
26IT00000157RT & Sputnik generate information pollutionI00051Integrity InitiativeT0056Dedicated channels disseminate information pol...
27IT00000162State-run media seeds foreign influence enviro...I00053China Huawei CFO ArrestT0056Dedicated channels disseminate information pol...
28IT00000181RT & Sputnik generate information pollution (s...I00063Olympic Doping ScandalT0056Dedicated channels disseminate information pol...
29IT00000005SEO optimisation/manipulation (\"key words\")I00002#VaccinateUST0046Search Engine Optimization
30IT00000022SEO optimisation/manipulation (\"key words\")I00005Brexit voteT0046Search Engine Optimization
31IT00000043SEO optimisation/manipulation (\"key words\")I00010ParklandTeensT0046Search Engine Optimization
32IT00000071SEO optimisation/manipulation (\"key words\")I00017US presidential electionsT0046Search Engine Optimization
33IT00000085SEO optimisation/manipulation (\"key words\")I00029MH17 investigationT0046Search Engine Optimization
34IT00000103SEO optimisation/manipulation (\"key words\")I00032KavanaughT0046Search Engine Optimization
35IT00000125SEO optimisation/manipulation (\"key words\")I00044JadeHelm exerciseT0046Search Engine Optimization
36IT00000140SEO optimisation/manipulation (\"key words\")I00049White Helmets: Chemical WeaponsT0046Search Engine Optimization
37IT00000149SEO optimisation/manipulation (\"key words\")I00050#HandsOffVenezuelaT0046Search Engine Optimization
38IT00000161SEO optimisation/manipulation (\"key words\")I00051Integrity InitiativeT0046Search Engine Optimization
39IT00000172SEO optimisation/manipulation (\"key words\")I00056Iran Influence OperationsT0046Search Engine Optimization
40IT00000183SEO optimisation/manipulation (\"key words\")I00063Olympic Doping ScandalT0046Search Engine Optimization
41IT00000006legacy web contentI00002#VaccinateUST0058Legacy web content
42IT00000007hard to remove content and/or campaign/exploit...I00002#VaccinateUST0058Legacy web content
43IT00000176legacy web contentI00056Iran Influence OperationsT0058Legacy web content
44IT00000008Twitter bots amplify & manipulateI00005Brexit voteT0054Twitter bots amplify
45IT00000034Twitter bots amplify & manipulateI00007Incirlik terroristsT0054Twitter bots amplify
46IT00000041Twitter bots amplify & manipulateI00010ParklandTeensT0054Twitter bots amplify
47IT00000055Twitter bots amplify & manipulateI00017US presidential electionsT0054Twitter bots amplify
48IT00000076Twitter bots amplify & manipulateI00022#MacronleaksT0054Twitter bots amplify
49IT00000079Twitter bots amplify & manipulateI00029MH17 investigationT0054Twitter bots amplify
50IT00000090Twitter bots amplify & manipulateI00032KavanaughT0054Twitter bots amplify
51IT00000115Twitter bots amplify & manipulateI00042Saudi/Qatar bot disputeT0054Twitter bots amplify
52IT00000118Twitter bots amplify & manipulateI00044JadeHelm exerciseT0054Twitter bots amplify
53IT00000131Twitter bots amplify & manipulateI00047Sea of AzovT0054Twitter bots amplify
54IT00000134Twitter bots amplify & manipulateI00049White Helmets: Chemical WeaponsT0054Twitter bots amplify
55IT00000144Twitter bots amplify & manipulateI00050#HandsOffVenezuelaT0054Twitter bots amplify
56IT00000154Twitter bots amplify & manipulateI00051Integrity InitiativeT0054Twitter bots amplify
57IT00000169Twitter bots amplify & manipulateI00056Iran Influence OperationsT0054Twitter bots amplify
58IT00000177Twitter bots amplify & manipulateI00063Olympic Doping ScandalT0054Twitter bots amplify
59IT00000009Twitter trolls amplify & manipulateI00005Brexit voteT0053Twitter trolls amplify and manipulate
60IT00000035Twitter trolls amplify & manipulateI00007Incirlik terroristsT0053Twitter trolls amplify and manipulate
61IT00000042Twitter trolls amplify & manipulateI00010ParklandTeensT0053Twitter trolls amplify and manipulate
62IT00000056Twitter trolls amplify & manipulateI00017US presidential electionsT0053Twitter trolls amplify and manipulate
63IT00000077Twitter trolls amplify & manipulateI00022#MacronleaksT0053Twitter trolls amplify and manipulate
64IT00000080Twitter trolls amplify & manipulateI00029MH17 investigationT0053Twitter trolls amplify and manipulate
65IT00000091Twitter trolls amplify & manipulateI00032KavanaughT0053Twitter trolls amplify and manipulate
66IT00000119Twitter trolls amplify & manipulateI00044JadeHelm exerciseT0053Twitter trolls amplify and manipulate
67IT00000132Twitter trolls amplify & manipulateI00047Sea of AzovT0053Twitter trolls amplify and manipulate
68IT00000135Twitter trolls amplify & manipulateI00049White Helmets: Chemical WeaponsT0053Twitter trolls amplify and manipulate
69IT00000145Twitter trolls amplify & manipulateI00050#HandsOffVenezuelaT0053Twitter trolls amplify and manipulate
70IT00000155Twitter trolls amplify & manipulateI00051Integrity InitiativeT0053Twitter trolls amplify and manipulate
71IT00000170Twitter trolls amplify & manipulateI00056Iran Influence OperationsT0053Twitter trolls amplify and manipulate
72IT00000178Twitter trolls amplify & manipulateI00063Olympic Doping ScandalT0053Twitter trolls amplify and manipulate
73IT00000011Fake FB groups + dark contentI00005Brexit voteT0007Create fake Social Media Profiles / Pages / Gr...
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006Columbian ChemicalsT0007Create fake Social Media Profiles / Pages / Gr...
75IT00000039FB pagesI00009PhilippinesExpertT0007Create fake Social Media Profiles / Pages / Gr...
76IT00000045FB pages/groups/profilesI00010ParklandTeensT0007Create fake Social Media Profiles / Pages / Gr...
77IT00000058Fake FB groups + dark contentI00017US presidential electionsT0007Create fake Social Media Profiles / Pages / Gr...
78IT00000078Fake FB groups/pages/profiles + dark contentI00022#MacronleaksT0007Create fake Social Media Profiles / Pages / Gr...
79IT00000092Fake FB groups/pages/profilesI00032KavanaughT0007Create fake Social Media Profiles / Pages / Gr...
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056Iran Influence OperationsT0007Create fake Social Media Profiles / Pages / Gr...
81IT00000012Digital to physical \"organize+promote\" rallies...I00005Brexit voteT0057Organise remote rallies and events
82IT00000059Digital to physical \"organize+promote\" rallies...I00017US presidential electionsT0057Organise remote rallies and events
83IT00000093Digital to physical \"organize+promote\" rallies...I00032KavanaughT0057Organise remote rallies and events
84IT00000164Events coordinated and promoted across media p...I00053China Huawei CFO ArrestT0057Organise remote rallies and events
85IT00000166Extend digital the physical space… gatherings ...I00053China Huawei CFO ArrestT0057Organise remote rallies and events
86IT00000013manipulate social media \"online polls\"?I00005Brexit voteT0029Manipulate online polls
87IT00000060manipulate social media \"online polls\"?I00017US presidential electionsT0029Manipulate online polls
88IT00000016cultivate, manipulate, exploit useful idiotsI00005Brexit voteT0010Cultivate ignorant agents
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007Incirlik terroristsT0010Cultivate ignorant agents
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010ParklandTeensT0010Cultivate ignorant agents
91IT00000063cultivate, manipulate, exploit useful idiotsI00017US presidential electionsT0010Cultivate ignorant agents
92IT00000084cultivate, manipulate, exploit useful idiotsI00029MH17 investigationT0010Cultivate ignorant agents
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032KavanaughT0010Cultivate ignorant agents
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044JadeHelm exerciseT0010Cultivate ignorant agents
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049White Helmets: Chemical WeaponsT0010Cultivate ignorant agents
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050#HandsOffVenezuelaT0010Cultivate ignorant agents
97IT00000158cultivate, manipulate, exploit useful idiotsI00051Integrity InitiativeT0010Cultivate ignorant agents
98IT00000182cultivate, manipulate, exploit useful idiotsI00063Olympic Doping ScandalT0010Cultivate ignorant agents
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0031YouTube
100IT00000046YouTube; RedditI00010ParklandTeensT0031YouTube
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0031YouTube
102IT00000087YouTube; Reddit;I00029MH17 investigationT0031YouTube
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0031YouTube
104IT00000122YouTube; RedditI00044JadeHelm exerciseT0031YouTube
105IT00000142YouTube; Reddit;I00049White Helmets: Chemical WeaponsT0031YouTube
106IT00000151YouTube; Reddit;I00050#HandsOffVenezuelaT0031YouTube
107IT00000159YouTube; RedditI00051Integrity InitiativeT0031YouTube
108IT00000185YouTube; Reddit;I00063Olympic Doping ScandalT0031YouTube
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0032Reddit
110IT00000047YouTube; RedditI00010ParklandTeensT0032Reddit
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0032Reddit
112IT00000088YouTube; Reddit;I00029MH17 investigationT0032Reddit
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0032Reddit
114IT00000123YouTube; RedditI00044JadeHelm exerciseT0032Reddit
115IT00000143YouTube; Reddit;I00049White Helmets: Chemical WeaponsT0032Reddit
116IT00000152YouTube; Reddit;I00050#HandsOffVenezuelaT0032Reddit
117IT00000160YouTube; RedditI00051Integrity InitiativeT0032Reddit
118IT00000186YouTube; Reddit;I00063Olympic Doping ScandalT0032Reddit
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0034LinkedIn
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0034LinkedIn
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0034LinkedIn
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0035Pinterest
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0035Pinterest
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0035Pinterest
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0036WhatsApp
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0036WhatsApp
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0036WhatsApp
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005Brexit voteT0021Memes
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017US presidential electionsT0021Memes
130IT00000117memesI00042Saudi/Qatar bot disputeT0021Memes
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056Iran Influence OperationsT0021Memes
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005Brexit voteT0030Backstop personas
133IT00000074Backstop personasI00017US presidential electionsT0030Backstop personas
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006Columbian ChemicalsT0043Use SMS/ WhatsApp/ Chat apps
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006Columbian ChemicalsT0024Create fake videos and images
136IT00000116photoshopped/fake imagesI00042Saudi/Qatar bot disputeT0024Create fake videos and images
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006Columbian ChemicalsT0015Create hashtag
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006Columbian ChemicalsT0055Use hashtag
139IT00000030bait journalists/media/politiciansI00006Columbian ChemicalsT0039Bait legitimate influencers
140IT00000049journalist/media baitingI00010ParklandTeensT0039Bait legitimate influencers
141IT00000053journalist/media baitingI00015ConcordDiscoveryT0039Bait legitimate influencers
142IT00000036Using \"expert\"I00009PhilippinesExpertT0045Use fake experts
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009PhilippinesExpertT0052Tertiary sites amplify news
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029MH17 investigationT0052Tertiary sites amplify news
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049White Helmets: Chemical WeaponsT0052Tertiary sites amplify news
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050#HandsOffVenezuelaT0052Tertiary sites amplify news
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063Olympic Doping ScandalT0052Tertiary sites amplify news
148IT000000484Chan/8Chan - trial contentI00010ParklandTeensT0020Trial content
149IT000000704Chan/8Chan - trial contentI00017US presidential electionsT0020Trial content
150IT000001024Chan/8Chan - trial contentI00032KavanaughT0020Trial content
151IT000001244Chan/8Chan - trial contentI00044JadeHelm exerciseT0020Trial content
152IT00000050Forge ('release' altered hacked documents)I00015ConcordDiscoveryT0025Leak altered documents
153IT00000051hack/leak/manipulate/distortI00015ConcordDiscoveryT0025Leak altered documents
154IT00000054hack/leak/manipulate/distortI00017US presidential electionsT0025Leak altered documents
155IT00000075hack/leak/manipulate/distortI00022#MacronleaksT0025Leak altered documents
156IT00000153hack/leak/manipulate/distortI00051Integrity InitiativeT0025Leak altered documents
157IT00000052Circulate to media via DM, then release publiclyI00015ConcordDiscoveryT0044Seed distortions
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0033Instagram
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0033Instagram
160IT00000073Click-bait (economic actors) fake news sites (...I00017US presidential electionsT0016Clickbait
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029MH17 investigationT00015Ds (dismiss, distort, distract, dismay, divide)
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047Sea of AzovT00015Ds (dismiss, distort, distract, dismay, divide)
163IT00000129Russian FSB security service blamed Ukraine fo...I00047Sea of AzovT00015Ds (dismiss, distort, distract, dismay, divide)
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049White Helmets: Chemical WeaponsT00015Ds (dismiss, distort, distract, dismay, divide)
165IT00000167China also plays victim, innocence, plays by r...I00053China Huawei CFO ArrestT00015Ds (dismiss, distort, distract, dismay, divide)
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053China Huawei CFO ArrestT00015Ds (dismiss, distort, distract, dismay, divide)
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063Olympic Doping ScandalT00015Ds (dismiss, distort, distract, dismay, divide)
168IT00000089Demand insurmountable proofI00029MH17 investigationT0040Demand unsurmountable proof
169IT00000133Demand insurmountable proofI00047Sea of AzovT0040Demand unsurmountable proof
170IT000001052,000,000 people (est.) part of state run/spon...I00033China 50cent ArmyT0049Flooding
171IT00000112flood the Facebook pages of Taiwanese politici...I00034DibaFacebookExpeditionT0049Flooding
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034DibaFacebookExpeditionT0049Flooding
173IT00000106fabricated social media commentI00033China 50cent ArmyT0051Fabricate social media comment
174IT00000107domestic social media influence operations foc...I00033China 50cent ArmyT0050Cheerleading domestic social media ops
175IT00000165Extend digital the physical space… gatherings ...I00053China Huawei CFO ArrestT0050Cheerleading domestic social media ops
176IT00000108cow online opinion leaders into submission, mu...I00033China 50cent ArmyT0047Muzzle social media as a political force
177IT00000109cow online opinion leaders into submission, mu...I00033China 50cent ArmyT0048Cow online opinion leaders
178IT00000110facilitate state propaganda and defuse crisesI00033China 50cent ArmyT0002Facilitate State Propaganda
179IT00000111Netizens from one of the largest discussion fo...I00034DibaFacebookExpeditionT0002Facilitate State Propaganda
180IT00000114“hack” of Qatar’s official news agencyI00042Saudi/Qatar bot disputeT0011Hijack legitimate account
181IT00000127Promote fake “experts” with impressive (and sc...I00044JadeHelm exerciseT0009Create fake experts
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047Sea of AzovT0023Distort facts
183IT00000163Distorted, saccharine “news” about the Chinese...I00053China Huawei CFO ArrestT0023Distort facts
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056Iran Influence OperationsT0022Conspiracy narratives
185IT00000175Fake news/synthetic web-sitesI00056Iran Influence OperationsT0008Create fake or imposter news sites
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary disarm_id_incident \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " name_incident disarm_id_technique \\\n", - "0 #VaccinateUS T0018 \n", - "1 Brexit vote T0018 \n", - "2 US presidential elections T0018 \n", - "3 #VaccinateUS T0017 \n", - "4 #VaccinateUS T0019 \n", - "5 Brexit vote T0019 \n", - "6 Incirlik terrorists T0019 \n", - "7 PhilippinesExpert T0019 \n", - "8 US presidential elections T0019 \n", - "9 MH17 investigation T0019 \n", - "10 Kavanaugh T0019 \n", - "11 JadeHelm exercise T0019 \n", - "12 White Helmets: Chemical Weapons T0019 \n", - "13 #HandsOffVenezuela T0019 \n", - "14 Integrity Initiative T0019 \n", - "15 Olympic Doping Scandal T0019 \n", - "16 #VaccinateUS T0056 \n", - "17 Brexit vote T0056 \n", - "18 Incirlik terrorists T0056 \n", - "19 PhilippinesExpert T0056 \n", - "20 US presidential elections T0056 \n", - "21 MH17 investigation T0056 \n", - "22 Kavanaugh T0056 \n", - "23 JadeHelm exercise T0056 \n", - "24 White Helmets: Chemical Weapons T0056 \n", - "25 #HandsOffVenezuela T0056 \n", - "26 Integrity Initiative T0056 \n", - "27 China Huawei CFO Arrest T0056 \n", - "28 Olympic Doping Scandal T0056 \n", - "29 #VaccinateUS T0046 \n", - "30 Brexit vote T0046 \n", - "31 ParklandTeens T0046 \n", - "32 US presidential elections T0046 \n", - "33 MH17 investigation T0046 \n", - "34 Kavanaugh T0046 \n", - "35 JadeHelm exercise T0046 \n", - "36 White Helmets: Chemical Weapons T0046 \n", - "37 #HandsOffVenezuela T0046 \n", - "38 Integrity Initiative T0046 \n", - "39 Iran Influence Operations T0046 \n", - "40 Olympic Doping Scandal T0046 \n", - "41 #VaccinateUS T0058 \n", - "42 #VaccinateUS T0058 \n", - "43 Iran Influence Operations T0058 \n", - "44 Brexit vote T0054 \n", - "45 Incirlik terrorists T0054 \n", - "46 ParklandTeens T0054 \n", - "47 US presidential elections T0054 \n", - "48 #Macronleaks T0054 \n", - "49 MH17 investigation T0054 \n", - "50 Kavanaugh T0054 \n", - "51 Saudi/Qatar bot dispute T0054 \n", - "52 JadeHelm exercise T0054 \n", - "53 Sea of Azov T0054 \n", - "54 White Helmets: Chemical Weapons T0054 \n", - "55 #HandsOffVenezuela T0054 \n", - "56 Integrity Initiative T0054 \n", - "57 Iran Influence Operations T0054 \n", - "58 Olympic Doping Scandal T0054 \n", - "59 Brexit vote T0053 \n", - "60 Incirlik terrorists T0053 \n", - "61 ParklandTeens T0053 \n", - "62 US presidential elections T0053 \n", - "63 #Macronleaks T0053 \n", - "64 MH17 investigation T0053 \n", - "65 Kavanaugh T0053 \n", - "66 JadeHelm exercise T0053 \n", - "67 Sea of Azov T0053 \n", - "68 White Helmets: Chemical Weapons T0053 \n", - "69 #HandsOffVenezuela T0053 \n", - "70 Integrity Initiative T0053 \n", - "71 Iran Influence Operations T0053 \n", - "72 Olympic Doping Scandal T0053 \n", - "73 Brexit vote T0007 \n", - "74 Columbian Chemicals T0007 \n", - "75 PhilippinesExpert T0007 \n", - "76 ParklandTeens T0007 \n", - "77 US presidential elections T0007 \n", - "78 #Macronleaks T0007 \n", - "79 Kavanaugh T0007 \n", - "80 Iran Influence Operations T0007 \n", - "81 Brexit vote T0057 \n", - "82 US presidential elections T0057 \n", - "83 Kavanaugh T0057 \n", - "84 China Huawei CFO Arrest T0057 \n", - "85 China Huawei CFO Arrest T0057 \n", - "86 Brexit vote T0029 \n", - "87 US presidential elections T0029 \n", - "88 Brexit vote T0010 \n", - "89 Incirlik terrorists T0010 \n", - "90 ParklandTeens T0010 \n", - "91 US presidential elections T0010 \n", - "92 MH17 investigation T0010 \n", - "93 Kavanaugh T0010 \n", - "94 JadeHelm exercise T0010 \n", - "95 White Helmets: Chemical Weapons T0010 \n", - "96 #HandsOffVenezuela T0010 \n", - "97 Integrity Initiative T0010 \n", - "98 Olympic Doping Scandal T0010 \n", - "99 Brexit vote T0031 \n", - "100 ParklandTeens T0031 \n", - "101 US presidential elections T0031 \n", - "102 MH17 investigation T0031 \n", - "103 Kavanaugh T0031 \n", - "104 JadeHelm exercise T0031 \n", - "105 White Helmets: Chemical Weapons T0031 \n", - "106 #HandsOffVenezuela T0031 \n", - "107 Integrity Initiative T0031 \n", - "108 Olympic Doping Scandal T0031 \n", - "109 Brexit vote T0032 \n", - "110 ParklandTeens T0032 \n", - "111 US presidential elections T0032 \n", - "112 MH17 investigation T0032 \n", - "113 Kavanaugh T0032 \n", - "114 JadeHelm exercise T0032 \n", - "115 White Helmets: Chemical Weapons T0032 \n", - "116 #HandsOffVenezuela T0032 \n", - "117 Integrity Initiative T0032 \n", - "118 Olympic Doping Scandal T0032 \n", - "119 Brexit vote T0034 \n", - "120 US presidential elections T0034 \n", - "121 Kavanaugh T0034 \n", - "122 Brexit vote T0035 \n", - "123 US presidential elections T0035 \n", - "124 Kavanaugh T0035 \n", - "125 Brexit vote T0036 \n", - "126 US presidential elections T0036 \n", - "127 Kavanaugh T0036 \n", - "128 Brexit vote T0021 \n", - "129 US presidential elections T0021 \n", - "130 Saudi/Qatar bot dispute T0021 \n", - "131 Iran Influence Operations T0021 \n", - "132 Brexit vote T0030 \n", - "133 US presidential elections T0030 \n", - "134 Columbian Chemicals T0043 \n", - "135 Columbian Chemicals T0024 \n", - "136 Saudi/Qatar bot dispute T0024 \n", - "137 Columbian Chemicals T0015 \n", - "138 Columbian Chemicals T0055 \n", - "139 Columbian Chemicals T0039 \n", - "140 ParklandTeens T0039 \n", - "141 ConcordDiscovery T0039 \n", - "142 PhilippinesExpert T0045 \n", - "143 PhilippinesExpert T0052 \n", - "144 MH17 investigation T0052 \n", - "145 White Helmets: Chemical Weapons T0052 \n", - "146 #HandsOffVenezuela T0052 \n", - "147 Olympic Doping Scandal T0052 \n", - "148 ParklandTeens T0020 \n", - "149 US presidential elections T0020 \n", - "150 Kavanaugh T0020 \n", - "151 JadeHelm exercise T0020 \n", - "152 ConcordDiscovery T0025 \n", - "153 ConcordDiscovery T0025 \n", - "154 US presidential elections T0025 \n", - "155 #Macronleaks T0025 \n", - "156 Integrity Initiative T0025 \n", - "157 ConcordDiscovery T0044 \n", - "158 US presidential elections T0033 \n", - "159 Kavanaugh T0033 \n", - "160 US presidential elections T0016 \n", - "161 MH17 investigation T0001 \n", - "162 Sea of Azov T0001 \n", - "163 Sea of Azov T0001 \n", - "164 White Helmets: Chemical Weapons T0001 \n", - "165 China Huawei CFO Arrest T0001 \n", - "166 China Huawei CFO Arrest T0001 \n", - "167 Olympic Doping Scandal T0001 \n", - "168 MH17 investigation T0040 \n", - "169 Sea of Azov T0040 \n", - "170 China 50cent Army T0049 \n", - "171 DibaFacebookExpedition T0049 \n", - "172 DibaFacebookExpedition T0049 \n", - "173 China 50cent Army T0051 \n", - "174 China 50cent Army T0050 \n", - "175 China Huawei CFO Arrest T0050 \n", - "176 China 50cent Army T0047 \n", - "177 China 50cent Army T0048 \n", - "178 China 50cent Army T0002 \n", - "179 DibaFacebookExpedition T0002 \n", - "180 Saudi/Qatar bot dispute T0011 \n", - "181 JadeHelm exercise T0009 \n", - "182 Sea of Azov T0023 \n", - "183 China Huawei CFO Arrest T0023 \n", - "184 Iran Influence Operations T0022 \n", - "185 Iran Influence Operations T0008 \n", - "\n", - " name_technique \n", - "0 Paid targeted ads \n", - "1 Paid targeted ads \n", - "2 Paid targeted ads \n", - "3 Promote online funding \n", - "4 Generate information pollution \n", - "5 Generate information pollution \n", - "6 Generate information pollution \n", - "7 Generate information pollution \n", - "8 Generate information pollution \n", - "9 Generate information pollution \n", - "10 Generate information pollution \n", - "11 Generate information pollution \n", - "12 Generate information pollution \n", - "13 Generate information pollution \n", - "14 Generate information pollution \n", - "15 Generate information pollution \n", - "16 Dedicated channels disseminate information pol... \n", - "17 Dedicated channels disseminate information pol... \n", - "18 Dedicated channels disseminate information pol... \n", - "19 Dedicated channels disseminate information pol... \n", - "20 Dedicated channels disseminate information pol... \n", - "21 Dedicated channels disseminate information pol... \n", - "22 Dedicated channels disseminate information pol... \n", - "23 Dedicated channels disseminate information pol... \n", - "24 Dedicated channels disseminate information pol... \n", - "25 Dedicated channels disseminate information pol... \n", - "26 Dedicated channels disseminate information pol... \n", - "27 Dedicated channels disseminate information pol... \n", - "28 Dedicated channels disseminate information pol... \n", - "29 Search Engine Optimization \n", - "30 Search Engine Optimization \n", - "31 Search Engine Optimization \n", - "32 Search Engine Optimization \n", - "33 Search Engine Optimization \n", - "34 Search Engine Optimization \n", - "35 Search Engine Optimization \n", - "36 Search Engine Optimization \n", - "37 Search Engine Optimization \n", - "38 Search Engine Optimization \n", - "39 Search Engine Optimization \n", - "40 Search Engine Optimization \n", - "41 Legacy web content \n", - "42 Legacy web content \n", - "43 Legacy web content \n", - "44 Twitter bots amplify \n", - "45 Twitter bots amplify \n", - "46 Twitter bots amplify \n", - "47 Twitter bots amplify \n", - "48 Twitter bots amplify \n", - "49 Twitter bots amplify \n", - "50 Twitter bots amplify \n", - "51 Twitter bots amplify \n", - "52 Twitter bots amplify \n", - "53 Twitter bots amplify \n", - "54 Twitter bots amplify \n", - "55 Twitter bots amplify \n", - "56 Twitter bots amplify \n", - "57 Twitter bots amplify \n", - "58 Twitter bots amplify \n", - "59 Twitter trolls amplify and manipulate \n", - "60 Twitter trolls amplify and manipulate \n", - "61 Twitter trolls amplify and manipulate \n", - "62 Twitter trolls amplify and manipulate \n", - "63 Twitter trolls amplify and manipulate \n", - "64 Twitter trolls amplify and manipulate \n", - "65 Twitter trolls amplify and manipulate \n", - "66 Twitter trolls amplify and manipulate \n", - "67 Twitter trolls amplify and manipulate \n", - "68 Twitter trolls amplify and manipulate \n", - "69 Twitter trolls amplify and manipulate \n", - "70 Twitter trolls amplify and manipulate \n", - "71 Twitter trolls amplify and manipulate \n", - "72 Twitter trolls amplify and manipulate \n", - "73 Create fake Social Media Profiles / Pages / Gr... \n", - "74 Create fake Social Media Profiles / Pages / Gr... \n", - "75 Create fake Social Media Profiles / Pages / Gr... \n", - "76 Create fake Social Media Profiles / Pages / Gr... \n", - "77 Create fake Social Media Profiles / Pages / Gr... \n", - "78 Create fake Social Media Profiles / Pages / Gr... \n", - "79 Create fake Social Media Profiles / Pages / Gr... \n", - "80 Create fake Social Media Profiles / Pages / Gr... \n", - "81 Organise remote rallies and events \n", - "82 Organise remote rallies and events \n", - "83 Organise remote rallies and events \n", - "84 Organise remote rallies and events \n", - "85 Organise remote rallies and events \n", - "86 Manipulate online polls \n", - "87 Manipulate online polls \n", - "88 Cultivate ignorant agents \n", - "89 Cultivate ignorant agents \n", - "90 Cultivate ignorant agents \n", - "91 Cultivate ignorant agents \n", - "92 Cultivate ignorant agents \n", - "93 Cultivate ignorant agents \n", - "94 Cultivate ignorant agents \n", - "95 Cultivate ignorant agents \n", - "96 Cultivate ignorant agents \n", - "97 Cultivate ignorant agents \n", - "98 Cultivate ignorant agents \n", - "99 YouTube \n", - "100 YouTube \n", - "101 YouTube \n", - "102 YouTube \n", - "103 YouTube \n", - "104 YouTube \n", - "105 YouTube \n", - "106 YouTube \n", - "107 YouTube \n", - "108 YouTube \n", - "109 Reddit \n", - "110 Reddit \n", - "111 Reddit \n", - "112 Reddit \n", - "113 Reddit \n", - "114 Reddit \n", - "115 Reddit \n", - "116 Reddit \n", - "117 Reddit \n", - "118 Reddit \n", - "119 LinkedIn \n", - "120 LinkedIn \n", - "121 LinkedIn \n", - "122 Pinterest \n", - "123 Pinterest \n", - "124 Pinterest \n", - "125 WhatsApp \n", - "126 WhatsApp \n", - "127 WhatsApp \n", - "128 Memes \n", - "129 Memes \n", - "130 Memes \n", - "131 Memes \n", - "132 Backstop personas \n", - "133 Backstop personas \n", - "134 Use SMS/ WhatsApp/ Chat apps \n", - "135 Create fake videos and images \n", - "136 Create fake videos and images \n", - "137 Create hashtag \n", - "138 Use hashtag \n", - "139 Bait legitimate influencers \n", - "140 Bait legitimate influencers \n", - "141 Bait legitimate influencers \n", - "142 Use fake experts \n", - "143 Tertiary sites amplify news \n", - "144 Tertiary sites amplify news \n", - "145 Tertiary sites amplify news \n", - "146 Tertiary sites amplify news \n", - "147 Tertiary sites amplify news \n", - "148 Trial content \n", - "149 Trial content \n", - "150 Trial content \n", - "151 Trial content \n", - "152 Leak altered documents \n", - "153 Leak altered documents \n", - "154 Leak altered documents \n", - "155 Leak altered documents \n", - "156 Leak altered documents \n", - "157 Seed distortions \n", - "158 Instagram \n", - "159 Instagram \n", - "160 Clickbait \n", - "161 5Ds (dismiss, distort, distract, dismay, divide) \n", - "162 5Ds (dismiss, distort, distract, dismay, divide) \n", - "163 5Ds (dismiss, distort, distract, dismay, divide) \n", - "164 5Ds (dismiss, distort, distract, dismay, divide) \n", - "165 5Ds (dismiss, distort, distract, dismay, divide) \n", - "166 5Ds (dismiss, distort, distract, dismay, divide) \n", - "167 5Ds (dismiss, distort, distract, dismay, divide) \n", - "168 Demand unsurmountable proof \n", - "169 Demand unsurmountable proof \n", - "170 Flooding \n", - "171 Flooding \n", - "172 Flooding \n", - "173 Fabricate social media comment \n", - "174 Cheerleading domestic social media ops \n", - "175 Cheerleading domestic social media ops \n", - "176 Muzzle social media as a political force \n", - "177 Cow online opinion leaders \n", - "178 Facilitate State Propaganda \n", - "179 Facilitate State Propaganda \n", - "180 Hijack legitimate account \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 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Check which amitt 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": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummaryincident_idtechnique_id
0IT00000001buy FB targeted adsI00002T0018
1IT00000010Targeted FB paid adsI00005T0018
2IT00000057Targeted FB paid adsI00017T0018
3IT00000002Promote \"funding\" campaignI00002T0017
4IT00000003create web-site - information pollutionI00002T0019
5IT00000014RT & Sputnik generate information pollutionI00005T0019
6IT00000031RT & Sputnik generate information pollution (r...I00007T0019
7IT00000037RT & Sputnik generate information pollutionI00009T0019
8IT00000061RT & Sputnik generate information pollutionI00017T0019
9IT00000082RT & Sputnik generate information pollution (s...I00029T0019
10IT00000094RT & Sputnik generate information pollutionI00032T0019
11IT00000120RT & Sputnik generate information pollutionI00044T0019
12IT00000137RT & Sputnik generate information pollution (s...I00049T0019
13IT00000146RT & Sputnik generate information pollution (s...I00050T0019
14IT00000156RT & Sputnik generate information pollutionI00051T0019
15IT00000180RT & Sputnik generate information pollution (s...I00063T0019
16IT00000004create web-site - information pollutionI00002T0056
17IT00000015RT & Sputnik generate information pollutionI00005T0056
18IT00000032RT & Sputnik generate information pollution (r...I00007T0056
19IT00000038RT & Sputnik generate information pollutionI00009T0056
20IT00000062RT & Sputnik generate information pollutionI00017T0056
21IT00000083RT & Sputnik generate information pollution (s...I00029T0056
22IT00000095RT & Sputnik generate information pollutionI00032T0056
23IT00000121RT & Sputnik generate information pollutionI00044T0056
24IT00000138RT & Sputnik generate information pollution (s...I00049T0056
25IT00000147RT & Sputnik generate information pollution (s...I00050T0056
26IT00000157RT & Sputnik generate information pollutionI00051T0056
27IT00000162State-run media seeds foreign influence enviro...I00053T0056
28IT00000181RT & Sputnik generate information pollution (s...I00063T0056
29IT00000005SEO optimisation/manipulation (\"key words\")I00002T0046
30IT00000022SEO optimisation/manipulation (\"key words\")I00005T0046
31IT00000043SEO optimisation/manipulation (\"key words\")I00010T0046
32IT00000071SEO optimisation/manipulation (\"key words\")I00017T0046
33IT00000085SEO optimisation/manipulation (\"key words\")I00029T0046
34IT00000103SEO optimisation/manipulation (\"key words\")I00032T0046
35IT00000125SEO optimisation/manipulation (\"key words\")I00044T0046
36IT00000140SEO optimisation/manipulation (\"key words\")I00049T0046
37IT00000149SEO optimisation/manipulation (\"key words\")I00050T0046
38IT00000161SEO optimisation/manipulation (\"key words\")I00051T0046
39IT00000172SEO optimisation/manipulation (\"key words\")I00056T0046
40IT00000183SEO optimisation/manipulation (\"key words\")I00063T0046
41IT00000006legacy web contentI00002T0058
42IT00000007hard to remove content and/or campaign/exploit...I00002T0058
43IT00000176legacy web contentI00056T0058
44IT00000008Twitter bots amplify & manipulateI00005T0054
45IT00000034Twitter bots amplify & manipulateI00007T0054
46IT00000041Twitter bots amplify & manipulateI00010T0054
47IT00000055Twitter bots amplify & manipulateI00017T0054
48IT00000076Twitter bots amplify & manipulateI00022T0054
49IT00000079Twitter bots amplify & manipulateI00029T0054
50IT00000090Twitter bots amplify & manipulateI00032T0054
51IT00000115Twitter bots amplify & manipulateI00042T0054
52IT00000118Twitter bots amplify & manipulateI00044T0054
53IT00000131Twitter bots amplify & manipulateI00047T0054
54IT00000134Twitter bots amplify & manipulateI00049T0054
55IT00000144Twitter bots amplify & manipulateI00050T0054
56IT00000154Twitter bots amplify & manipulateI00051T0054
57IT00000169Twitter bots amplify & manipulateI00056T0054
58IT00000177Twitter bots amplify & manipulateI00063T0054
59IT00000009Twitter trolls amplify & manipulateI00005T0053
60IT00000035Twitter trolls amplify & manipulateI00007T0053
61IT00000042Twitter trolls amplify & manipulateI00010T0053
62IT00000056Twitter trolls amplify & manipulateI00017T0053
63IT00000077Twitter trolls amplify & manipulateI00022T0053
64IT00000080Twitter trolls amplify & manipulateI00029T0053
65IT00000091Twitter trolls amplify & manipulateI00032T0053
66IT00000119Twitter trolls amplify & manipulateI00044T0053
67IT00000132Twitter trolls amplify & manipulateI00047T0053
68IT00000135Twitter trolls amplify & manipulateI00049T0053
69IT00000145Twitter trolls amplify & manipulateI00050T0053
70IT00000155Twitter trolls amplify & manipulateI00051T0053
71IT00000170Twitter trolls amplify & manipulateI00056T0053
72IT00000178Twitter trolls amplify & manipulateI00063T0053
73IT00000011Fake FB groups + dark contentI00005T0007
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006T0007
75IT00000039FB pagesI00009T0007
76IT00000045FB pages/groups/profilesI00010T0007
77IT00000058Fake FB groups + dark contentI00017T0007
78IT00000078Fake FB groups/pages/profiles + dark contentI00022T0007
79IT00000092Fake FB groups/pages/profilesI00032T0007
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056T0007
81IT00000012Digital to physical \"organize+promote\" rallies...I00005T0057
82IT00000059Digital to physical \"organize+promote\" rallies...I00017T0057
83IT00000093Digital to physical \"organize+promote\" rallies...I00032T0057
84IT00000164Events coordinated and promoted across media p...I00053T0057
85IT00000166Extend digital the physical space… gatherings ...I00053T0057
86IT00000013manipulate social media \"online polls\"?I00005T0029
87IT00000060manipulate social media \"online polls\"?I00017T0029
88IT00000016cultivate, manipulate, exploit useful idiotsI00005T0010
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007T0010
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010T0010
91IT00000063cultivate, manipulate, exploit useful idiotsI00017T0010
92IT00000084cultivate, manipulate, exploit useful idiotsI00029T0010
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032T0010
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044T0010
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049T0010
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050T0010
97IT00000158cultivate, manipulate, exploit useful idiotsI00051T0010
98IT00000182cultivate, manipulate, exploit useful idiotsI00063T0010
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0031
100IT00000046YouTube; RedditI00010T0031
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0031
102IT00000087YouTube; Reddit;I00029T0031
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0031
104IT00000122YouTube; RedditI00044T0031
105IT00000142YouTube; Reddit;I00049T0031
106IT00000151YouTube; Reddit;I00050T0031
107IT00000159YouTube; RedditI00051T0031
108IT00000185YouTube; Reddit;I00063T0031
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0032
110IT00000047YouTube; RedditI00010T0032
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0032
112IT00000088YouTube; Reddit;I00029T0032
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0032
114IT00000123YouTube; RedditI00044T0032
115IT00000143YouTube; Reddit;I00049T0032
116IT00000152YouTube; Reddit;I00050T0032
117IT00000160YouTube; RedditI00051T0032
118IT00000186YouTube; Reddit;I00063T0032
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0034
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0034
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0034
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0035
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0035
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0035
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0036
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0036
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0036
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005T0021
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017T0021
130IT00000117memesI00042T0021
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0021
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005T0030
133IT00000074Backstop personasI00017T0030
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006T0043
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006T0024
136IT00000116photoshopped/fake imagesI00042T0024
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0015
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0055
139IT00000030bait journalists/media/politiciansI00006T0039
140IT00000049journalist/media baitingI00010T0039
141IT00000053journalist/media baitingI00015T0039
142IT00000036Using \"expert\"I00009T0045
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009T0052
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029T0052
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049T0052
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050T0052
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063T0052
148IT000000484Chan/8Chan - trial contentI00010T0020
149IT000000704Chan/8Chan - trial contentI00017T0020
150IT000001024Chan/8Chan - trial contentI00032T0020
151IT000001244Chan/8Chan - trial contentI00044T0020
152IT00000050Forge ('release' altered hacked documents)I00015T0025
153IT00000051hack/leak/manipulate/distortI00015T0025
154IT00000054hack/leak/manipulate/distortI00017T0025
155IT00000075hack/leak/manipulate/distortI00022T0025
156IT00000153hack/leak/manipulate/distortI00051T0025
157IT00000052Circulate to media via DM, then release publiclyI00015T0044
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0033
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0033
160IT00000073Click-bait (economic actors) fake news sites (...I00017T0016
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029T0001
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047T0001
163IT00000129Russian FSB security service blamed Ukraine fo...I00047T0001
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049T0001
165IT00000167China also plays victim, innocence, plays by r...I00053T0001
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053T0001
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063T0001
168IT00000089Demand insurmountable proofI00029T0040
169IT00000133Demand insurmountable proofI00047T0040
170IT000001052,000,000 people (est.) part of state run/spon...I00033T0049
171IT00000112flood the Facebook pages of Taiwanese politici...I00034T0049
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034T0049
173IT00000106fabricated social media commentI00033T0051
174IT00000107domestic social media influence operations foc...I00033T0050
175IT00000165Extend digital the physical space… gatherings ...I00053T0050
176IT00000108cow online opinion leaders into submission, mu...I00033T0047
177IT00000109cow online opinion leaders into submission, mu...I00033T0048
178IT00000110facilitate state propaganda and defuse crisesI00033T0002
179IT00000111Netizens from one of the largest discussion fo...I00034T0002
180IT00000114“hack” of Qatar’s official news agencyI00042T0011
181IT00000127Promote fake “experts” with impressive (and sc...I00044T0009
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047T0023
183IT00000163Distorted, saccharine “news” about the Chinese...I00053T0023
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0022
185IT00000175Fake news/synthetic web-sitesI00056T0008
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary incident_id \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " technique_id \n", - "0 T0018 \n", - "1 T0018 \n", - "2 T0018 \n", - "3 T0017 \n", - "4 T0019 \n", - "5 T0019 \n", - "6 T0019 \n", - "7 T0019 \n", - "8 T0019 \n", - "9 T0019 \n", - "10 T0019 \n", - "11 T0019 \n", - "12 T0019 \n", - "13 T0019 \n", - "14 T0019 \n", - "15 T0019 \n", - "16 T0056 \n", - "17 T0056 \n", - "18 T0056 \n", - "19 T0056 \n", - "20 T0056 \n", - "21 T0056 \n", - "22 T0056 \n", - "23 T0056 \n", - "24 T0056 \n", - "25 T0056 \n", - "26 T0056 \n", - "27 T0056 \n", - "28 T0056 \n", - "29 T0046 \n", - "30 T0046 \n", - "31 T0046 \n", - "32 T0046 \n", - "33 T0046 \n", - "34 T0046 \n", - "35 T0046 \n", - "36 T0046 \n", - "37 T0046 \n", - "38 T0046 \n", - "39 T0046 \n", - "40 T0046 \n", - "41 T0058 \n", - "42 T0058 \n", - "43 T0058 \n", - "44 T0054 \n", - "45 T0054 \n", - "46 T0054 \n", - "47 T0054 \n", - "48 T0054 \n", - "49 T0054 \n", - "50 T0054 \n", - "51 T0054 \n", - "52 T0054 \n", - "53 T0054 \n", - "54 T0054 \n", - "55 T0054 \n", - "56 T0054 \n", - "57 T0054 \n", - "58 T0054 \n", - "59 T0053 \n", - "60 T0053 \n", - "61 T0053 \n", - "62 T0053 \n", - "63 T0053 \n", - "64 T0053 \n", - "65 T0053 \n", - "66 T0053 \n", - "67 T0053 \n", - "68 T0053 \n", - "69 T0053 \n", - "70 T0053 \n", - "71 T0053 \n", - "72 T0053 \n", - "73 T0007 \n", - "74 T0007 \n", - "75 T0007 \n", - "76 T0007 \n", - "77 T0007 \n", - "78 T0007 \n", - "79 T0007 \n", - "80 T0007 \n", - "81 T0057 \n", - "82 T0057 \n", - "83 T0057 \n", - "84 T0057 \n", - "85 T0057 \n", - "86 T0029 \n", - "87 T0029 \n", - "88 T0010 \n", - "89 T0010 \n", - "90 T0010 \n", - "91 T0010 \n", - "92 T0010 \n", - "93 T0010 \n", - "94 T0010 \n", - "95 T0010 \n", - "96 T0010 \n", - "97 T0010 \n", - "98 T0010 \n", - "99 T0031 \n", - "100 T0031 \n", - "101 T0031 \n", - "102 T0031 \n", - "103 T0031 \n", - "104 T0031 \n", - "105 T0031 \n", - "106 T0031 \n", - "107 T0031 \n", - "108 T0031 \n", - "109 T0032 \n", - "110 T0032 \n", - "111 T0032 \n", - "112 T0032 \n", - "113 T0032 \n", - "114 T0032 \n", - "115 T0032 \n", - "116 T0032 \n", - "117 T0032 \n", - "118 T0032 \n", - "119 T0034 \n", - "120 T0034 \n", - "121 T0034 \n", - "122 T0035 \n", - "123 T0035 \n", - "124 T0035 \n", - "125 T0036 \n", - "126 T0036 \n", - "127 T0036 \n", - "128 T0021 \n", - "129 T0021 \n", - "130 T0021 \n", - "131 T0021 \n", - "132 T0030 \n", - "133 T0030 \n", - "134 T0043 \n", - "135 T0024 \n", - "136 T0024 \n", - "137 T0015 \n", - "138 T0055 \n", - "139 T0039 \n", - "140 T0039 \n", - "141 T0039 \n", - "142 T0045 \n", - "143 T0052 \n", - "144 T0052 \n", - "145 T0052 \n", - "146 T0052 \n", - "147 T0052 \n", - "148 T0020 \n", - "149 T0020 \n", - "150 T0020 \n", - "151 T0020 \n", - "152 T0025 \n", - "153 T0025 \n", - "154 T0025 \n", - "155 T0025 \n", - "156 T0025 \n", - "157 T0044 \n", - "158 T0033 \n", - "159 T0033 \n", - "160 T0016 \n", - "161 T0001 \n", - "162 T0001 \n", - "163 T0001 \n", - "164 T0001 \n", - "165 T0001 \n", - "166 T0001 \n", - "167 T0001 \n", - "168 T0040 \n", - "169 T0040 \n", - "170 T0049 \n", - "171 T0049 \n", - "172 T0049 \n", - "173 T0051 \n", - "174 T0050 \n", - "175 T0050 \n", - "176 T0047 \n", - "177 T0048 \n", - "178 T0002 \n", - "179 T0002 \n", - "180 T0011 \n", - "181 T0009 \n", - "182 T0023 \n", - "183 T0023 \n", - "184 T0022 \n", - "185 T0008 " - ] - }, - "execution_count": 3, - "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": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "incident 44\n", - "campaign 16\n", - "apt 2\n", - "tactic 1\n", - "Name: objecttype, dtype: int64" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii = vars(disarm)['df_incidents']\n", - "dii['objecttype'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnameobjecttypesummaryyear_startedattributions_seenfound_in_countryurlsnoteswhen_addedfound_vialongname
30I00031antivaxapt2018RussiaWorldhttps://ajph.aphapublications.org/doi/pdf/10.2...2019-02-24OIII00031 - antivax
32I00033China 50cent Armyapt50cent Army is a CCP “tool” - “massive secret ...2014ChinaChinahttps://gking.harvard.edu/files/gking/files/ho...campaign (multiple incidents, e.g. Shanshan ri...2019-02-24OIII00033 - China 50cent Army
\n", - "
" - ], - "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": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii[dii['objecttype'] == 'apt']" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamename_DEtactic_idsummarysummary_DElongname
0T00015Ds (dismiss, distort, distract, dismay, divide)TA01Nimmo's \"4Ds of propaganda\": dismiss, distort,...T0001 - 5Ds (dismiss, distort, distract, disma...
1T0002Facilitate State PropagandaTA01Organize citizens around pro-state messaging. ...T0002 - Facilitate State Propaganda
2T0003Leverage Existing NarrativesTA01Use or adapt existing narrative themes, where ...T0003 - Leverage Existing Narratives
3T0004Competing NarrativesTA01Advance competing narratives connected to same...T0004 - Competing Narratives
4T0005Center of Gravity AnalysisTA02Recon/research to identify \"the source of powe...T0005 - Center of Gravity Analysis
5T0006Create Master NarrativesTA02The promotion of beneficial master narratives ...T0006 - Create Master Narratives
6T0007Create fake Social Media Profiles / Pages / Gr...TA03Create key social engineering assets needed to...T0007 - Create fake Social Media Profiles / Pa...
7T0008Create fake or imposter news sitesTA03Modern computational propaganda makes use of a...T0008 - Create fake or imposter news sites
8T0009Create fake expertsTA03Stories planted or promoted in computational p...T0009 - Create fake experts
9T0010Cultivate ignorant agentsTA04Cultivate propagandists for a cause, the goals...T0010 - Cultivate ignorant agents
10T0011Hijack legitimate accountTA04Hack or take over legimate accounts to distrib...T0011 - Hijack legitimate account
11T0012Use concealmentTA04Use anonymous social media profiles. Examples ...T0012 - Use concealment
12T0013Create fake websitesTA04Create media assets to support fake organizati...T0013 - Create fake websites
13T0014Create funding campaignsTA04Generate revenue through online funding campai...T0014 - Create funding campaigns
14T0015Create hashtagTA04Many incident-based campaigns will create a ha...T0015 - Create hashtag
15T0016ClickbaitTA05Create attention grabbing headlines (outrage, ...T0016 - Clickbait
16T0017Promote online fundingTA05Drive traffic/engagement to funding campaign s...T0017 - Promote online funding
17T0018Paid targeted adsTA05Create or fund advertisements targeted at spec...T0018 - Paid targeted ads
18T0019Generate information pollutionTA06Flood social channels; drive traffic/engagemen...T0019 - Generate information pollution
19T0020Trial contentTA06Iteratively test incident performance (message...T0020 - Trial content
20T0021MemesTA06Memes are one of the most important single art...T0021 - Memes
21T0022Conspiracy narrativesTA06\"Conspiracy narratives appeal to the human des...T0022 - Conspiracy narratives
22T0023Distort factsTA06Change, twist, or exaggerate existing facts to...T0023 - Distort facts
23T0024Create fake videos and imagesTA06Create fake videos and/or images by manipulati...T0024 - Create fake videos and images
24T0025Leak altered documentsTA06Obtain documents (eg by theft or leak), then a...T0025 - Leak altered documents
25T0026Create fake researchTA06Create fake academic research. Example: fake s...T0026 - Create fake research
26T0027Adapt existing narrativesTA06Adapting existing narratives to current operat...T0027 - Adapt existing narratives
27T0028Create competing narrativesTA06Misinformation promotes an agenda by advancing...T0028 - Create competing narratives
28T0029Manipulate online pollsTA07Create fake online polls, or manipulate existi...T0029 - Manipulate online polls
29T0030Backstop personasTA07Create other assets/dossier/cover/fake relatio...T0030 - Backstop personas
30T0031YouTubeTA07Use YouTube as a narrative dissemination channelT0031 - YouTube
31T0032RedditTA07Use Reddit as a narrative dissemination channelT0032 - Reddit
32T0033InstagramTA07Use Instagram as a narrative dissemination cha...T0033 - Instagram
33T0034LinkedInTA07Use LinkedIn as a narrative dissemination channelT0034 - LinkedIn
34T0035PinterestTA07Use Pinterest as a narrative dissemination cha...T0035 - Pinterest
35T0036WhatsAppTA07Use WhatsApp as a narrative dissemination channelT0036 - WhatsApp
36T0037FacebookTA07Use Facebook as a narrative dissemination channelT0037 - Facebook
37T0038TwitterTA07Use Twitter as a narrative dissemination channelT0038 - Twitter
38T0039Bait legitimate influencersTA08Credibility in a social media environment is o...T0039 - Bait legitimate influencers
39T0040Demand unsurmountable proofTA08Campaigns often leverage tactical and informat...T0040 - Demand unsurmountable proof
40T0041Deny involvementTA08Without \"smoking gun\" proof (and even with pro...T0041 - Deny involvement
41T0042Kernel of TruthTA08Wrap lies or altered context/facts around trut...T0042 - Kernel of Truth
42T0043Use SMS/ WhatsApp/ Chat appsTA08Direct messaging via encypted app is an increa...T0043 - Use SMS/ WhatsApp/ Chat apps
43T0044Seed distortionsTA08Try a wide variety of messages in the early ho...T0044 - Seed distortions
44T0045Use fake expertsTA08Use the fake experts that were set up in T0009...T0045 - Use fake experts
45T0046Search Engine OptimizationTA08Manipulate content engagement metrics (ie: Red...T0046 - Search Engine Optimization
46T0047Muzzle social media as a political forceTA09Use political influence or the power of state ...T0047 - Muzzle social media as a political force
47T0048Cow online opinion leadersTA09Intimidate, coerce, threaten critics/dissident...T0048 - Cow online opinion leaders
48T0049FloodingTA09Flooding and/or mobbing social media channels ...T0049 - Flooding
49T0050Cheerleading domestic social media opsTA09Deploy state-coordinated social media commente...T0050 - Cheerleading domestic social media ops
50T0051Fabricate social media commentTA09Use government-paid social media commenters, a...T0051 - Fabricate social media comment
51T0052Tertiary sites amplify newsTA09Create content/news/opinion web-sites to cross...T0052 - Tertiary sites amplify news
52T0053Twitter trolls amplify and manipulateTA09Use trolls to amplify narratives and/or manipu...T0053 - Twitter trolls amplify and manipulate
53T0054Twitter bots amplifyTA09Use bots to amplify narratives above algorithm...T0054 - Twitter bots amplify
54T0055Use hashtagTA09Use a dedicated hashtag for the incident - eit...T0055 - Use hashtag
55T0056Dedicated channels disseminate information pol...TA09Output information pollution (e.g. articles on...T0056 - Dedicated channels disseminate informa...
56T0057Organise remote rallies and eventsTA10Coordinate and promote real-world events acros...T0057 - Organise remote rallies and events
57T0058Legacy web contentTA11Make incident content visible for a long time,...T0058 - Legacy web content
58T0059Play the long gameTA11Play the long game can mean a couple of things...T0059 - Play the long game
59T0060Continue to amplifyTA11continue narrative or message amplification af...T0060 - Continue to amplify
60T0061Sell merchandisingTA10Sell hats, t-shirts, flags and other branded c...T0061 - Sell merchandising
61T0062Behaviour changesTA12Monitor and evaluate behaviour changes from mi...T0062 - Behaviour changes
62T0063Message reachTA12Monitor and evaluate message reach in misinfor...T0063 - Message reach
63T0064Social media engagementTA12Monitor and evaluate social media engagement i...T0064 - Social media engagement
\n", - "
" - ], - "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 Competing Narratives \n", - "4 T0005 Center of Gravity Analysis \n", - "5 T0006 Create Master Narratives \n", - "6 T0007 Create fake Social Media Profiles / Pages / Gr... \n", - "7 T0008 Create fake or imposter news sites \n", - "8 T0009 Create fake experts \n", - "9 T0010 Cultivate ignorant agents \n", - "10 T0011 Hijack legitimate account \n", - "11 T0012 Use concealment \n", - "12 T0013 Create fake websites \n", - "13 T0014 Create funding campaigns \n", - "14 T0015 Create hashtag \n", - "15 T0016 Clickbait \n", - "16 T0017 Promote online funding \n", - "17 T0018 Paid targeted ads \n", - "18 T0019 Generate information pollution \n", - "19 T0020 Trial content \n", - "20 T0021 Memes \n", - "21 T0022 Conspiracy narratives \n", - "22 T0023 Distort facts \n", - "23 T0024 Create fake videos and images \n", - "24 T0025 Leak altered documents \n", - "25 T0026 Create fake research \n", - "26 T0027 Adapt existing narratives \n", - "27 T0028 Create competing narratives \n", - "28 T0029 Manipulate online polls \n", - "29 T0030 Backstop personas \n", - "30 T0031 YouTube \n", - "31 T0032 Reddit \n", - "32 T0033 Instagram \n", - "33 T0034 LinkedIn \n", - "34 T0035 Pinterest \n", - "35 T0036 WhatsApp \n", - "36 T0037 Facebook \n", - "37 T0038 Twitter \n", - "38 T0039 Bait legitimate influencers \n", - "39 T0040 Demand unsurmountable proof \n", - "40 T0041 Deny involvement \n", - "41 T0042 Kernel of Truth \n", - "42 T0043 Use SMS/ WhatsApp/ Chat apps \n", - "43 T0044 Seed distortions \n", - "44 T0045 Use fake experts \n", - "45 T0046 Search Engine Optimization \n", - "46 T0047 Muzzle social media as a political force \n", - "47 T0048 Cow online opinion leaders \n", - "48 T0049 Flooding \n", - "49 T0050 Cheerleading domestic social media ops \n", - "50 T0051 Fabricate social media comment \n", - "51 T0052 Tertiary sites amplify news \n", - "52 T0053 Twitter trolls amplify and manipulate \n", - "53 T0054 Twitter bots amplify \n", - "54 T0055 Use hashtag \n", - "55 T0056 Dedicated channels disseminate information pol... \n", - "56 T0057 Organise remote rallies and events \n", - "57 T0058 Legacy web content \n", - "58 T0059 Play the long game \n", - "59 T0060 Continue to amplify \n", - "60 T0061 Sell merchandising \n", - "61 T0062 Behaviour changes \n", - "62 T0063 Message reach \n", - "63 T0064 Social media engagement \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 Recon/research to identify \"the source of powe... \n", - "5 TA02 The promotion of beneficial master narratives ... \n", - "6 TA03 Create key social engineering assets needed to... \n", - "7 TA03 Modern computational propaganda makes use of a... \n", - "8 TA03 Stories planted or promoted in computational p... \n", - "9 TA04 Cultivate propagandists for a cause, the goals... \n", - "10 TA04 Hack or take over legimate accounts to distrib... \n", - "11 TA04 Use anonymous social media profiles. Examples ... \n", - "12 TA04 Create media assets to support fake organizati... \n", - "13 TA04 Generate revenue through online funding campai... \n", - "14 TA04 Many incident-based campaigns will create a ha... \n", - "15 TA05 Create attention grabbing headlines (outrage, ... \n", - "16 TA05 Drive traffic/engagement to funding campaign s... \n", - "17 TA05 Create or fund advertisements targeted at spec... \n", - "18 TA06 Flood social channels; drive traffic/engagemen... \n", - "19 TA06 Iteratively test incident performance (message... \n", - "20 TA06 Memes are one of the most important single art... \n", - "21 TA06 \"Conspiracy narratives appeal to the human des... \n", - "22 TA06 Change, twist, or exaggerate existing facts to... \n", - "23 TA06 Create fake videos and/or images by manipulati... \n", - "24 TA06 Obtain documents (eg by theft or leak), then a... \n", - "25 TA06 Create fake academic research. Example: fake s... \n", - "26 TA06 Adapting existing narratives to current operat... \n", - "27 TA06 Misinformation promotes an agenda by advancing... \n", - "28 TA07 Create fake online polls, or manipulate existi... \n", - "29 TA07 Create other assets/dossier/cover/fake relatio... \n", - "30 TA07 Use YouTube as a narrative dissemination channel \n", - "31 TA07 Use Reddit as a narrative dissemination channel \n", - "32 TA07 Use Instagram as a narrative dissemination cha... \n", - "33 TA07 Use LinkedIn as a narrative dissemination channel \n", - "34 TA07 Use Pinterest as a narrative dissemination cha... \n", - "35 TA07 Use WhatsApp as a narrative dissemination channel \n", - "36 TA07 Use Facebook as a narrative dissemination channel \n", - "37 TA07 Use Twitter as a narrative dissemination channel \n", - "38 TA08 Credibility in a social media environment is o... \n", - "39 TA08 Campaigns often leverage tactical and informat... \n", - "40 TA08 Without \"smoking gun\" proof (and even with pro... \n", - "41 TA08 Wrap lies or altered context/facts around trut... \n", - "42 TA08 Direct messaging via encypted app is an increa... \n", - "43 TA08 Try a wide variety of messages in the early ho... \n", - "44 TA08 Use the fake experts that were set up in T0009... \n", - "45 TA08 Manipulate content engagement metrics (ie: Red... \n", - "46 TA09 Use political influence or the power of state ... \n", - "47 TA09 Intimidate, coerce, threaten critics/dissident... \n", - "48 TA09 Flooding and/or mobbing social media channels ... \n", - "49 TA09 Deploy state-coordinated social media commente... \n", - "50 TA09 Use government-paid social media commenters, a... \n", - "51 TA09 Create content/news/opinion web-sites to cross... \n", - "52 TA09 Use trolls to amplify narratives and/or manipu... \n", - "53 TA09 Use bots to amplify narratives above algorithm... \n", - "54 TA09 Use a dedicated hashtag for the incident - eit... \n", - "55 TA09 Output information pollution (e.g. articles on... \n", - "56 TA10 Coordinate and promote real-world events acros... \n", - "57 TA11 Make incident content visible for a long time,... \n", - "58 TA11 Play the long game can mean a couple of things... \n", - "59 TA11 continue narrative or message amplification af... \n", - "60 TA10 Sell hats, t-shirts, flags and other branded c... \n", - "61 TA12 Monitor and evaluate behaviour changes from mi... \n", - "62 TA12 Monitor and evaluate message reach in misinfor... \n", - "63 TA12 Monitor and evaluate social media engagement 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 - Competing Narratives \n", - "4 T0005 - Center of Gravity Analysis \n", - "5 T0006 - Create Master Narratives \n", - "6 T0007 - Create fake Social Media Profiles / Pa... \n", - "7 T0008 - Create fake or imposter news sites \n", - "8 T0009 - Create fake experts \n", - "9 T0010 - Cultivate ignorant agents \n", - "10 T0011 - Hijack legitimate account \n", - "11 T0012 - Use concealment \n", - "12 T0013 - Create fake websites \n", - "13 T0014 - Create funding campaigns \n", - "14 T0015 - Create hashtag \n", - "15 T0016 - Clickbait \n", - "16 T0017 - Promote online funding \n", - "17 T0018 - Paid targeted ads \n", - "18 T0019 - Generate information pollution \n", - "19 T0020 - Trial content \n", - "20 T0021 - Memes \n", - "21 T0022 - Conspiracy narratives \n", - "22 T0023 - Distort facts \n", - "23 T0024 - Create fake videos and images \n", - "24 T0025 - Leak altered documents \n", - "25 T0026 - Create fake research \n", - "26 T0027 - Adapt existing narratives \n", - "27 T0028 - Create competing narratives \n", - "28 T0029 - Manipulate online polls \n", - "29 T0030 - Backstop personas \n", - "30 T0031 - YouTube \n", - "31 T0032 - Reddit \n", - "32 T0033 - Instagram \n", - "33 T0034 - LinkedIn \n", - "34 T0035 - Pinterest \n", - "35 T0036 - WhatsApp \n", - "36 T0037 - Facebook \n", - "37 T0038 - Twitter \n", - "38 T0039 - Bait legitimate influencers \n", - "39 T0040 - Demand unsurmountable proof \n", - "40 T0041 - Deny involvement \n", - "41 T0042 - Kernel of Truth \n", - "42 T0043 - Use SMS/ WhatsApp/ Chat apps \n", - "43 T0044 - Seed distortions \n", - "44 T0045 - Use fake experts \n", - "45 T0046 - Search Engine Optimization \n", - "46 T0047 - Muzzle social media as a political force \n", - "47 T0048 - Cow online opinion leaders \n", - "48 T0049 - Flooding \n", - "49 T0050 - Cheerleading domestic social media ops \n", - "50 T0051 - Fabricate social media comment \n", - "51 T0052 - Tertiary sites amplify news \n", - "52 T0053 - Twitter trolls amplify and manipulate \n", - "53 T0054 - Twitter bots amplify \n", - "54 T0055 - Use hashtag \n", - "55 T0056 - Dedicated channels disseminate informa... \n", - "56 T0057 - Organise remote rallies and events \n", - "57 T0058 - Legacy web content \n", - "58 T0059 - Play the long game \n", - "59 T0060 - Continue to amplify \n", - "60 T0061 - Sell merchandising \n", - "61 T0062 - Behaviour changes \n", - "62 T0063 - Message reach \n", - "63 T0064 - Social media engagement " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii = vars(disarm)['df_techniques']\n", - "dii" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": true - }, - "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", - " ['T0001',\n", - " 'T0005',\n", - " 'T0007',\n", - " 'T0010',\n", - " 'T0016',\n", - " 'T0019',\n", - " 'T0029',\n", - " 'T0039',\n", - " 'T0047',\n", - " 'T0057',\n", - " 'T0058',\n", - " 'T0062'],\n", - " ['T0002',\n", - " 'T0006',\n", - " 'T0008',\n", - " 'T0011',\n", - " 'T0017',\n", - " 'T0020',\n", - " 'T0030',\n", - " 'T0040',\n", - " 'T0048',\n", - " 'T0061',\n", - " 'T0059',\n", - " 'T0063'],\n", - " ['T0003',\n", - " '',\n", - " 'T0009',\n", - " 'T0012',\n", - " 'T0018',\n", - " 'T0021',\n", - " 'T0031',\n", - " 'T0041',\n", - " 'T0049',\n", - " '',\n", - " 'T0060',\n", - " 'T0064'],\n", - " ['T0004',\n", - " '',\n", - " '',\n", - " 'T0013',\n", - " '',\n", - " 'T0022',\n", - " 'T0032',\n", - " 'T0042',\n", - " 'T0050',\n", - " '',\n", - " '',\n", - " ''],\n", - " ['', '', '', 'T0014', '', 'T0023', 'T0033', 'T0043', 'T0051', '', '', ''],\n", - " ['', '', '', 'T0015', '', 'T0024', 'T0034', 'T0044', 'T0052', '', '', ''],\n", - " ['', '', '', '', '', 'T0025', 'T0035', 'T0045', 'T0053', '', '', ''],\n", - " ['', '', '', '', '', 'T0026', 'T0036', 'T0046', 'T0054', '', '', ''],\n", - " ['', '', '', '', '', 'T0027', 'T0037', '', 'T0055', '', '', ''],\n", - " ['', '', '', '', '', 'T0028', 'T0038', '', 'T0056', '', '', '']]" - ] - }, - "execution_count": 7, - "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": 8, - "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": 8, - "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": [] - }, - { - "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 -} diff --git a/CODE/DISARM-STIX2/.DS_Store b/CODE/DISARM-STIX2/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0e98b23f6f0b24605cf813626110543dd4127ebe GIT binary patch literal 6148 zcmeHK%Sr=55Ukcf0=eYqael!+SVH`Q{D9;EA`2@+Tb~sf?q=9!I?5bU5w%-7u-Xo^b9QPdK8-3*(tT z^iG&#zz)w`*yHVc>s-3NpR!Uw3P=GdAO)nr?+UPIyDgT9ic&xdNP)8g{(We4$F6Wp zj86wcJOPL^ro%Xnw*;|yg4h*~iOkR}sl=pOJuxil%(trR3dh8x!{TJ_Qzu)!P%KVo zzC}5#OH`BsQs7d7+nlbv|3A=wc>iCLG?M~S;9n_Vv(0w1=9Q|qPA=!Yw$UHyUh_$J q<2Wb`(T<7Hjydsmd>2Jo*L=+Nu5e5YI`cs%>Sw@pkx7BSR^SUc0UO`| literal 0 HcmV?d00001 diff --git a/CODE/DISARM-STIX2/README.md b/CODE/DISARM-STIX2/README.md new file mode 100644 index 0000000..9ea280e --- /dev/null +++ b/CODE/DISARM-STIX2/README.md @@ -0,0 +1,33 @@ +# DISARM STIX2 Generator + +## Usage + +1. Clone this repository. +2. Download the latest version of the DISARM Framework xlsx [here](https://github.com/DISARMFoundation/DISARMframeworks). +3. Copy the xlsx to the root directory of this repository. +4. Run `python3 main.py` to generate STIX objects in the `output/` folder. +5. `output/DISARM.json` contains the complete STIX bundle. The folders in `output/` contain individual objects for reference. + +## DISARM STIX2 + +The DISARM STIX2 Generator encodes the DISARM object into the corresponding STIX2 object shown in the following table. + +| DISARM | STIX2 | +|-----------|-----------------------| +| Matrix | Matrix (MITRE custom) | +| Tactic | Tactic (MITRE custom) | +| Technique | AttackPattern | + +## MITRE ATT&CK Navigator + +DISARM STIX is compatible with the MITRE ATT&CK Navigator. + +DISARM object types, such as `Matrix`, `Tatic` are prefixed with `x-mitre--` for compatibility reasons. + +DISARM `AttackPattern` objects also contain `x_mitre_is_subtechnique` and `x_mitre_platforms` properties for compatability. These properties cannot be removed without upstream changes to the ATT&CK Navigator. + +## OpenCTI + +DISARM STIX can be imported into OpenCTI via the OpenCTI STIX Importer plugin which is installed in OpenCTI by default. +Alternatively, use the OpenCTI DISARM plugin to continuously pull the latest DISARM STIX. + diff --git a/CODE/DISARM-STIX2/__pycache__/main.cpython-38.pyc b/CODE/DISARM-STIX2/__pycache__/main.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c9218d4470d705c8d2f159e48a3d6eb83666355d GIT binary patch literal 1758 zcmZuyOK;mo5GE;#q9w|D`2C8NIBugul_I$nhEc_K0;6$aNGe(^5D;r|Ei>kl^m5h6 zhI~qnz4Y3XeC!|Tp+8}-J@pq9=&3W*BQDSt_TxNuXJ%(+SKk+lc@0MP*Xr5dSxx&B znft>4=3AJ_9{`@_>48S{^lK0UzDAJYCNX)IWVuBwo+CMK6PwSGIi4qZULXbT5Qi5@ zk|>9G(wEn& zaze$WANCH}xgYvyQ&o-z7yu1g?3@V}c9|--C6$cBp2>1mdL?Ms52%<5?AK8@jY$~qt8{%fldg%vXt!}Bx%-rcX!fWNc_7ged=G#(0Bs0F!@i|K*#5@y~UcfmR4L=JY zFRaJJR8TjS1xb{CSItS*y$JoQJ_Nxjm>wwWEX{P?Q05>=2Fg751J=blOos)83G)DE z@-u+c-s>a7)9>_KO=d>sPy`2kboy%6L`x+4go7H<`D2-Kok%hgd)N`LJ6UaP(i>5#R32+ zrw$tN?7b6#KS>V?VI%YOC;*=#3{Q*8I;GqvqZnDJbupDQgp+vxx&VyG)QP0PVZIR8DNC$fYH8?xK+ z46Bq0M$f_7eDXcudhjY&T0M}mk{xC|To0>>hVgGA5!Lxk2mDI}zSTPx#aKwyLr%Km zso6M{xfXq%tAQNBU}Mw<1d;}$EqFr4Xd6a}*FL1UGjC{rByI~PbK))&vO=8pKKQlu zm{ar3o)}J~%3q3NnsQMHEmD0fQa~}D==7*6xRBke`3NMcP5Rh@7KsVf@kHl^3FSyj zAv#p9;U4~_>l)~_F)YNO?7I^X^i5b*R@UJHv|NX^6`kNw7;bg)H5i)IAn!Bw`>ofk zW~i7G#u@kCS>@mg_nkIwlV8XlIUqa$xrVd1PmpxD^GEwX?WTAYsjd(({E7p*suT3+ zqbe@cVuP$utgfK5PJEyT3nwJex}B)1OmXKb5)D0ljF~f*LhGraF{;e3#-cQV)rM&( zA@f0z&jjo=KK@JQO#H5)N0%v%ovzUP3!qAc(2+P{Z7Q#W^*>_qnk=z*!Kld&dHU6B z1_ZMcdPXTEU`^5f0|fiW!3i*Q&49mI1+5xO2%ip$=Gt{NhlIofl zl&EcpbDT6H8dLcx%!eqjMME29Z8^CC269nb{O{Q&FobwH1GL_vxU6dC&{o2WTI1$c zMe}m93SQzNP(v*?fE2obthp3;WillWmUH_7KB8=Kjb#dUr)hj7)aI!Pkftq5nry%vK{r0IH?YAnatkqqw>*L{F|Nf*k#M^#=t^bu0h? literal 0 HcmV?d00001 diff --git a/CODE/DISARM-STIX2/helpers/file.py b/CODE/DISARM-STIX2/helpers/file.py new file mode 100644 index 0000000..2b965d5 --- /dev/null +++ b/CODE/DISARM-STIX2/helpers/file.py @@ -0,0 +1,82 @@ +import json +import os +from stix2 import Bundle +import shutil + +outdir = '../generated_files/DISARM_STIX/' + +def write_disarm_dir(dir, outdir=outdir): + """ + + Args: + dir (str): a directory name + + Returns: + + """ + try: + os.mkdir(outdir) + except FileExistsError: + pass + + try: + os.mkdir(outdir + dir) + except FileExistsError: + pass + + +def clean_output_dir(outdir=outdir): + """Recursively delete the output folder. + + Returns: + + """ + try: + os.mkdir(outdir) + except FileExistsError: + pass + + shutil.rmtree(outdir) + + +def write_file(file_name, file_data): + """Write a JSON file to outdir + + Args: + file_name (str): a file name + file_data (str): the file json data + + Returns: + + """ + with open(file_name, 'w') as f: + # f.write(json.dumps(file_data, sort_keys=True, indent=4)) + f.write(file_data.serialize(pretty=True)) + f.write('\n') + + +def write_files(stix_objects, outdir=outdir): + """ + + Args: + stix_objects: + + Returns: + + """ + for i in stix_objects: + write_disarm_dir(i.type) + write_file(outdir+f"{i.type}/{i.id}.json", Bundle(i, allow_custom=True)) + + +def write_bundle(bundle, bundle_name, outdir=outdir): + """ + + Args: + bundle: + bundle_name: + + Returns: + + """ + write_file(outdir+f"{bundle_name}.json", bundle) diff --git a/CODE/DISARM-STIX2/helpers/xlsx.py b/CODE/DISARM-STIX2/helpers/xlsx.py new file mode 100644 index 0000000..cc86821 --- /dev/null +++ b/CODE/DISARM-STIX2/helpers/xlsx.py @@ -0,0 +1,19 @@ +import pandas as pd + + +def load_excel_data(infile): + """Load an xlsx document. + + Args: + infile (str): Path to an xlsx file. + + Returns: + dict: xlsx sheets + + """ + sheets = {} + xlsx = pd.ExcelFile(infile) + for sheetname in xlsx.sheet_names: + sheets[sheetname] = xlsx.parse(sheetname) + return sheets + diff --git a/CODE/DISARM-STIX2/main.py b/CODE/DISARM-STIX2/main.py new file mode 100644 index 0000000..5c6f320 --- /dev/null +++ b/CODE/DISARM-STIX2/main.py @@ -0,0 +1,49 @@ +# A STIX bundle generator for the DISARM Framework. +# +# Author: Roger Johnston, Twitter: @VV_X_7 +# License: GPL-3 + +import pandas as pd +import openpyxl +from stix2 import (Bundle, AttackPattern, ThreatActor, IntrusionSet, Relationship, CustomObject, properties, + Malware, Tool, Campaign, Identity, MarkingDefinition, ExternalReference, StatementMarking, + GranularMarking, Location, MemoryStore, Filter) +from stix2.properties import (ReferenceProperty, ListProperty, StringProperty, TimestampProperty, BooleanProperty, IntegerProperty) + +import helpers +from objects import tactic, technique, matrix, bundle +from helpers import xlsx, file + + +def generate_disarm_stix(): + """Generates a DISARM STIX bundle. + + Returns: + + """ + data = helpers.xlsx.load_excel_data("../DISARM_MASTER_DATA/DISARM_FRAMEWORKS_MASTER.xlsx") + + tactics = tactic.make_disarm_tactics(data) + techniques = technique.make_disarm_techniques(data) + navigator_matrix = matrix.make_disarm_matrix(tactics) + + stix_objects = [] + stix_objects.append(tactics) + stix_objects.append(techniques) + stix_objects.append(navigator_matrix) + + stix_objects = [item for sublist in stix_objects for item in sublist] + + # for i in stix_objects: + # print(i) + + disarm_bundle = bundle.make_stix_bundle(stix_objects) + + helpers.file.clean_output_dir() + helpers.file.write_files(stix_objects) + helpers.file.write_bundle(disarm_bundle, "DISARM") + + + +if __name__ == "__main__": + generate_disarm_stix() \ No newline at end of file diff --git a/CODE/DISARM-STIX2/objects/__pycache__/bundle.cpython-38.pyc b/CODE/DISARM-STIX2/objects/__pycache__/bundle.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f10adacab4ed89e91d4adc41236da7cbb5145a18 GIT binary patch literal 545 zcmZ`$K}*9h6i(VrXX#)^k2#4&Tw%u{;&hh@6InNqT}szvQr9*kNpZ@&dG+Xz*iZ2< z^y_$x!4XF2QzvyZAh`gShY%>DI7SJcV~nUl z%~v!xXv0HJ^9xY4!};E2meQDoK=o&uq5*ydE;|qu+5!@se7)cs*Sntj zw}NXy63B#Lsd9%SZ!j7AOAhscig@aVoHAdqHJ6d%B4V<-bE;?Txs@chY}j2t<(&i` y&M(F(5A{n+9gt;XaRBR$W9ChLqbE#Ai?d?VT4(`~x6TqyvzVRh-;-LZZT9^CUu-bLk~UbYD&G3V<@F1q2NM8i4$mZS!79TtJ#&78Eu=G_SS3u zBA0whKA@Mq_S9b}1UizvC9`PYjkIsxljdx9cgQI2Ufhdc31hzlco;nbZ)o9jN{XqZ zWL0vWBuw>G`jegaRDZ_CgFm#(Zj*LuK>1^bjH&&H;G8}S>6YU$Yco0D-bS)0J;Iq@|C*E1%ZvI6}zy59Ybff5< zBR1;qY&&wW5Z0_BT7B*$BM}uKD*esD1sOuKup99NB$#;=Zxtsd4d?|~B0I{Uv1GA| zd?a2*X*e0DZQl}K`=ryF%Tge=J8Ql=sDbceV|t11%q@e*RQg+GXGmQ#6d zX0!LF`A2ZUALg?!2J+&+!%RA*bI`Rz;~f}{n=>!NMeS$n3&N~xIjOJOXO+0n zIe8IK<=sX<48VvI+v+9pyMHu*9m2p@xbFR6_O)1uiW*N)%=q<#iz$sv^ zd#SA(8|Xm+cm-UoK+w=%;}_=@X_q?G?PKco-6!;jpr?Oorq!7GVYN~zA6}Q^gYwSi z)>^d|ADo}89f?j(6RRS`(g(uOH4F4t8qvKrGxMorAdr$qk4V-uGk*!8C+$9@2f-|7 z$sHq4CROU0y$pe~83QnVYQ8^y;LK2LWLR zPJj#FfiH`IPs70YO7rgaaC|$XnHn`4EMt&17;hq2E>qae1nsogp8ZT^7gxe_?hgdh Bte5}* literal 0 HcmV?d00001 diff --git a/CODE/DISARM-STIX2/objects/__pycache__/matrix.cpython-38.pyc b/CODE/DISARM-STIX2/objects/__pycache__/matrix.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e3e3ab5d49d92671dce43315e18ca655e4617a9f GIT binary patch literal 1607 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 1: + x_mitre_is_subtechnique = True + + # MITRE ATT&CK Navigator expect techniques to have at least one of these platforms. + # Without one, the technique will not render in the Navigator. + x_mitre_platforms = 'Windows', 'Linux', 'Mac' + + technique = AttackPattern( + name=f"{t[1]}", + description=f"{t[3]}", + external_references=external_references, + object_marking_refs=objects.marking_definition.make_disarm_marking_definition(), + created_by_ref=objects.identity.make_disarm_identity(), + kill_chain_phases=kill_chain_phases, + custom_properties={ + 'x_mitre_platforms': x_mitre_platforms, + 'x_mitre_version': "1,0", + 'x_mitre_is_subtechnique': x_mitre_is_subtechnique + } + ) + + techniques.append(technique) + return techniques + + +def make_subtechnique_map(techinques): + """ + + Args: + techinques: + + Returns: + + """ + pass \ No newline at end of file diff --git a/CODE/DISARM-STIX2/requirements.txt b/CODE/DISARM-STIX2/requirements.txt new file mode 100644 index 0000000..6688cc0 --- /dev/null +++ b/CODE/DISARM-STIX2/requirements.txt @@ -0,0 +1,3 @@ +pandas +openpyxl +stix2 \ No newline at end of file diff --git a/CODE/DISARM_code_testbed.ipynb b/CODE/DISARM_code_testbed.ipynb index 22f267a..079fbe0 100644 --- a/CODE/DISARM_code_testbed.ipynb +++ b/CODE/DISARM_code_testbed.ipynb @@ -16,7 +16,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', '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'])\n" + "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" ] }, { @@ -40,7 +40,7 @@ " \n", " \n", " \n", - " amitt_id\n", + " disarm_id\n", " technique_id\n", " \n", " \n", @@ -102,24 +102,24 @@ " \n", " \n", "\n", - "

898 rows × 2 columns

\n", + "

909 rows × 2 columns

\n", "" ], "text/plain": [ - " amitt_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", + " 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", - "[898 rows x 2 columns]" + "[909 rows x 2 columns]" ] }, "execution_count": 2, @@ -133,127 +133,31 @@ "from generate_DISARM_pages import Disarm\n", "\n", "\n", - "# Generate AMITT datasets\n", + "# Generate DISARM datasets\n", "disarm = Disarm()\n", "\n", - "# Check which amitt variables we can see from here\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": 41, + "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idactor_id
0C00006A033
1C00008A007
2C00009A016
2C00009A006
3C00010A020
.........
135C00219
136C00220
137C00221
138C00222
139C00223
\n", - "

166 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " id actor_id\n", - "0 C00006 A033\n", - "1 C00008 A007\n", - "2 C00009 A016\n", - "2 C00009 A006\n", - "3 C00010 A020\n", - ".. ... ...\n", - "135 C00219 \n", - "136 C00220 \n", - "137 C00221 \n", - "138 C00222 \n", - "139 C00223 \n", - "\n", - "[166 rows x 2 columns]" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" + "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\u001b[0m in \u001b[0;36m\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": [ @@ -262,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -286,40 +190,40 @@ " \n", " \n", " \n", - " id\n", + " disarm_id\n", " technique_id\n", " Weight\n", " \n", " \n", " \n", " \n", - " 1\n", - " C00008\n", - " TA01\n", + " 0\n", + " C00006\n", + " T0007\n", " 1\n", " \n", " \n", - " 1\n", - " C00008\n", - " TA06\n", + " 0\n", + " C00006\n", + " T0015\n", " 1\n", " \n", " \n", - " 1\n", - " C00008\n", - " TA08\n", + " 0\n", + " C00006\n", + " T0018\n", " 1\n", " \n", " \n", - " 1\n", - " C00008\n", - " T0006\n", + " 0\n", + " C00006\n", + " T0043\n", " 1\n", " \n", " \n", - " 1\n", - " C00008\n", - " T0009\n", + " 0\n", + " C00006\n", + " T0053\n", " 1\n", " \n", " \n", @@ -360,27 +264,27 @@ " \n", " \n", "\n", - "

717 rows × 3 columns

\n", + "

881 rows × 3 columns

\n", "" ], "text/plain": [ - " id technique_id Weight\n", - "1 C00008 TA01 1\n", - "1 C00008 TA06 1\n", - "1 C00008 TA08 1\n", - "1 C00008 T0006 1\n", - "1 C00008 T0009 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", + " 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", - "[717 rows x 3 columns]" + "[881 rows x 3 columns]" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -393,6 +297,1058 @@ "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
disarm_idnamesummarydisarm_id_incidentname_incidentdisarm_id_techniquename_technique
0IT00000001buy FB targeted adsI00002#VaccinateUST0018Purchase advertisements
1IT00000010Targeted FB paid adsI00005Brexit voteT0018Purchase advertisements
2IT00000057Targeted FB paid adsI00017US presidential electionsT0018Purchase advertisements
3IT00000002Promote \"funding\" campaignI00002#VaccinateUST0017Conduct Fundraising Campaigns
4IT00000003create web-site - information pollutionI00002#VaccinateUST0019Generate information pollution
........................
181IT00000127Promote fake “experts” with impressive (and sc...I00044JadeHelm exerciseT0009Create fake experts
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047Sea of AzovT0023Distort facts
183IT00000163Distorted, saccharine “news” about the Chinese...I00053China Huawei CFO ArrestT0023Distort facts
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056Iran Influence OperationsT0022Conspiracy narratives
185IT00000175Fake news/synthetic web-sitesI00056Iran Influence OperationsT0008Create fake or imposter news sites
\n", + "

186 rows × 7 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
disarm_idnamesummaryincident_idtechnique_id
0IT00000001buy FB targeted adsI00002T0018
1IT00000010Targeted FB paid adsI00005T0018
2IT00000057Targeted FB paid adsI00017T0018
3IT00000002Promote \"funding\" campaignI00002T0017
4IT00000003create web-site - information pollutionI00002T0019
..................
181IT00000127Promote fake “experts” with impressive (and sc...I00044T0009
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047T0023
183IT00000163Distorted, saccharine “news” about the Chinese...I00053T0023
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0022
185IT00000175Fake news/synthetic web-sitesI00056T0008
\n", + "

186 rows × 5 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
disarm_idnameobjecttypesummaryyear_startedattributions_seenfound_in_countryurlsnoteswhen_addedfound_vialongname
30I00031antivaxapt2018RussiaWorldhttps://ajph.aphapublications.org/doi/pdf/10.2...2019-02-24OIII00031 - antivax
32I00033China 50cent Armyapt50cent Army is a CCP “tool” - “massive secret ...2014ChinaChinahttps://gking.harvard.edu/files/gking/files/ho...campaign (multiple incidents, e.g. Shanshan ri...2019-02-24OIII00033 - China 50cent Army
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
disarm_idnamename_DEtactic_idsummarysummary_DElongname
0T00015Ds (dismiss, distort, distract, dismay, divide)TA01Nimmo's \"4Ds of propaganda\": dismiss, distort,...T0001 - 5Ds (dismiss, distort, distract, disma...
1T0002Facilitate State PropagandaTA01Organize citizens around pro-state messaging. ...T0002 - Facilitate State Propaganda
2T0003Leverage Existing NarrativesTA01Use or adapt existing narrative themes, where ...T0003 - Leverage Existing Narratives
3T0004Devise Competing NarrativesTA01Advance competing narratives connected to same...T0004 - Devise Competing Narratives
4T0006Develop Narrative ConceptsTA02The promotion of beneficial master narratives ...T0006 - Develop Narrative Concepts
........................
66T0068Respond to breaking news eventTA02Media attention on a story or event is heighte...T0068 - Respond to breaking news event
67T0069Respond to active crisisTA02Panic, rumors, and speculation are heightened ...T0069 - Respond to active crisis
68T0070Analyze existing communitiesTA02Assess influence operation potential of existi...T0070 - Analyze existing communities
69T0071Find echo chambersTA13Find or plan to create areas (social media gro...T0071 - Find echo chambers
70T0072Segment audiencesTA13Create audience segmentations by features of i...T0072 - Segment audiences
\n", + "

71 rows × 7 columns

\n", + "
" + ], + "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, diff --git a/CODE/__pycache__/generate_disarm_sql.cpython-38.pyc b/CODE/__pycache__/generate_disarm_sql.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..449e532e2deb6a3451dfca2b9175b80ca24f288f GIT binary patch literal 4764 zcma)A&vVC zDQWop{a|AKuNO7#pFBAJ$zgCCkNgY`X|6^(8ExG))H~;z>YaD zukGp2b<%P63yFSUka4L0S&OQmCn)An+Gqpxq8 zRHPC#Ql<)xxAObBJyX&1bV|{gYL2KDRY7H1ZbU24>7USSnozVeC%B6=3F=FV|43$u z&Sv~{?$}Oabp9t&%QOYr1@N=nqqA1%BIslE@{jH?PL~w@=ngr$%y-6fYCrb}V=upF z;kJ2tg)WnG>{b@N3d$J0HadTfu7E3#r>Zy$dp0-=^g3NR!D-X4KsnCIT0Tv0;3Pl3 z`2<}BwL)*wIMwJadYh){8qLrwy+gllRYn>9;gTH|Qq)j&9NK>2_|1TEHz9zcJ`8 z-Fso^8tzu4j|ZzUmuWl0+Si6Sc&;6sr=^1_x__u2>bj=JpA32z4&g=7baHX?Wm={O zEu*E=3O#HY^yr1LSAy&k-OngE-57nkrtwo-^&bN8M{c+F>2j&KxZMpJNr2-GJkLpX zx`A}UsL}3G;FOBRtC_c4opX8;3zOIhw!5)NjM>m#9O9Wu_+Hu2g z4|&7LQDcagi61qvQQUOEI*b93+>S*cSO^5hTfJkfA1lH&jt}&IB}_Yh8{wnZ+He{@ zA%ZC3yL5%$NDwa^KN)TrO1=`G*zq0eb-KeN9bMwYO~XX(9r!c@iNZv@*saaX%(e#M zjJ#&p4&-bW)x4ozXEH6O)g!T)Zg!`SD08#32vGjqZKb6RoN4a;_pZM?ODb+jj#(U^ zhMzn-7M?SBE3#iZ^am~G(+2+8-nCG!%byud27Ze@{s=8!OVzsBkpS!u=>H`N_`rvwHtR+3mzOq1a;=ah=Ogm7&g6N8@G{yjg%Ikl{Rv3 zt(2OZaTuj$Bku0FHu%~*9lx9AWFpeM@S|3c=GsA&7J}`d(L>s1q`FoTvzAf|+UbNz zE$G2wNU3$fztpLz+>O!bb#_|N*i*(U0J3HCxZL3n;~@!dB)(bW$?gx zsn}xI=C%2L{wLBaNWEB@m`JQf+DBXBFjp2r^K zmND$cD5TZM%IpOhERY$^#Ftxcd9*cXaM9Ml*A zemFigoRvKVCHM5vf+4B&Iie7ZggoK`hb<`I&Fm(2-0>v)IpS^j5n%%xHB(3^G~Dt| z;0sS-IDj_%BoX0yk4+~%83d7ARk;T6_moB;tTX^ITf$7@xSiSndeDk7HvuOMqb$)u zhKDlDtv2Eo&I|mv{dK0KcC!~LcyP!>`eIEK;YDE+DwA%>?GM3C#wPH@ygPtj~Az%t}i8$G@YET-2j9GnWP17!>Eb965+|Ph<9ke@b|9(^D=b z0eo}^9-57Y4k>~7ChCtPe}w%&$$SzyQT63kw&6&<(!Hpn-|%>_;Ajr6bt#)19rs7m ze6N95WhX!3S=j-HCLJ6BFqNtKxi4fEyWfI-#5ry_O(O8NV_52K?iUx31 zptx3sDRG(C&vL_oR$Sv|1`YmU;M4O902XshDo|4a#VztnMfoh4R+aZSgc z8H(dr;yTJ+Ca1I)%*OE4ba4-DYI~kayB=7%{H#^dg6C1(@VwOOB4GJ4GfW}-U2sector_ids\n", " framework_ids\n", " longname\n", + " Jon's comments/questions\n", " \n", " \n", " \n", @@ -181,6 +162,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW01, FW02\n", " A001 - data scientist\n", + " What actual actions do data scientists execute...\n", " \n", " \n", " 1\n", @@ -190,6 +172,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW02\n", " A002 - target\n", + " Both red and blue framework users will refer t...\n", " \n", " \n", " 2\n", @@ -199,6 +182,7 @@ " S001, S002, S003, S004, S005, S006, S007, S008...\n", " FW01, FW02\n", " A003 - trusted authority\n", + " Is A003 best summarised by the word \"Inluencer...\n", " \n", " \n", " 3\n", @@ -208,6 +192,7 @@ " S002\n", " FW02\n", " A004 - activist\n", + " What does this actortype do?\n", " \n", " \n", " 4\n", @@ -217,6 +202,7 @@ " S002\n", " FW02\n", " A005 - community group\n", + " What does this actortype do?\n", " \n", " \n", " 5\n", @@ -226,6 +212,7 @@ " S002\n", " FW02\n", " A006 - educator\n", + " \n", " \n", " \n", " 6\n", @@ -235,6 +222,7 @@ " S002\n", " FW02\n", " A007 - factchecker\n", + " \n", " \n", " \n", " 7\n", @@ -244,6 +232,7 @@ " S002\n", " FW02\n", " A008 - library\n", + " Is this an actortype? A sub-sector, yes. But w...\n", " \n", " \n", " 8\n", @@ -253,6 +242,7 @@ " S002\n", " FW02\n", " A009 - NGO\n", + " This is a sector, not an actortype\n", " \n", " \n", " 9\n", @@ -262,6 +252,7 @@ " S002\n", " FW02\n", " A010 - religious organisation\n", + " \"Faith communities\" are a sub-sector of the Ci...\n", " \n", " \n", " 10\n", @@ -271,6 +262,7 @@ " S002\n", " FW02\n", " A011 - school\n", + " This is a subsector of S004 - not an actortype...\n", " \n", " \n", " 11\n", @@ -280,6 +272,7 @@ " S006\n", " FW01\\nFW02\n", " A012 - account owner\n", + " \n", " \n", " \n", " 12\n", @@ -289,6 +282,7 @@ " S006\n", " FW01\\nFW02\n", " A013 - content creator\n", + " \n", " \n", " \n", " 13\n", @@ -298,6 +292,7 @@ " S006\n", " FW02\n", " A014 - elves\n", + " ??? SJ, you have told me, but I've forgotten\n", " \n", " \n", " 14\n", @@ -307,6 +302,7 @@ " S006\n", " FW02\n", " A015 - general public\n", + " Duplication of a field in the sector object. B...\n", " \n", " \n", " 15\n", @@ -316,6 +312,7 @@ " S006\n", " FW01\\nFW02\n", " A016 - influencer\n", + " \n", " \n", " \n", " 16\n", @@ -325,6 +322,7 @@ " S003\n", " FW02\n", " A017 - coordinating body\n", + " \"Response coordinator\"? Or just 'Coordinator\"\n", " \n", " \n", " 17\n", @@ -334,6 +332,7 @@ " S003\n", " FW01\\nFW02\n", " A018 - government\n", + " DHS (A017) is \"government\". Again, this is a f...\n", " \n", " \n", " 18\n", @@ -343,6 +342,7 @@ " S003\n", " FW02\n", " A019 - military\n", + " A019 is a sub-sector of \"government\". Again, t...\n", " \n", " \n", " 19\n", @@ -352,6 +352,7 @@ " S003\n", " FW02\n", " A020 - policy maker\n", + " \n", " \n", " \n", " 20\n", @@ -361,6 +362,7 @@ " S010\n", " FW01\\nFW02\n", " A021 - media organisation\n", + " Not an actortype. The actor is perhaps as the ...\n", " \n", " \n", " 21\n", @@ -370,6 +372,7 @@ " S009\n", " FW02\n", " A022 - company\n", + " \n", " \n", " \n", " 22\n", @@ -379,6 +382,7 @@ " S008\n", " FW02\n", " A023 - adtech provider\n", + " Should Adtech be a called-out subsector of S00...\n", " \n", " \n", " 23\n", @@ -388,6 +392,7 @@ " S008\n", " FW02\n", " A024 - developer\n", + " \n", " \n", " \n", " 24\n", @@ -397,6 +402,7 @@ " S008\n", " FW02\n", " A025 - funding_site_admin\n", + " What is this?\n", " \n", " \n", " 25\n", @@ -406,6 +412,7 @@ " S008\n", " FW01, FW02\n", " A026 - games designer\n", + " Just \"Designer\"? Would the TTP context not mak...\n", " \n", " \n", " 26\n", @@ -415,6 +422,7 @@ " S008\n", " FW02\n", " A027 - information security\n", + " \n", " \n", " \n", " 27\n", @@ -424,6 +432,7 @@ " S008\n", " FW02\n", " A028 - platform administrator\n", + " Just \"Administrator\"?\n", " \n", " \n", " 28\n", @@ -433,6 +442,7 @@ " S008\n", " FW02\n", " A029 - server admininistrator\n", + " Just \"Administrator\"? (de-duplicating A028)\n", " \n", " \n", " 29\n", @@ -442,6 +452,7 @@ " S007\n", " FW02\n", " A030 - platforms\n", + " The same as S007? If there is an action here, ...\n", " \n", " \n", " 30\n", @@ -451,6 +462,7 @@ " S007\n", " FW02\n", " A031 - social media platform adminstrator\n", + " Not needed, given A028. The sector selection d...\n", " \n", " \n", " 31\n", @@ -460,6 +472,7 @@ " S007\n", " FW02\n", " A032 - social media platform outreach\n", + " What does this do?\n", " \n", " \n", " 32\n", @@ -469,6 +482,7 @@ " S007\n", " FW02\n", " A033 - social media platform owner\n", + " \n", " \n", " \n", "\n", @@ -580,48 +594,84 @@ "31 S007 FW02 \n", "32 S007 FW02 \n", "\n", - " longname \n", - "0 A001 - data scientist \n", - "1 A002 - target \n", - "2 A003 - trusted authority \n", - "3 A004 - activist \n", - "4 A005 - community group \n", - "5 A006 - educator \n", - "6 A007 - factchecker \n", - "7 A008 - library \n", - "8 A009 - NGO \n", - "9 A010 - religious organisation \n", - "10 A011 - school \n", - "11 A012 - account owner \n", - "12 A013 - content creator \n", - "13 A014 - elves \n", - "14 A015 - general public \n", - "15 A016 - influencer \n", - "16 A017 - coordinating body \n", - "17 A018 - government \n", - "18 A019 - military \n", - "19 A020 - policy maker \n", - "20 A021 - media organisation \n", - "21 A022 - company \n", - "22 A023 - adtech provider \n", - "23 A024 - developer \n", - "24 A025 - funding_site_admin \n", - "25 A026 - games designer \n", - "26 A027 - information security \n", - "27 A028 - platform administrator \n", - "28 A029 - server admininistrator \n", - "29 A030 - platforms \n", - "30 A031 - social media platform adminstrator \n", - "31 A032 - social media platform outreach \n", - "32 A033 - social media platform owner " + " longname \\\n", + "0 A001 - data scientist \n", + "1 A002 - target \n", + "2 A003 - trusted authority \n", + "3 A004 - activist \n", + "4 A005 - community group \n", + "5 A006 - educator \n", + "6 A007 - factchecker \n", + "7 A008 - library \n", + "8 A009 - NGO \n", + "9 A010 - religious organisation \n", + "10 A011 - school \n", + "11 A012 - account owner \n", + "12 A013 - content creator \n", + "13 A014 - elves \n", + "14 A015 - general public \n", + "15 A016 - influencer \n", + "16 A017 - coordinating body \n", + "17 A018 - government \n", + "18 A019 - military \n", + "19 A020 - policy maker \n", + "20 A021 - media organisation \n", + "21 A022 - company \n", + "22 A023 - adtech provider \n", + "23 A024 - developer \n", + "24 A025 - funding_site_admin \n", + "25 A026 - games designer \n", + "26 A027 - information security \n", + "27 A028 - platform administrator \n", + "28 A029 - server admininistrator \n", + "29 A030 - platforms \n", + "30 A031 - social media platform adminstrator \n", + "31 A032 - social media platform outreach \n", + "32 A033 - social media platform owner \n", + "\n", + " Jon's comments/questions \n", + "0 What actual actions do data scientists execute... \n", + "1 Both red and blue framework users will refer t... \n", + "2 Is A003 best summarised by the word \"Inluencer... \n", + "3 What does this actortype do? \n", + "4 What does this actortype do? \n", + "5 \n", + "6 \n", + "7 Is this an actortype? A sub-sector, yes. But w... \n", + "8 This is a sector, not an actortype \n", + "9 \"Faith communities\" are a sub-sector of the Ci... \n", + "10 This is a subsector of S004 - not an actortype... \n", + "11 \n", + "12 \n", + "13 ??? SJ, you have told me, but I've forgotten \n", + "14 Duplication of a field in the sector object. B... \n", + "15 \n", + "16 \"Response coordinator\"? Or just 'Coordinator\" \n", + "17 DHS (A017) is \"government\". Again, this is a f... \n", + "18 A019 is a sub-sector of \"government\". Again, t... \n", + "19 \n", + "20 Not an actortype. The actor is perhaps as the ... \n", + "21 \n", + "22 Should Adtech be a called-out subsector of S00... \n", + "23 \n", + "24 What is this? \n", + "25 Just \"Designer\"? Would the TTP context not mak... \n", + "26 \n", + "27 Just \"Administrator\"? \n", + "28 Just \"Administrator\"? (de-duplicating A028) \n", + "29 The same as S007? If there is an action here, ... \n", + "30 Not needed, given A028. The sector selection d... \n", + "31 What does this do? \n", + "32 " ] }, - "execution_count": 2, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "pd.set_option('display.max_rows', 1000)\n", "disarm.df_actortypes" ] }, diff --git a/CODE/generate_DISARM_sql.ipynb b/CODE/generate_DISARM_sql.ipynb deleted file mode 100644 index 0099a95..0000000 --- a/CODE/generate_DISARM_sql.ipynb +++ /dev/null @@ -1,8575 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Create DISARM website sql\n", - "\n", - "Creates a sql version of the DISARM framework.\n", - "\n", - "SQL is designed for use in the DISARMsite app. Code generates postgresql for use in a postgres instance, and sqlite for use in other apps." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummaryincident_idtechnique_idid
0IT00000001buy FB targeted adsI00002T00181
1IT00000010Targeted FB paid adsI00005T00182
2IT00000057Targeted FB paid adsI00017T00183
3IT00000002Promote \"funding\" campaignI00002T00174
4IT00000003create web-site - information pollutionI00002T00195
5IT00000014RT & Sputnik generate information pollutionI00005T00196
6IT00000031RT & Sputnik generate information pollution (r...I00007T00197
7IT00000037RT & Sputnik generate information pollutionI00009T00198
8IT00000061RT & Sputnik generate information pollutionI00017T00199
9IT00000082RT & Sputnik generate information pollution (s...I00029T001910
10IT00000094RT & Sputnik generate information pollutionI00032T001911
11IT00000120RT & Sputnik generate information pollutionI00044T001912
12IT00000137RT & Sputnik generate information pollution (s...I00049T001913
13IT00000146RT & Sputnik generate information pollution (s...I00050T001914
14IT00000156RT & Sputnik generate information pollutionI00051T001915
15IT00000180RT & Sputnik generate information pollution (s...I00063T001916
16IT00000004create web-site - information pollutionI00002T005617
17IT00000015RT & Sputnik generate information pollutionI00005T005618
18IT00000032RT & Sputnik generate information pollution (r...I00007T005619
19IT00000038RT & Sputnik generate information pollutionI00009T005620
20IT00000062RT & Sputnik generate information pollutionI00017T005621
21IT00000083RT & Sputnik generate information pollution (s...I00029T005622
22IT00000095RT & Sputnik generate information pollutionI00032T005623
23IT00000121RT & Sputnik generate information pollutionI00044T005624
24IT00000138RT & Sputnik generate information pollution (s...I00049T005625
25IT00000147RT & Sputnik generate information pollution (s...I00050T005626
26IT00000157RT & Sputnik generate information pollutionI00051T005627
27IT00000162State-run media seeds foreign influence enviro...I00053T005628
28IT00000181RT & Sputnik generate information pollution (s...I00063T005629
29IT00000005SEO optimisation/manipulation (\"key words\")I00002T004630
30IT00000022SEO optimisation/manipulation (\"key words\")I00005T004631
31IT00000043SEO optimisation/manipulation (\"key words\")I00010T004632
32IT00000071SEO optimisation/manipulation (\"key words\")I00017T004633
33IT00000085SEO optimisation/manipulation (\"key words\")I00029T004634
34IT00000103SEO optimisation/manipulation (\"key words\")I00032T004635
35IT00000125SEO optimisation/manipulation (\"key words\")I00044T004636
36IT00000140SEO optimisation/manipulation (\"key words\")I00049T004637
37IT00000149SEO optimisation/manipulation (\"key words\")I00050T004638
38IT00000161SEO optimisation/manipulation (\"key words\")I00051T004639
39IT00000172SEO optimisation/manipulation (\"key words\")I00056T004640
40IT00000183SEO optimisation/manipulation (\"key words\")I00063T004641
41IT00000006legacy web contentI00002T005842
42IT00000007hard to remove content and/or campaign/exploit...I00002T005843
43IT00000176legacy web contentI00056T005844
44IT00000008Twitter bots amplify & manipulateI00005T005445
45IT00000034Twitter bots amplify & manipulateI00007T005446
46IT00000041Twitter bots amplify & manipulateI00010T005447
47IT00000055Twitter bots amplify & manipulateI00017T005448
48IT00000076Twitter bots amplify & manipulateI00022T005449
49IT00000079Twitter bots amplify & manipulateI00029T005450
50IT00000090Twitter bots amplify & manipulateI00032T005451
51IT00000115Twitter bots amplify & manipulateI00042T005452
52IT00000118Twitter bots amplify & manipulateI00044T005453
53IT00000131Twitter bots amplify & manipulateI00047T005454
54IT00000134Twitter bots amplify & manipulateI00049T005455
55IT00000144Twitter bots amplify & manipulateI00050T005456
56IT00000154Twitter bots amplify & manipulateI00051T005457
57IT00000169Twitter bots amplify & manipulateI00056T005458
58IT00000177Twitter bots amplify & manipulateI00063T005459
59IT00000009Twitter trolls amplify & manipulateI00005T005360
60IT00000035Twitter trolls amplify & manipulateI00007T005361
61IT00000042Twitter trolls amplify & manipulateI00010T005362
62IT00000056Twitter trolls amplify & manipulateI00017T005363
63IT00000077Twitter trolls amplify & manipulateI00022T005364
64IT00000080Twitter trolls amplify & manipulateI00029T005365
65IT00000091Twitter trolls amplify & manipulateI00032T005366
66IT00000119Twitter trolls amplify & manipulateI00044T005367
67IT00000132Twitter trolls amplify & manipulateI00047T005368
68IT00000135Twitter trolls amplify & manipulateI00049T005369
69IT00000145Twitter trolls amplify & manipulateI00050T005370
70IT00000155Twitter trolls amplify & manipulateI00051T005371
71IT00000170Twitter trolls amplify & manipulateI00056T005372
72IT00000178Twitter trolls amplify & manipulateI00063T005373
73IT00000011Fake FB groups + dark contentI00005T000774
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006T000775
75IT00000039FB pagesI00009T000776
76IT00000045FB pages/groups/profilesI00010T000777
77IT00000058Fake FB groups + dark contentI00017T000778
78IT00000078Fake FB groups/pages/profiles + dark contentI00022T000779
79IT00000092Fake FB groups/pages/profilesI00032T000780
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056T000781
81IT00000012Digital to physical \"organize+promote\" rallies...I00005T005782
82IT00000059Digital to physical \"organize+promote\" rallies...I00017T005783
83IT00000093Digital to physical \"organize+promote\" rallies...I00032T005784
84IT00000164Events coordinated and promoted across media p...I00053T005785
85IT00000166Extend digital the physical space… gatherings ...I00053T005786
86IT00000013manipulate social media \"online polls\"?I00005T002987
87IT00000060manipulate social media \"online polls\"?I00017T002988
88IT00000016cultivate, manipulate, exploit useful idiotsI00005T001089
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007T001090
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010T001091
91IT00000063cultivate, manipulate, exploit useful idiotsI00017T001092
92IT00000084cultivate, manipulate, exploit useful idiotsI00029T001093
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032T001094
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044T001095
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049T001096
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050T001097
97IT00000158cultivate, manipulate, exploit useful idiotsI00051T001098
98IT00000182cultivate, manipulate, exploit useful idiotsI00063T001099
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0031100
100IT00000046YouTube; RedditI00010T0031101
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0031102
102IT00000087YouTube; Reddit;I00029T0031103
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0031104
104IT00000122YouTube; RedditI00044T0031105
105IT00000142YouTube; Reddit;I00049T0031106
106IT00000151YouTube; Reddit;I00050T0031107
107IT00000159YouTube; RedditI00051T0031108
108IT00000185YouTube; Reddit;I00063T0031109
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0032110
110IT00000047YouTube; RedditI00010T0032111
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0032112
112IT00000088YouTube; Reddit;I00029T0032113
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0032114
114IT00000123YouTube; RedditI00044T0032115
115IT00000143YouTube; Reddit;I00049T0032116
116IT00000152YouTube; Reddit;I00050T0032117
117IT00000160YouTube; RedditI00051T0032118
118IT00000186YouTube; Reddit;I00063T0032119
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0034120
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0034121
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0034122
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0035123
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0035124
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0035125
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0036126
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0036127
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0036128
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005T0021129
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017T0021130
130IT00000117memesI00042T0021131
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0021132
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005T0030133
133IT00000074Backstop personasI00017T0030134
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006T0043135
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006T0024136
136IT00000116photoshopped/fake imagesI00042T0024137
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0015138
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0055139
139IT00000030bait journalists/media/politiciansI00006T0039140
140IT00000049journalist/media baitingI00010T0039141
141IT00000053journalist/media baitingI00015T0039142
142IT00000036Using \"expert\"I00009T0045143
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009T0052144
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029T0052145
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049T0052146
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050T0052147
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063T0052148
148IT000000484Chan/8Chan - trial contentI00010T0020149
149IT000000704Chan/8Chan - trial contentI00017T0020150
150IT000001024Chan/8Chan - trial contentI00032T0020151
151IT000001244Chan/8Chan - trial contentI00044T0020152
152IT00000050Forge ('release' altered hacked documents)I00015T0025153
153IT00000051hack/leak/manipulate/distortI00015T0025154
154IT00000054hack/leak/manipulate/distortI00017T0025155
155IT00000075hack/leak/manipulate/distortI00022T0025156
156IT00000153hack/leak/manipulate/distortI00051T0025157
157IT00000052Circulate to media via DM, then release publiclyI00015T0044158
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0033159
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0033160
160IT00000073Click-bait (economic actors) fake news sites (...I00017T0016161
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029T0001162
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047T0001163
163IT00000129Russian FSB security service blamed Ukraine fo...I00047T0001164
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049T0001165
165IT00000167China also plays victim, innocence, plays by r...I00053T0001166
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053T0001167
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063T0001168
168IT00000089Demand insurmountable proofI00029T0040169
169IT00000133Demand insurmountable proofI00047T0040170
170IT000001052,000,000 people (est.) part of state run/spon...I00033T0049171
171IT00000112flood the Facebook pages of Taiwanese politici...I00034T0049172
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034T0049173
173IT00000106fabricated social media commentI00033T0051174
174IT00000107domestic social media influence operations foc...I00033T0050175
175IT00000165Extend digital the physical space… gatherings ...I00053T0050176
176IT00000108cow online opinion leaders into submission, mu...I00033T0047177
177IT00000109cow online opinion leaders into submission, mu...I00033T0048178
178IT00000110facilitate state propaganda and defuse crisesI00033T0002179
179IT00000111Netizens from one of the largest discussion fo...I00034T0002180
180IT00000114“hack” of Qatar’s official news agencyI00042T0011181
181IT00000127Promote fake “experts” with impressive (and sc...I00044T0009182
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047T0023183
183IT00000163Distorted, saccharine “news” about the Chinese...I00053T0023184
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0022185
185IT00000175Fake news/synthetic web-sitesI00056T0008186
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary incident_id \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " technique_id id \n", - "0 T0018 1 \n", - "1 T0018 2 \n", - "2 T0018 3 \n", - "3 T0017 4 \n", - "4 T0019 5 \n", - "5 T0019 6 \n", - "6 T0019 7 \n", - "7 T0019 8 \n", - "8 T0019 9 \n", - "9 T0019 10 \n", - "10 T0019 11 \n", - "11 T0019 12 \n", - "12 T0019 13 \n", - "13 T0019 14 \n", - "14 T0019 15 \n", - "15 T0019 16 \n", - "16 T0056 17 \n", - "17 T0056 18 \n", - "18 T0056 19 \n", - "19 T0056 20 \n", - "20 T0056 21 \n", - "21 T0056 22 \n", - "22 T0056 23 \n", - "23 T0056 24 \n", - "24 T0056 25 \n", - "25 T0056 26 \n", - "26 T0056 27 \n", - "27 T0056 28 \n", - "28 T0056 29 \n", - "29 T0046 30 \n", - "30 T0046 31 \n", - "31 T0046 32 \n", - "32 T0046 33 \n", - "33 T0046 34 \n", - "34 T0046 35 \n", - "35 T0046 36 \n", - "36 T0046 37 \n", - "37 T0046 38 \n", - "38 T0046 39 \n", - "39 T0046 40 \n", - "40 T0046 41 \n", - "41 T0058 42 \n", - "42 T0058 43 \n", - "43 T0058 44 \n", - "44 T0054 45 \n", - "45 T0054 46 \n", - "46 T0054 47 \n", - "47 T0054 48 \n", - "48 T0054 49 \n", - "49 T0054 50 \n", - "50 T0054 51 \n", - "51 T0054 52 \n", - "52 T0054 53 \n", - "53 T0054 54 \n", - "54 T0054 55 \n", - "55 T0054 56 \n", - "56 T0054 57 \n", - "57 T0054 58 \n", - "58 T0054 59 \n", - "59 T0053 60 \n", - "60 T0053 61 \n", - "61 T0053 62 \n", - "62 T0053 63 \n", - "63 T0053 64 \n", - "64 T0053 65 \n", - "65 T0053 66 \n", - "66 T0053 67 \n", - "67 T0053 68 \n", - "68 T0053 69 \n", - "69 T0053 70 \n", - "70 T0053 71 \n", - "71 T0053 72 \n", - "72 T0053 73 \n", - "73 T0007 74 \n", - "74 T0007 75 \n", - "75 T0007 76 \n", - "76 T0007 77 \n", - "77 T0007 78 \n", - "78 T0007 79 \n", - "79 T0007 80 \n", - "80 T0007 81 \n", - "81 T0057 82 \n", - "82 T0057 83 \n", - "83 T0057 84 \n", - "84 T0057 85 \n", - "85 T0057 86 \n", - "86 T0029 87 \n", - "87 T0029 88 \n", - "88 T0010 89 \n", - "89 T0010 90 \n", - "90 T0010 91 \n", - "91 T0010 92 \n", - "92 T0010 93 \n", - "93 T0010 94 \n", - "94 T0010 95 \n", - "95 T0010 96 \n", - "96 T0010 97 \n", - "97 T0010 98 \n", - "98 T0010 99 \n", - "99 T0031 100 \n", - "100 T0031 101 \n", - "101 T0031 102 \n", - "102 T0031 103 \n", - "103 T0031 104 \n", - "104 T0031 105 \n", - "105 T0031 106 \n", - "106 T0031 107 \n", - "107 T0031 108 \n", - "108 T0031 109 \n", - "109 T0032 110 \n", - "110 T0032 111 \n", - "111 T0032 112 \n", - "112 T0032 113 \n", - "113 T0032 114 \n", - "114 T0032 115 \n", - "115 T0032 116 \n", - "116 T0032 117 \n", - "117 T0032 118 \n", - "118 T0032 119 \n", - "119 T0034 120 \n", - "120 T0034 121 \n", - "121 T0034 122 \n", - "122 T0035 123 \n", - "123 T0035 124 \n", - "124 T0035 125 \n", - "125 T0036 126 \n", - "126 T0036 127 \n", - "127 T0036 128 \n", - "128 T0021 129 \n", - "129 T0021 130 \n", - "130 T0021 131 \n", - "131 T0021 132 \n", - "132 T0030 133 \n", - "133 T0030 134 \n", - "134 T0043 135 \n", - "135 T0024 136 \n", - "136 T0024 137 \n", - "137 T0015 138 \n", - "138 T0055 139 \n", - "139 T0039 140 \n", - "140 T0039 141 \n", - "141 T0039 142 \n", - "142 T0045 143 \n", - "143 T0052 144 \n", - "144 T0052 145 \n", - "145 T0052 146 \n", - "146 T0052 147 \n", - "147 T0052 148 \n", - "148 T0020 149 \n", - "149 T0020 150 \n", - "150 T0020 151 \n", - "151 T0020 152 \n", - "152 T0025 153 \n", - "153 T0025 154 \n", - "154 T0025 155 \n", - "155 T0025 156 \n", - "156 T0025 157 \n", - "157 T0044 158 \n", - "158 T0033 159 \n", - "159 T0033 160 \n", - "160 T0016 161 \n", - "161 T0001 162 \n", - "162 T0001 163 \n", - "163 T0001 164 \n", - "164 T0001 165 \n", - "165 T0001 166 \n", - "166 T0001 167 \n", - "167 T0001 168 \n", - "168 T0040 169 \n", - "169 T0040 170 \n", - "170 T0049 171 \n", - "171 T0049 172 \n", - "172 T0049 173 \n", - "173 T0051 174 \n", - "174 T0050 175 \n", - "175 T0050 176 \n", - "176 T0047 177 \n", - "177 T0048 178 \n", - "178 T0002 179 \n", - "179 T0002 180 \n", - "180 T0011 181 \n", - "181 T0009 182 \n", - "182 T0023 183 \n", - "183 T0023 184 \n", - "184 T0022 185 \n", - "185 T0008 186 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Get DISARM variables\n", - "\n", - "import pandas as pd\n", - "import sqlite3 as sql\n", - "import os\n", - "from sqlalchemy import create_engine\n", - "from generate_DISARM_pages import Disarm\n", - "pd.set_option('display.max_rows', 1000)\n", - "\n", - "\n", - "# Generate DISARM datasets\n", - "disarm = Disarm()\n", - "\n", - "dbasetype = 'sqlite' #'postgresql_local' # 'heroku'\n", - "\n", - "\n", - "# Create connection to database\n", - "if dbasetype == 'sqlite':\n", - " # Generate minimal sqlite database from the variables\n", - " conn = sql.connect('../generated_files/DISARM_database.sqlite')\n", - "elif dbasetype == 'postgresql_local':\n", - " conn = create_engine('postgresql://sara:@localhost:5432/disarmsite')\n", - "\n", - " \n", - "# Add table to database \n", - "def add_table(dataframe, tablename, columns): \n", - " # Create sql-appropriate table from dataframe\n", - " colnames = ', '.join(['{} TEXT NOT NULL'.format(col) for col in columns])\n", - " newtable = dataframe[columns].copy().applymap(str)\n", - " newtable['id'] = range(1,len(newtable)+1)\n", - " \n", - " # send to database\n", - " if dbasetype == 'sqlite':\n", - " conn.execute(\"DROP TABLE IF EXISTS {}\".format(tablename))\n", - " conn.execute('''CREATE TABLE {} (id INTEGER PRIMARY KEY AUTOINCREMENT, {});'''.format(tablename, colnames))\n", - " newtable.to_sql(tablename, conn, index=False, if_exists='append')\n", - " conn.commit()\n", - " elif dbasetype == 'postgresql_local':\n", - " newtable.to_sql(tablename, conn, index=False, if_exists='replace')\n", - " return newtable\n", - "\n", - "\n", - "# Build a cross-table\n", - "def object_tactics_techniques(objectcol, objecttable, crosstable):\n", - " # objects to techniques\n", - " ctech = crosstable.copy()\n", - " ctech = ctech[(ctech['technique_id'] != '') & (~ctech['technique_id'].str.startswith('TA'))]\n", - " ctech.rename(columns={'disarm_id':objectcol}, inplace=True)\n", - " ctech['summary'] = 'N/A'\n", - "\n", - " # objects to tactics\n", - " ctact = crosstable[crosstable['technique_id'].str.startswith('TA')].copy()\n", - " ctact.rename(columns={'disarm_id':objectcol, 'technique_id': 'tactic_id'}, inplace=True)\n", - " ctact['main_tactic'] = 'N'\n", - " ctactmain = objecttable[['disarm_id', 'tactic_id']].copy()\n", - " ctactmain.rename(columns={'disarm_id':objectcol}, inplace=True)\n", - " ctactmain['main_tactic'] = 'Y'\n", - " ctact = pd.concat([ctact, ctactmain], ignore_index=True, sort=False)\n", - " ctact['summary'] = 'N/A'\n", - " return(ctech, ctact)\n", - "\n", - "#Load all the tables - Heroku needs them in correct order... \n", - "\n", - "# -- frameworks --\n", - "\n", - "#newtable = add_table(disarm.df_actortypes, 'actor_type', ['disarm_id', 'sector_id', 'framework_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_counters, 'counter', ['disarm_id', 'tactic_id', 'metatechnique_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_detections, 'detection', ['disarm_id', 'tactic_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_frameworks, 'framework', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_metatechniques, 'metatechnique', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_phases, 'phase', ['disarm_id', 'name', 'rank', 'summary'])\n", - "newtable = add_table(disarm.df_playbooks, 'playbook', ['disarm_id', 'object_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_resources, 'resource', ['disarm_id', 'name', 'summary', 'resource_type'])\n", - "newtable = add_table(disarm.df_responsetypes, 'responsetype', ['disarm_id', 'name', 'summary'])\n", - "#newtable = add_table(disarm.df_sector, 'sector', ['disarm_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_tactics, 'tactic', ['disarm_id', 'phase_id', 'name', 'rank', 'summary'])\n", - "newtable = add_table(disarm.df_tasks, 'task', ['disarm_id', 'tactic_id', 'framework_id', 'name', 'summary'])\n", - "newtable = add_table(disarm.df_techniques, 'technique', ['disarm_id', 'tactic_id', 'name', 'summary'])\n", - "\n", - "(ctech, ctact) = object_tactics_techniques('counter_id', disarm.df_counters, disarm.cross_counterid_techniqueid)\n", - "newtable = add_table(ctech, 'counter_technique', ['counter_id', 'technique_id', 'summary'])\n", - "newtable = add_table(ctact, 'counter_tactic', ['counter_id', 'tactic_id', 'main_tactic', 'summary'])\n", - "\n", - "(dtech, dtact) = object_tactics_techniques('detection_id', disarm.df_detections, disarm.cross_detectionid_techniqueid)\n", - "newtable = add_table(dtech, 'detection_technique', ['detection_id', 'technique_id', 'summary'])\n", - "newtable = add_table(dtact, 'detection_tactic', ['detection_id', 'tactic_id', 'main_tactic', 'summary'])\n", - "\n", - "# -- datasets --\n", - "\n", - "newtable = add_table(disarm.df_examples, 'example', ['disarm_id', 'object_id', 'name', 'summary'])\n", - "\n", - "# dataset\n", - "# reference - create this from other tables. \n", - "# Also need incidentcounter etc - create from data\n", - "newtable = add_table(disarm.df_externalgroups, 'externalgroup', ['disarm_id', 'name', 'url', 'summary', \n", - " 'sector', 'primary_role', 'secondary_role', \n", - " 'primary_subject', 'secondary_subject', \n", - " 'volunteers', 'region', 'country', \n", - " 'twitter_handle'])\n", - "newtable = add_table(disarm.df_incidents, 'incident', ['disarm_id', 'name', 'summary', \n", - " 'year_started', 'attributions_seen', \n", - " 'found_in_country', 'objecttype'])\n", - "newtable = add_table(disarm.df_tools, 'tool', ['disarm_id', 'name', 'summary',\n", - " 'externalgroup', 'url', 'category', \n", - " 'disinformation_use', 'cogseccollab_use', \n", - " 'function', 'code_url', 'artifacts', \n", - " 'automation', 'platform', 'accessibility'])\n", - "# incidenttechnique crosstable\n", - "it = vars(disarm)['it'][['disarm_id', 'name', 'summary', 'disarm_id_incident', 'disarm_id_technique']].copy()\n", - "it.rename(columns={'disarm_id_incident':'incident_id', 'disarm_id_technique': 'technique_id'}, inplace=True)\n", - "newtable = add_table(it, 'incident_technique', ['disarm_id', 'name', 'summary', \n", - " 'incident_id', 'technique_id'])\n", - "\n", - "# Load in users table, and close connection\n", - "if dbasetype == 'sqlite':\n", - " conn.execute(\"DROP TABLE IF EXISTS {}\".format('users'))\n", - " conn.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL UNIQUE, password TEXT NOT NULL);''')\n", - " conn.close()\n", - "else:\n", - " dfusers = pd.DataFrame([['test','testing']], columns=['username', 'password'])\n", - " usertable = add_table(dfusers, 'users', ['username', 'password'])\n", - "\n", - "newtable" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## test area" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": true - }, - "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": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummarydisarm_id_incidentname_incidentdisarm_id_techniquename_technique
0IT00000001buy FB targeted adsI00002#VaccinateUST0018Paid targeted ads
1IT00000010Targeted FB paid adsI00005Brexit voteT0018Paid targeted ads
2IT00000057Targeted FB paid adsI00017US presidential electionsT0018Paid targeted ads
3IT00000002Promote \"funding\" campaignI00002#VaccinateUST0017Promote online funding
4IT00000003create web-site - information pollutionI00002#VaccinateUST0019Generate information pollution
5IT00000014RT & Sputnik generate information pollutionI00005Brexit voteT0019Generate information pollution
6IT00000031RT & Sputnik generate information pollution (r...I00007Incirlik terroristsT0019Generate information pollution
7IT00000037RT & Sputnik generate information pollutionI00009PhilippinesExpertT0019Generate information pollution
8IT00000061RT & Sputnik generate information pollutionI00017US presidential electionsT0019Generate information pollution
9IT00000082RT & Sputnik generate information pollution (s...I00029MH17 investigationT0019Generate information pollution
10IT00000094RT & Sputnik generate information pollutionI00032KavanaughT0019Generate information pollution
11IT00000120RT & Sputnik generate information pollutionI00044JadeHelm exerciseT0019Generate information pollution
12IT00000137RT & Sputnik generate information pollution (s...I00049White Helmets: Chemical WeaponsT0019Generate information pollution
13IT00000146RT & Sputnik generate information pollution (s...I00050#HandsOffVenezuelaT0019Generate information pollution
14IT00000156RT & Sputnik generate information pollutionI00051Integrity InitiativeT0019Generate information pollution
15IT00000180RT & Sputnik generate information pollution (s...I00063Olympic Doping ScandalT0019Generate information pollution
16IT00000004create web-site - information pollutionI00002#VaccinateUST0056Dedicated channels disseminate information pol...
17IT00000015RT & Sputnik generate information pollutionI00005Brexit voteT0056Dedicated channels disseminate information pol...
18IT00000032RT & Sputnik generate information pollution (r...I00007Incirlik terroristsT0056Dedicated channels disseminate information pol...
19IT00000038RT & Sputnik generate information pollutionI00009PhilippinesExpertT0056Dedicated channels disseminate information pol...
20IT00000062RT & Sputnik generate information pollutionI00017US presidential electionsT0056Dedicated channels disseminate information pol...
21IT00000083RT & Sputnik generate information pollution (s...I00029MH17 investigationT0056Dedicated channels disseminate information pol...
22IT00000095RT & Sputnik generate information pollutionI00032KavanaughT0056Dedicated channels disseminate information pol...
23IT00000121RT & Sputnik generate information pollutionI00044JadeHelm exerciseT0056Dedicated channels disseminate information pol...
24IT00000138RT & Sputnik generate information pollution (s...I00049White Helmets: Chemical WeaponsT0056Dedicated channels disseminate information pol...
25IT00000147RT & Sputnik generate information pollution (s...I00050#HandsOffVenezuelaT0056Dedicated channels disseminate information pol...
26IT00000157RT & Sputnik generate information pollutionI00051Integrity InitiativeT0056Dedicated channels disseminate information pol...
27IT00000162State-run media seeds foreign influence enviro...I00053China Huawei CFO ArrestT0056Dedicated channels disseminate information pol...
28IT00000181RT & Sputnik generate information pollution (s...I00063Olympic Doping ScandalT0056Dedicated channels disseminate information pol...
29IT00000005SEO optimisation/manipulation (\"key words\")I00002#VaccinateUST0046Search Engine Optimization
30IT00000022SEO optimisation/manipulation (\"key words\")I00005Brexit voteT0046Search Engine Optimization
31IT00000043SEO optimisation/manipulation (\"key words\")I00010ParklandTeensT0046Search Engine Optimization
32IT00000071SEO optimisation/manipulation (\"key words\")I00017US presidential electionsT0046Search Engine Optimization
33IT00000085SEO optimisation/manipulation (\"key words\")I00029MH17 investigationT0046Search Engine Optimization
34IT00000103SEO optimisation/manipulation (\"key words\")I00032KavanaughT0046Search Engine Optimization
35IT00000125SEO optimisation/manipulation (\"key words\")I00044JadeHelm exerciseT0046Search Engine Optimization
36IT00000140SEO optimisation/manipulation (\"key words\")I00049White Helmets: Chemical WeaponsT0046Search Engine Optimization
37IT00000149SEO optimisation/manipulation (\"key words\")I00050#HandsOffVenezuelaT0046Search Engine Optimization
38IT00000161SEO optimisation/manipulation (\"key words\")I00051Integrity InitiativeT0046Search Engine Optimization
39IT00000172SEO optimisation/manipulation (\"key words\")I00056Iran Influence OperationsT0046Search Engine Optimization
40IT00000183SEO optimisation/manipulation (\"key words\")I00063Olympic Doping ScandalT0046Search Engine Optimization
41IT00000006legacy web contentI00002#VaccinateUST0058Legacy web content
42IT00000007hard to remove content and/or campaign/exploit...I00002#VaccinateUST0058Legacy web content
43IT00000176legacy web contentI00056Iran Influence OperationsT0058Legacy web content
44IT00000008Twitter bots amplify & manipulateI00005Brexit voteT0054Twitter bots amplify
45IT00000034Twitter bots amplify & manipulateI00007Incirlik terroristsT0054Twitter bots amplify
46IT00000041Twitter bots amplify & manipulateI00010ParklandTeensT0054Twitter bots amplify
47IT00000055Twitter bots amplify & manipulateI00017US presidential electionsT0054Twitter bots amplify
48IT00000076Twitter bots amplify & manipulateI00022#MacronleaksT0054Twitter bots amplify
49IT00000079Twitter bots amplify & manipulateI00029MH17 investigationT0054Twitter bots amplify
50IT00000090Twitter bots amplify & manipulateI00032KavanaughT0054Twitter bots amplify
51IT00000115Twitter bots amplify & manipulateI00042Saudi/Qatar bot disputeT0054Twitter bots amplify
52IT00000118Twitter bots amplify & manipulateI00044JadeHelm exerciseT0054Twitter bots amplify
53IT00000131Twitter bots amplify & manipulateI00047Sea of AzovT0054Twitter bots amplify
54IT00000134Twitter bots amplify & manipulateI00049White Helmets: Chemical WeaponsT0054Twitter bots amplify
55IT00000144Twitter bots amplify & manipulateI00050#HandsOffVenezuelaT0054Twitter bots amplify
56IT00000154Twitter bots amplify & manipulateI00051Integrity InitiativeT0054Twitter bots amplify
57IT00000169Twitter bots amplify & manipulateI00056Iran Influence OperationsT0054Twitter bots amplify
58IT00000177Twitter bots amplify & manipulateI00063Olympic Doping ScandalT0054Twitter bots amplify
59IT00000009Twitter trolls amplify & manipulateI00005Brexit voteT0053Twitter trolls amplify and manipulate
60IT00000035Twitter trolls amplify & manipulateI00007Incirlik terroristsT0053Twitter trolls amplify and manipulate
61IT00000042Twitter trolls amplify & manipulateI00010ParklandTeensT0053Twitter trolls amplify and manipulate
62IT00000056Twitter trolls amplify & manipulateI00017US presidential electionsT0053Twitter trolls amplify and manipulate
63IT00000077Twitter trolls amplify & manipulateI00022#MacronleaksT0053Twitter trolls amplify and manipulate
64IT00000080Twitter trolls amplify & manipulateI00029MH17 investigationT0053Twitter trolls amplify and manipulate
65IT00000091Twitter trolls amplify & manipulateI00032KavanaughT0053Twitter trolls amplify and manipulate
66IT00000119Twitter trolls amplify & manipulateI00044JadeHelm exerciseT0053Twitter trolls amplify and manipulate
67IT00000132Twitter trolls amplify & manipulateI00047Sea of AzovT0053Twitter trolls amplify and manipulate
68IT00000135Twitter trolls amplify & manipulateI00049White Helmets: Chemical WeaponsT0053Twitter trolls amplify and manipulate
69IT00000145Twitter trolls amplify & manipulateI00050#HandsOffVenezuelaT0053Twitter trolls amplify and manipulate
70IT00000155Twitter trolls amplify & manipulateI00051Integrity InitiativeT0053Twitter trolls amplify and manipulate
71IT00000170Twitter trolls amplify & manipulateI00056Iran Influence OperationsT0053Twitter trolls amplify and manipulate
72IT00000178Twitter trolls amplify & manipulateI00063Olympic Doping ScandalT0053Twitter trolls amplify and manipulate
73IT00000011Fake FB groups + dark contentI00005Brexit voteT0007Create fake Social Media Profiles / Pages / Gr...
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006Columbian ChemicalsT0007Create fake Social Media Profiles / Pages / Gr...
75IT00000039FB pagesI00009PhilippinesExpertT0007Create fake Social Media Profiles / Pages / Gr...
76IT00000045FB pages/groups/profilesI00010ParklandTeensT0007Create fake Social Media Profiles / Pages / Gr...
77IT00000058Fake FB groups + dark contentI00017US presidential electionsT0007Create fake Social Media Profiles / Pages / Gr...
78IT00000078Fake FB groups/pages/profiles + dark contentI00022#MacronleaksT0007Create fake Social Media Profiles / Pages / Gr...
79IT00000092Fake FB groups/pages/profilesI00032KavanaughT0007Create fake Social Media Profiles / Pages / Gr...
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056Iran Influence OperationsT0007Create fake Social Media Profiles / Pages / Gr...
81IT00000012Digital to physical \"organize+promote\" rallies...I00005Brexit voteT0057Organise remote rallies and events
82IT00000059Digital to physical \"organize+promote\" rallies...I00017US presidential electionsT0057Organise remote rallies and events
83IT00000093Digital to physical \"organize+promote\" rallies...I00032KavanaughT0057Organise remote rallies and events
84IT00000164Events coordinated and promoted across media p...I00053China Huawei CFO ArrestT0057Organise remote rallies and events
85IT00000166Extend digital the physical space… gatherings ...I00053China Huawei CFO ArrestT0057Organise remote rallies and events
86IT00000013manipulate social media \"online polls\"?I00005Brexit voteT0029Manipulate online polls
87IT00000060manipulate social media \"online polls\"?I00017US presidential electionsT0029Manipulate online polls
88IT00000016cultivate, manipulate, exploit useful idiotsI00005Brexit voteT0010Cultivate ignorant agents
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007Incirlik terroristsT0010Cultivate ignorant agents
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010ParklandTeensT0010Cultivate ignorant agents
91IT00000063cultivate, manipulate, exploit useful idiotsI00017US presidential electionsT0010Cultivate ignorant agents
92IT00000084cultivate, manipulate, exploit useful idiotsI00029MH17 investigationT0010Cultivate ignorant agents
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032KavanaughT0010Cultivate ignorant agents
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044JadeHelm exerciseT0010Cultivate ignorant agents
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049White Helmets: Chemical WeaponsT0010Cultivate ignorant agents
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050#HandsOffVenezuelaT0010Cultivate ignorant agents
97IT00000158cultivate, manipulate, exploit useful idiotsI00051Integrity InitiativeT0010Cultivate ignorant agents
98IT00000182cultivate, manipulate, exploit useful idiotsI00063Olympic Doping ScandalT0010Cultivate ignorant agents
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0031YouTube
100IT00000046YouTube; RedditI00010ParklandTeensT0031YouTube
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0031YouTube
102IT00000087YouTube; Reddit;I00029MH17 investigationT0031YouTube
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0031YouTube
104IT00000122YouTube; RedditI00044JadeHelm exerciseT0031YouTube
105IT00000142YouTube; Reddit;I00049White Helmets: Chemical WeaponsT0031YouTube
106IT00000151YouTube; Reddit;I00050#HandsOffVenezuelaT0031YouTube
107IT00000159YouTube; RedditI00051Integrity InitiativeT0031YouTube
108IT00000185YouTube; Reddit;I00063Olympic Doping ScandalT0031YouTube
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0032Reddit
110IT00000047YouTube; RedditI00010ParklandTeensT0032Reddit
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0032Reddit
112IT00000088YouTube; Reddit;I00029MH17 investigationT0032Reddit
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0032Reddit
114IT00000123YouTube; RedditI00044JadeHelm exerciseT0032Reddit
115IT00000143YouTube; Reddit;I00049White Helmets: Chemical WeaponsT0032Reddit
116IT00000152YouTube; Reddit;I00050#HandsOffVenezuelaT0032Reddit
117IT00000160YouTube; RedditI00051Integrity InitiativeT0032Reddit
118IT00000186YouTube; Reddit;I00063Olympic Doping ScandalT0032Reddit
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0034LinkedIn
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0034LinkedIn
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0034LinkedIn
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0035Pinterest
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0035Pinterest
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0035Pinterest
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005Brexit voteT0036WhatsApp
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0036WhatsApp
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0036WhatsApp
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005Brexit voteT0021Memes
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017US presidential electionsT0021Memes
130IT00000117memesI00042Saudi/Qatar bot disputeT0021Memes
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056Iran Influence OperationsT0021Memes
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005Brexit voteT0030Backstop personas
133IT00000074Backstop personasI00017US presidential electionsT0030Backstop personas
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006Columbian ChemicalsT0043Use SMS/ WhatsApp/ Chat apps
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006Columbian ChemicalsT0024Create fake videos and images
136IT00000116photoshopped/fake imagesI00042Saudi/Qatar bot disputeT0024Create fake videos and images
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006Columbian ChemicalsT0015Create hashtag
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006Columbian ChemicalsT0055Use hashtag
139IT00000030bait journalists/media/politiciansI00006Columbian ChemicalsT0039Bait legitimate influencers
140IT00000049journalist/media baitingI00010ParklandTeensT0039Bait legitimate influencers
141IT00000053journalist/media baitingI00015ConcordDiscoveryT0039Bait legitimate influencers
142IT00000036Using \"expert\"I00009PhilippinesExpertT0045Use fake experts
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009PhilippinesExpertT0052Tertiary sites amplify news
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029MH17 investigationT0052Tertiary sites amplify news
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049White Helmets: Chemical WeaponsT0052Tertiary sites amplify news
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050#HandsOffVenezuelaT0052Tertiary sites amplify news
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063Olympic Doping ScandalT0052Tertiary sites amplify news
148IT000000484Chan/8Chan - trial contentI00010ParklandTeensT0020Trial content
149IT000000704Chan/8Chan - trial contentI00017US presidential electionsT0020Trial content
150IT000001024Chan/8Chan - trial contentI00032KavanaughT0020Trial content
151IT000001244Chan/8Chan - trial contentI00044JadeHelm exerciseT0020Trial content
152IT00000050Forge ('release' altered hacked documents)I00015ConcordDiscoveryT0025Leak altered documents
153IT00000051hack/leak/manipulate/distortI00015ConcordDiscoveryT0025Leak altered documents
154IT00000054hack/leak/manipulate/distortI00017US presidential electionsT0025Leak altered documents
155IT00000075hack/leak/manipulate/distortI00022#MacronleaksT0025Leak altered documents
156IT00000153hack/leak/manipulate/distortI00051Integrity InitiativeT0025Leak altered documents
157IT00000052Circulate to media via DM, then release publiclyI00015ConcordDiscoveryT0044Seed distortions
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017US presidential electionsT0033Instagram
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032KavanaughT0033Instagram
160IT00000073Click-bait (economic actors) fake news sites (...I00017US presidential electionsT0016Clickbait
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029MH17 investigationT00015Ds (dismiss, distort, distract, dismay, divide)
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047Sea of AzovT00015Ds (dismiss, distort, distract, dismay, divide)
163IT00000129Russian FSB security service blamed Ukraine fo...I00047Sea of AzovT00015Ds (dismiss, distort, distract, dismay, divide)
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049White Helmets: Chemical WeaponsT00015Ds (dismiss, distort, distract, dismay, divide)
165IT00000167China also plays victim, innocence, plays by r...I00053China Huawei CFO ArrestT00015Ds (dismiss, distort, distract, dismay, divide)
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053China Huawei CFO ArrestT00015Ds (dismiss, distort, distract, dismay, divide)
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063Olympic Doping ScandalT00015Ds (dismiss, distort, distract, dismay, divide)
168IT00000089Demand insurmountable proofI00029MH17 investigationT0040Demand unsurmountable proof
169IT00000133Demand insurmountable proofI00047Sea of AzovT0040Demand unsurmountable proof
170IT000001052,000,000 people (est.) part of state run/spon...I00033China 50cent ArmyT0049Flooding
171IT00000112flood the Facebook pages of Taiwanese politici...I00034DibaFacebookExpeditionT0049Flooding
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034DibaFacebookExpeditionT0049Flooding
173IT00000106fabricated social media commentI00033China 50cent ArmyT0051Fabricate social media comment
174IT00000107domestic social media influence operations foc...I00033China 50cent ArmyT0050Cheerleading domestic social media ops
175IT00000165Extend digital the physical space… gatherings ...I00053China Huawei CFO ArrestT0050Cheerleading domestic social media ops
176IT00000108cow online opinion leaders into submission, mu...I00033China 50cent ArmyT0047Muzzle social media as a political force
177IT00000109cow online opinion leaders into submission, mu...I00033China 50cent ArmyT0048Cow online opinion leaders
178IT00000110facilitate state propaganda and defuse crisesI00033China 50cent ArmyT0002Facilitate State Propaganda
179IT00000111Netizens from one of the largest discussion fo...I00034DibaFacebookExpeditionT0002Facilitate State Propaganda
180IT00000114“hack” of Qatar’s official news agencyI00042Saudi/Qatar bot disputeT0011Hijack legitimate account
181IT00000127Promote fake “experts” with impressive (and sc...I00044JadeHelm exerciseT0009Create fake experts
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047Sea of AzovT0023Distort facts
183IT00000163Distorted, saccharine “news” about the Chinese...I00053China Huawei CFO ArrestT0023Distort facts
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056Iran Influence OperationsT0022Conspiracy narratives
185IT00000175Fake news/synthetic web-sitesI00056Iran Influence OperationsT0008Create fake or imposter news sites
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary disarm_id_incident \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " name_incident disarm_id_technique \\\n", - "0 #VaccinateUS T0018 \n", - "1 Brexit vote T0018 \n", - "2 US presidential elections T0018 \n", - "3 #VaccinateUS T0017 \n", - "4 #VaccinateUS T0019 \n", - "5 Brexit vote T0019 \n", - "6 Incirlik terrorists T0019 \n", - "7 PhilippinesExpert T0019 \n", - "8 US presidential elections T0019 \n", - "9 MH17 investigation T0019 \n", - "10 Kavanaugh T0019 \n", - "11 JadeHelm exercise T0019 \n", - "12 White Helmets: Chemical Weapons T0019 \n", - "13 #HandsOffVenezuela T0019 \n", - "14 Integrity Initiative T0019 \n", - "15 Olympic Doping Scandal T0019 \n", - "16 #VaccinateUS T0056 \n", - "17 Brexit vote T0056 \n", - "18 Incirlik terrorists T0056 \n", - "19 PhilippinesExpert T0056 \n", - "20 US presidential elections T0056 \n", - "21 MH17 investigation T0056 \n", - "22 Kavanaugh T0056 \n", - "23 JadeHelm exercise T0056 \n", - "24 White Helmets: Chemical Weapons T0056 \n", - "25 #HandsOffVenezuela T0056 \n", - "26 Integrity Initiative T0056 \n", - "27 China Huawei CFO Arrest T0056 \n", - "28 Olympic Doping Scandal T0056 \n", - "29 #VaccinateUS T0046 \n", - "30 Brexit vote T0046 \n", - "31 ParklandTeens T0046 \n", - "32 US presidential elections T0046 \n", - "33 MH17 investigation T0046 \n", - "34 Kavanaugh T0046 \n", - "35 JadeHelm exercise T0046 \n", - "36 White Helmets: Chemical Weapons T0046 \n", - "37 #HandsOffVenezuela T0046 \n", - "38 Integrity Initiative T0046 \n", - "39 Iran Influence Operations T0046 \n", - "40 Olympic Doping Scandal T0046 \n", - "41 #VaccinateUS T0058 \n", - "42 #VaccinateUS T0058 \n", - "43 Iran Influence Operations T0058 \n", - "44 Brexit vote T0054 \n", - "45 Incirlik terrorists T0054 \n", - "46 ParklandTeens T0054 \n", - "47 US presidential elections T0054 \n", - "48 #Macronleaks T0054 \n", - "49 MH17 investigation T0054 \n", - "50 Kavanaugh T0054 \n", - "51 Saudi/Qatar bot dispute T0054 \n", - "52 JadeHelm exercise T0054 \n", - "53 Sea of Azov T0054 \n", - "54 White Helmets: Chemical Weapons T0054 \n", - "55 #HandsOffVenezuela T0054 \n", - "56 Integrity Initiative T0054 \n", - "57 Iran Influence Operations T0054 \n", - "58 Olympic Doping Scandal T0054 \n", - "59 Brexit vote T0053 \n", - "60 Incirlik terrorists T0053 \n", - "61 ParklandTeens T0053 \n", - "62 US presidential elections T0053 \n", - "63 #Macronleaks T0053 \n", - "64 MH17 investigation T0053 \n", - "65 Kavanaugh T0053 \n", - "66 JadeHelm exercise T0053 \n", - "67 Sea of Azov T0053 \n", - "68 White Helmets: Chemical Weapons T0053 \n", - "69 #HandsOffVenezuela T0053 \n", - "70 Integrity Initiative T0053 \n", - "71 Iran Influence Operations T0053 \n", - "72 Olympic Doping Scandal T0053 \n", - "73 Brexit vote T0007 \n", - "74 Columbian Chemicals T0007 \n", - "75 PhilippinesExpert T0007 \n", - "76 ParklandTeens T0007 \n", - "77 US presidential elections T0007 \n", - "78 #Macronleaks T0007 \n", - "79 Kavanaugh T0007 \n", - "80 Iran Influence Operations T0007 \n", - "81 Brexit vote T0057 \n", - "82 US presidential elections T0057 \n", - "83 Kavanaugh T0057 \n", - "84 China Huawei CFO Arrest T0057 \n", - "85 China Huawei CFO Arrest T0057 \n", - "86 Brexit vote T0029 \n", - "87 US presidential elections T0029 \n", - "88 Brexit vote T0010 \n", - "89 Incirlik terrorists T0010 \n", - "90 ParklandTeens T0010 \n", - "91 US presidential elections T0010 \n", - "92 MH17 investigation T0010 \n", - "93 Kavanaugh T0010 \n", - "94 JadeHelm exercise T0010 \n", - "95 White Helmets: Chemical Weapons T0010 \n", - "96 #HandsOffVenezuela T0010 \n", - "97 Integrity Initiative T0010 \n", - "98 Olympic Doping Scandal T0010 \n", - "99 Brexit vote T0031 \n", - "100 ParklandTeens T0031 \n", - "101 US presidential elections T0031 \n", - "102 MH17 investigation T0031 \n", - "103 Kavanaugh T0031 \n", - "104 JadeHelm exercise T0031 \n", - "105 White Helmets: Chemical Weapons T0031 \n", - "106 #HandsOffVenezuela T0031 \n", - "107 Integrity Initiative T0031 \n", - "108 Olympic Doping Scandal T0031 \n", - "109 Brexit vote T0032 \n", - "110 ParklandTeens T0032 \n", - "111 US presidential elections T0032 \n", - "112 MH17 investigation T0032 \n", - "113 Kavanaugh T0032 \n", - "114 JadeHelm exercise T0032 \n", - "115 White Helmets: Chemical Weapons T0032 \n", - "116 #HandsOffVenezuela T0032 \n", - "117 Integrity Initiative T0032 \n", - "118 Olympic Doping Scandal T0032 \n", - "119 Brexit vote T0034 \n", - "120 US presidential elections T0034 \n", - "121 Kavanaugh T0034 \n", - "122 Brexit vote T0035 \n", - "123 US presidential elections T0035 \n", - "124 Kavanaugh T0035 \n", - "125 Brexit vote T0036 \n", - "126 US presidential elections T0036 \n", - "127 Kavanaugh T0036 \n", - "128 Brexit vote T0021 \n", - "129 US presidential elections T0021 \n", - "130 Saudi/Qatar bot dispute T0021 \n", - "131 Iran Influence Operations T0021 \n", - "132 Brexit vote T0030 \n", - "133 US presidential elections T0030 \n", - "134 Columbian Chemicals T0043 \n", - "135 Columbian Chemicals T0024 \n", - "136 Saudi/Qatar bot dispute T0024 \n", - "137 Columbian Chemicals T0015 \n", - "138 Columbian Chemicals T0055 \n", - "139 Columbian Chemicals T0039 \n", - "140 ParklandTeens T0039 \n", - "141 ConcordDiscovery T0039 \n", - "142 PhilippinesExpert T0045 \n", - "143 PhilippinesExpert T0052 \n", - "144 MH17 investigation T0052 \n", - "145 White Helmets: Chemical Weapons T0052 \n", - "146 #HandsOffVenezuela T0052 \n", - "147 Olympic Doping Scandal T0052 \n", - "148 ParklandTeens T0020 \n", - "149 US presidential elections T0020 \n", - "150 Kavanaugh T0020 \n", - "151 JadeHelm exercise T0020 \n", - "152 ConcordDiscovery T0025 \n", - "153 ConcordDiscovery T0025 \n", - "154 US presidential elections T0025 \n", - "155 #Macronleaks T0025 \n", - "156 Integrity Initiative T0025 \n", - "157 ConcordDiscovery T0044 \n", - "158 US presidential elections T0033 \n", - "159 Kavanaugh T0033 \n", - "160 US presidential elections T0016 \n", - "161 MH17 investigation T0001 \n", - "162 Sea of Azov T0001 \n", - "163 Sea of Azov T0001 \n", - "164 White Helmets: Chemical Weapons T0001 \n", - "165 China Huawei CFO Arrest T0001 \n", - "166 China Huawei CFO Arrest T0001 \n", - "167 Olympic Doping Scandal T0001 \n", - "168 MH17 investigation T0040 \n", - "169 Sea of Azov T0040 \n", - "170 China 50cent Army T0049 \n", - "171 DibaFacebookExpedition T0049 \n", - "172 DibaFacebookExpedition T0049 \n", - "173 China 50cent Army T0051 \n", - "174 China 50cent Army T0050 \n", - "175 China Huawei CFO Arrest T0050 \n", - "176 China 50cent Army T0047 \n", - "177 China 50cent Army T0048 \n", - "178 China 50cent Army T0002 \n", - "179 DibaFacebookExpedition T0002 \n", - "180 Saudi/Qatar bot dispute T0011 \n", - "181 JadeHelm exercise T0009 \n", - "182 Sea of Azov T0023 \n", - "183 China Huawei CFO Arrest T0023 \n", - "184 Iran Influence Operations T0022 \n", - "185 Iran Influence Operations T0008 \n", - "\n", - " name_technique \n", - "0 Paid targeted ads \n", - "1 Paid targeted ads \n", - "2 Paid targeted ads \n", - "3 Promote online funding \n", - "4 Generate information pollution \n", - "5 Generate information pollution \n", - "6 Generate information pollution \n", - "7 Generate information pollution \n", - "8 Generate information pollution \n", - "9 Generate information pollution \n", - "10 Generate information pollution \n", - "11 Generate information pollution \n", - "12 Generate information pollution \n", - "13 Generate information pollution \n", - "14 Generate information pollution \n", - "15 Generate information pollution \n", - "16 Dedicated channels disseminate information pol... \n", - "17 Dedicated channels disseminate information pol... \n", - "18 Dedicated channels disseminate information pol... \n", - "19 Dedicated channels disseminate information pol... \n", - "20 Dedicated channels disseminate information pol... \n", - "21 Dedicated channels disseminate information pol... \n", - "22 Dedicated channels disseminate information pol... \n", - "23 Dedicated channels disseminate information pol... \n", - "24 Dedicated channels disseminate information pol... \n", - "25 Dedicated channels disseminate information pol... \n", - "26 Dedicated channels disseminate information pol... \n", - "27 Dedicated channels disseminate information pol... \n", - "28 Dedicated channels disseminate information pol... \n", - "29 Search Engine Optimization \n", - "30 Search Engine Optimization \n", - "31 Search Engine Optimization \n", - "32 Search Engine Optimization \n", - "33 Search Engine Optimization \n", - "34 Search Engine Optimization \n", - "35 Search Engine Optimization \n", - "36 Search Engine Optimization \n", - "37 Search Engine Optimization \n", - "38 Search Engine Optimization \n", - "39 Search Engine Optimization \n", - "40 Search Engine Optimization \n", - "41 Legacy web content \n", - "42 Legacy web content \n", - "43 Legacy web content \n", - "44 Twitter bots amplify \n", - "45 Twitter bots amplify \n", - "46 Twitter bots amplify \n", - "47 Twitter bots amplify \n", - "48 Twitter bots amplify \n", - "49 Twitter bots amplify \n", - "50 Twitter bots amplify \n", - "51 Twitter bots amplify \n", - "52 Twitter bots amplify \n", - "53 Twitter bots amplify \n", - "54 Twitter bots amplify \n", - "55 Twitter bots amplify \n", - "56 Twitter bots amplify \n", - "57 Twitter bots amplify \n", - "58 Twitter bots amplify \n", - "59 Twitter trolls amplify and manipulate \n", - "60 Twitter trolls amplify and manipulate \n", - "61 Twitter trolls amplify and manipulate \n", - "62 Twitter trolls amplify and manipulate \n", - "63 Twitter trolls amplify and manipulate \n", - "64 Twitter trolls amplify and manipulate \n", - "65 Twitter trolls amplify and manipulate \n", - "66 Twitter trolls amplify and manipulate \n", - "67 Twitter trolls amplify and manipulate \n", - "68 Twitter trolls amplify and manipulate \n", - "69 Twitter trolls amplify and manipulate \n", - "70 Twitter trolls amplify and manipulate \n", - "71 Twitter trolls amplify and manipulate \n", - "72 Twitter trolls amplify and manipulate \n", - "73 Create fake Social Media Profiles / Pages / Gr... \n", - "74 Create fake Social Media Profiles / Pages / Gr... \n", - "75 Create fake Social Media Profiles / Pages / Gr... \n", - "76 Create fake Social Media Profiles / Pages / Gr... \n", - "77 Create fake Social Media Profiles / Pages / Gr... \n", - "78 Create fake Social Media Profiles / Pages / Gr... \n", - "79 Create fake Social Media Profiles / Pages / Gr... \n", - "80 Create fake Social Media Profiles / Pages / Gr... \n", - "81 Organise remote rallies and events \n", - "82 Organise remote rallies and events \n", - "83 Organise remote rallies and events \n", - "84 Organise remote rallies and events \n", - "85 Organise remote rallies and events \n", - "86 Manipulate online polls \n", - "87 Manipulate online polls \n", - "88 Cultivate ignorant agents \n", - "89 Cultivate ignorant agents \n", - "90 Cultivate ignorant agents \n", - "91 Cultivate ignorant agents \n", - "92 Cultivate ignorant agents \n", - "93 Cultivate ignorant agents \n", - "94 Cultivate ignorant agents \n", - "95 Cultivate ignorant agents \n", - "96 Cultivate ignorant agents \n", - "97 Cultivate ignorant agents \n", - "98 Cultivate ignorant agents \n", - "99 YouTube \n", - "100 YouTube \n", - "101 YouTube \n", - "102 YouTube \n", - "103 YouTube \n", - "104 YouTube \n", - "105 YouTube \n", - "106 YouTube \n", - "107 YouTube \n", - "108 YouTube \n", - "109 Reddit \n", - "110 Reddit \n", - "111 Reddit \n", - "112 Reddit \n", - "113 Reddit \n", - "114 Reddit \n", - "115 Reddit \n", - "116 Reddit \n", - "117 Reddit \n", - "118 Reddit \n", - "119 LinkedIn \n", - "120 LinkedIn \n", - "121 LinkedIn \n", - "122 Pinterest \n", - "123 Pinterest \n", - "124 Pinterest \n", - "125 WhatsApp \n", - "126 WhatsApp \n", - "127 WhatsApp \n", - "128 Memes \n", - "129 Memes \n", - "130 Memes \n", - "131 Memes \n", - "132 Backstop personas \n", - "133 Backstop personas \n", - "134 Use SMS/ WhatsApp/ Chat apps \n", - "135 Create fake videos and images \n", - "136 Create fake videos and images \n", - "137 Create hashtag \n", - "138 Use hashtag \n", - "139 Bait legitimate influencers \n", - "140 Bait legitimate influencers \n", - "141 Bait legitimate influencers \n", - "142 Use fake experts \n", - "143 Tertiary sites amplify news \n", - "144 Tertiary sites amplify news \n", - "145 Tertiary sites amplify news \n", - "146 Tertiary sites amplify news \n", - "147 Tertiary sites amplify news \n", - "148 Trial content \n", - "149 Trial content \n", - "150 Trial content \n", - "151 Trial content \n", - "152 Leak altered documents \n", - "153 Leak altered documents \n", - "154 Leak altered documents \n", - "155 Leak altered documents \n", - "156 Leak altered documents \n", - "157 Seed distortions \n", - "158 Instagram \n", - "159 Instagram \n", - "160 Clickbait \n", - "161 5Ds (dismiss, distort, distract, dismay, divide) \n", - "162 5Ds (dismiss, distort, distract, dismay, divide) \n", - "163 5Ds (dismiss, distort, distract, dismay, divide) \n", - "164 5Ds (dismiss, distort, distract, dismay, divide) \n", - "165 5Ds (dismiss, distort, distract, dismay, divide) \n", - "166 5Ds (dismiss, distort, distract, dismay, divide) \n", - "167 5Ds (dismiss, distort, distract, dismay, divide) \n", - "168 Demand unsurmountable proof \n", - "169 Demand unsurmountable proof \n", - "170 Flooding \n", - "171 Flooding \n", - "172 Flooding \n", - "173 Fabricate social media comment \n", - "174 Cheerleading domestic social media ops \n", - "175 Cheerleading domestic social media ops \n", - "176 Muzzle social media as a political force \n", - "177 Cow online opinion leaders \n", - "178 Facilitate State Propaganda \n", - "179 Facilitate State Propaganda \n", - "180 Hijack legitimate account \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 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Check which amitt 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": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamesummaryincident_idtechnique_id
0IT00000001buy FB targeted adsI00002T0018
1IT00000010Targeted FB paid adsI00005T0018
2IT00000057Targeted FB paid adsI00017T0018
3IT00000002Promote \"funding\" campaignI00002T0017
4IT00000003create web-site - information pollutionI00002T0019
5IT00000014RT & Sputnik generate information pollutionI00005T0019
6IT00000031RT & Sputnik generate information pollution (r...I00007T0019
7IT00000037RT & Sputnik generate information pollutionI00009T0019
8IT00000061RT & Sputnik generate information pollutionI00017T0019
9IT00000082RT & Sputnik generate information pollution (s...I00029T0019
10IT00000094RT & Sputnik generate information pollutionI00032T0019
11IT00000120RT & Sputnik generate information pollutionI00044T0019
12IT00000137RT & Sputnik generate information pollution (s...I00049T0019
13IT00000146RT & Sputnik generate information pollution (s...I00050T0019
14IT00000156RT & Sputnik generate information pollutionI00051T0019
15IT00000180RT & Sputnik generate information pollution (s...I00063T0019
16IT00000004create web-site - information pollutionI00002T0056
17IT00000015RT & Sputnik generate information pollutionI00005T0056
18IT00000032RT & Sputnik generate information pollution (r...I00007T0056
19IT00000038RT & Sputnik generate information pollutionI00009T0056
20IT00000062RT & Sputnik generate information pollutionI00017T0056
21IT00000083RT & Sputnik generate information pollution (s...I00029T0056
22IT00000095RT & Sputnik generate information pollutionI00032T0056
23IT00000121RT & Sputnik generate information pollutionI00044T0056
24IT00000138RT & Sputnik generate information pollution (s...I00049T0056
25IT00000147RT & Sputnik generate information pollution (s...I00050T0056
26IT00000157RT & Sputnik generate information pollutionI00051T0056
27IT00000162State-run media seeds foreign influence enviro...I00053T0056
28IT00000181RT & Sputnik generate information pollution (s...I00063T0056
29IT00000005SEO optimisation/manipulation (\"key words\")I00002T0046
30IT00000022SEO optimisation/manipulation (\"key words\")I00005T0046
31IT00000043SEO optimisation/manipulation (\"key words\")I00010T0046
32IT00000071SEO optimisation/manipulation (\"key words\")I00017T0046
33IT00000085SEO optimisation/manipulation (\"key words\")I00029T0046
34IT00000103SEO optimisation/manipulation (\"key words\")I00032T0046
35IT00000125SEO optimisation/manipulation (\"key words\")I00044T0046
36IT00000140SEO optimisation/manipulation (\"key words\")I00049T0046
37IT00000149SEO optimisation/manipulation (\"key words\")I00050T0046
38IT00000161SEO optimisation/manipulation (\"key words\")I00051T0046
39IT00000172SEO optimisation/manipulation (\"key words\")I00056T0046
40IT00000183SEO optimisation/manipulation (\"key words\")I00063T0046
41IT00000006legacy web contentI00002T0058
42IT00000007hard to remove content and/or campaign/exploit...I00002T0058
43IT00000176legacy web contentI00056T0058
44IT00000008Twitter bots amplify & manipulateI00005T0054
45IT00000034Twitter bots amplify & manipulateI00007T0054
46IT00000041Twitter bots amplify & manipulateI00010T0054
47IT00000055Twitter bots amplify & manipulateI00017T0054
48IT00000076Twitter bots amplify & manipulateI00022T0054
49IT00000079Twitter bots amplify & manipulateI00029T0054
50IT00000090Twitter bots amplify & manipulateI00032T0054
51IT00000115Twitter bots amplify & manipulateI00042T0054
52IT00000118Twitter bots amplify & manipulateI00044T0054
53IT00000131Twitter bots amplify & manipulateI00047T0054
54IT00000134Twitter bots amplify & manipulateI00049T0054
55IT00000144Twitter bots amplify & manipulateI00050T0054
56IT00000154Twitter bots amplify & manipulateI00051T0054
57IT00000169Twitter bots amplify & manipulateI00056T0054
58IT00000177Twitter bots amplify & manipulateI00063T0054
59IT00000009Twitter trolls amplify & manipulateI00005T0053
60IT00000035Twitter trolls amplify & manipulateI00007T0053
61IT00000042Twitter trolls amplify & manipulateI00010T0053
62IT00000056Twitter trolls amplify & manipulateI00017T0053
63IT00000077Twitter trolls amplify & manipulateI00022T0053
64IT00000080Twitter trolls amplify & manipulateI00029T0053
65IT00000091Twitter trolls amplify & manipulateI00032T0053
66IT00000119Twitter trolls amplify & manipulateI00044T0053
67IT00000132Twitter trolls amplify & manipulateI00047T0053
68IT00000135Twitter trolls amplify & manipulateI00049T0053
69IT00000145Twitter trolls amplify & manipulateI00050T0053
70IT00000155Twitter trolls amplify & manipulateI00051T0053
71IT00000170Twitter trolls amplify & manipulateI00056T0053
72IT00000178Twitter trolls amplify & manipulateI00063T0053
73IT00000011Fake FB groups + dark contentI00005T0007
74IT00000029Fake twitter profiles to amplifyTwitter bots used to drive visbilityI00006T0007
75IT00000039FB pagesI00009T0007
76IT00000045FB pages/groups/profilesI00010T0007
77IT00000058Fake FB groups + dark contentI00017T0007
78IT00000078Fake FB groups/pages/profiles + dark contentI00022T0007
79IT00000092Fake FB groups/pages/profilesI00032T0007
80IT00000171Fake FB groups/pages/profiles + dark content (...I00056T0007
81IT00000012Digital to physical \"organize+promote\" rallies...I00005T0057
82IT00000059Digital to physical \"organize+promote\" rallies...I00017T0057
83IT00000093Digital to physical \"organize+promote\" rallies...I00032T0057
84IT00000164Events coordinated and promoted across media p...I00053T0057
85IT00000166Extend digital the physical space… gatherings ...I00053T0057
86IT00000013manipulate social media \"online polls\"?I00005T0029
87IT00000060manipulate social media \"online polls\"?I00017T0029
88IT00000016cultivate, manipulate, exploit useful idiotsI00005T0010
89IT00000033cultivate, manipulate, exploit useful idiots (...I00007T0010
90IT00000044cultivate, manipulate, exploit useful idiots (...I00010T0010
91IT00000063cultivate, manipulate, exploit useful idiotsI00017T0010
92IT00000084cultivate, manipulate, exploit useful idiotsI00029T0010
93IT00000104cultivate, manipulate, exploit useful idiots (...I00032T0010
94IT00000126cultivate, manipulate, exploit useful idiots (...I00044T0010
95IT00000139cultivate, manipulate, exploit useful idiots (...I00049T0010
96IT00000148cultivate, manipulate, exploit useful idiots (...I00050T0010
97IT00000158cultivate, manipulate, exploit useful idiotsI00051T0010
98IT00000182cultivate, manipulate, exploit useful idiotsI00063T0010
99IT00000017YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0031
100IT00000046YouTube; RedditI00010T0031
101IT00000064YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0031
102IT00000087YouTube; Reddit;I00029T0031
103IT00000096YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0031
104IT00000122YouTube; RedditI00044T0031
105IT00000142YouTube; Reddit;I00049T0031
106IT00000151YouTube; Reddit;I00050T0031
107IT00000159YouTube; RedditI00051T0031
108IT00000185YouTube; Reddit;I00063T0031
109IT00000018YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0032
110IT00000047YouTube; RedditI00010T0032
111IT00000065YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0032
112IT00000088YouTube; Reddit;I00029T0032
113IT00000097YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0032
114IT00000123YouTube; RedditI00044T0032
115IT00000143YouTube; Reddit;I00049T0032
116IT00000152YouTube; Reddit;I00050T0032
117IT00000160YouTube; RedditI00051T0032
118IT00000186YouTube; Reddit;I00063T0032
119IT00000019YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0034
120IT00000067YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0034
121IT00000099YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0034
122IT00000020YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0035
123IT00000068YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0035
124IT00000100YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0035
125IT00000021YouTube; Reddit; LinkedIn; Pinterest; WhatsApp?I00005T0036
126IT00000069YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0036
127IT00000101YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0036
128IT00000023Memes... anti-immigration; euroskepticism; fea...Meme that ISIS was responsible for a local che...I00005T0021
129IT00000072Memes... anti-immigration; euroskepticism; fea...I00017T0021
130IT00000117memesI00042T0021
131IT00000173Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0021
132IT00000024Backstop personasWikipedia fake persona \"AmandaGray91\".I00005T0030
133IT00000074Backstop personasI00017T0030
134IT00000025Use SMS/text messagesSMS messages sent to local residentsI00006T0043
135IT00000026Fake video/imagesFake youtube video of ISIS claiming responsibi...I00006T0024
136IT00000116photoshopped/fake imagesI00042T0024
137IT00000027Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0015
138IT00000028Create and use hashtagMain hashtag used was #ColumbianChemicalsI00006T0055
139IT00000030bait journalists/media/politiciansI00006T0039
140IT00000049journalist/media baitingI00010T0039
141IT00000053journalist/media baitingI00015T0039
142IT00000036Using \"expert\"I00009T0045
143IT00000040News circulated/amplifed by tertiary sites (Ru...I00009T0052
144IT00000086News circulated/amplifed by tertiary sites (Ru...I00029T0052
145IT00000141News circulated/amplifed by tertiary sites (Ru...I00049T0052
146IT00000150News circulated/amplifed by tertiary sites (Mi...I00050T0052
147IT00000184News circulated/amplifed by tertiary sites (Ru...I00063T0052
148IT000000484Chan/8Chan - trial contentI00010T0020
149IT000000704Chan/8Chan - trial contentI00017T0020
150IT000001024Chan/8Chan - trial contentI00032T0020
151IT000001244Chan/8Chan - trial contentI00044T0020
152IT00000050Forge ('release' altered hacked documents)I00015T0025
153IT00000051hack/leak/manipulate/distortI00015T0025
154IT00000054hack/leak/manipulate/distortI00017T0025
155IT00000075hack/leak/manipulate/distortI00022T0025
156IT00000153hack/leak/manipulate/distortI00051T0025
157IT00000052Circulate to media via DM, then release publiclyI00015T0044
158IT00000066YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00017T0033
159IT00000098YouTube; Reddit; (Instagram, LinkedIn; Pintere...I00032T0033
160IT00000073Click-bait (economic actors) fake news sites (...I00017T0016
161IT000000814 D's (dismiss, distort, distract, dismay...Of...I00029T0001
162IT000001284 D's (dismiss, distort, distract, dismay...Of...I00047T0001
163IT00000129Russian FSB security service blamed Ukraine fo...I00047T0001
164IT000001364 D's (dismiss, distort, distract, dismay...Of...I00049T0001
165IT00000167China also plays victim, innocence, plays by r...I00053T0001
166IT00000168Chinese ambassador Lu Shaye accused Canada of ...I00053T0001
167IT000001794 D's (dismiss, distort, distract, dismay...Of...I00063T0001
168IT00000089Demand insurmountable proofI00029T0040
169IT00000133Demand insurmountable proofI00047T0040
170IT000001052,000,000 people (est.) part of state run/spon...I00033T0049
171IT00000112flood the Facebook pages of Taiwanese politici...I00034T0049
172IT00000113Democratic Progressive Party (DPP), attracted ...I00034T0049
173IT00000106fabricated social media commentI00033T0051
174IT00000107domestic social media influence operations foc...I00033T0050
175IT00000165Extend digital the physical space… gatherings ...I00053T0050
176IT00000108cow online opinion leaders into submission, mu...I00033T0047
177IT00000109cow online opinion leaders into submission, mu...I00033T0048
178IT00000110facilitate state propaganda and defuse crisesI00033T0002
179IT00000111Netizens from one of the largest discussion fo...I00034T0002
180IT00000114“hack” of Qatar’s official news agencyI00042T0011
181IT00000127Promote fake “experts” with impressive (and sc...I00044T0009
182IT00000130(Distort) Kremlin-controlled RT cited Russian ...I00047T0023
183IT00000163Distorted, saccharine “news” about the Chinese...I00053T0023
184IT00000174Memes... anti-Isreal/USA/West, conspiracy narr...I00056T0022
185IT00000175Fake news/synthetic web-sitesI00056T0008
\n", - "
" - ], - "text/plain": [ - " disarm_id name \\\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", - "5 IT00000014 RT & Sputnik generate information pollution \n", - "6 IT00000031 RT & Sputnik generate information pollution (r... \n", - "7 IT00000037 RT & Sputnik generate information pollution \n", - "8 IT00000061 RT & Sputnik generate information pollution \n", - "9 IT00000082 RT & Sputnik generate information pollution (s... \n", - "10 IT00000094 RT & Sputnik generate information pollution \n", - "11 IT00000120 RT & Sputnik generate information pollution \n", - "12 IT00000137 RT & Sputnik generate information pollution (s... \n", - "13 IT00000146 RT & Sputnik generate information pollution (s... \n", - "14 IT00000156 RT & Sputnik generate information pollution \n", - "15 IT00000180 RT & Sputnik generate information pollution (s... \n", - "16 IT00000004 create web-site - information pollution \n", - "17 IT00000015 RT & Sputnik generate information pollution \n", - "18 IT00000032 RT & Sputnik generate information pollution (r... \n", - "19 IT00000038 RT & Sputnik generate information pollution \n", - "20 IT00000062 RT & Sputnik generate information pollution \n", - "21 IT00000083 RT & Sputnik generate information pollution (s... \n", - "22 IT00000095 RT & Sputnik generate information pollution \n", - "23 IT00000121 RT & Sputnik generate information pollution \n", - "24 IT00000138 RT & Sputnik generate information pollution (s... \n", - "25 IT00000147 RT & Sputnik generate information pollution (s... \n", - "26 IT00000157 RT & Sputnik generate information pollution \n", - "27 IT00000162 State-run media seeds foreign influence enviro... \n", - "28 IT00000181 RT & Sputnik generate information pollution (s... \n", - "29 IT00000005 SEO optimisation/manipulation (\"key words\") \n", - "30 IT00000022 SEO optimisation/manipulation (\"key words\") \n", - "31 IT00000043 SEO optimisation/manipulation (\"key words\") \n", - "32 IT00000071 SEO optimisation/manipulation (\"key words\") \n", - "33 IT00000085 SEO optimisation/manipulation (\"key words\") \n", - "34 IT00000103 SEO optimisation/manipulation (\"key words\") \n", - "35 IT00000125 SEO optimisation/manipulation (\"key words\") \n", - "36 IT00000140 SEO optimisation/manipulation (\"key words\") \n", - "37 IT00000149 SEO optimisation/manipulation (\"key words\") \n", - "38 IT00000161 SEO optimisation/manipulation (\"key words\") \n", - "39 IT00000172 SEO optimisation/manipulation (\"key words\") \n", - "40 IT00000183 SEO optimisation/manipulation (\"key words\") \n", - "41 IT00000006 legacy web content \n", - "42 IT00000007 hard to remove content and/or campaign/exploit... \n", - "43 IT00000176 legacy web content \n", - "44 IT00000008 Twitter bots amplify & manipulate \n", - "45 IT00000034 Twitter bots amplify & manipulate \n", - "46 IT00000041 Twitter bots amplify & manipulate \n", - "47 IT00000055 Twitter bots amplify & manipulate \n", - "48 IT00000076 Twitter bots amplify & manipulate \n", - "49 IT00000079 Twitter bots amplify & manipulate \n", - "50 IT00000090 Twitter bots amplify & manipulate \n", - "51 IT00000115 Twitter bots amplify & manipulate \n", - "52 IT00000118 Twitter bots amplify & manipulate \n", - "53 IT00000131 Twitter bots amplify & manipulate \n", - "54 IT00000134 Twitter bots amplify & manipulate \n", - "55 IT00000144 Twitter bots amplify & manipulate \n", - "56 IT00000154 Twitter bots amplify & manipulate \n", - "57 IT00000169 Twitter bots amplify & manipulate \n", - "58 IT00000177 Twitter bots amplify & manipulate \n", - "59 IT00000009 Twitter trolls amplify & manipulate \n", - "60 IT00000035 Twitter trolls amplify & manipulate \n", - "61 IT00000042 Twitter trolls amplify & manipulate \n", - "62 IT00000056 Twitter trolls amplify & manipulate \n", - "63 IT00000077 Twitter trolls amplify & manipulate \n", - "64 IT00000080 Twitter trolls amplify & manipulate \n", - "65 IT00000091 Twitter trolls amplify & manipulate \n", - "66 IT00000119 Twitter trolls amplify & manipulate \n", - "67 IT00000132 Twitter trolls amplify & manipulate \n", - "68 IT00000135 Twitter trolls amplify & manipulate \n", - "69 IT00000145 Twitter trolls amplify & manipulate \n", - "70 IT00000155 Twitter trolls amplify & manipulate \n", - "71 IT00000170 Twitter trolls amplify & manipulate \n", - "72 IT00000178 Twitter trolls amplify & manipulate \n", - "73 IT00000011 Fake FB groups + dark content \n", - "74 IT00000029 Fake twitter profiles to amplify \n", - "75 IT00000039 FB pages \n", - "76 IT00000045 FB pages/groups/profiles \n", - "77 IT00000058 Fake FB groups + dark content \n", - "78 IT00000078 Fake FB groups/pages/profiles + dark content \n", - "79 IT00000092 Fake FB groups/pages/profiles \n", - "80 IT00000171 Fake FB groups/pages/profiles + dark content (... \n", - "81 IT00000012 Digital to physical \"organize+promote\" rallies... \n", - "82 IT00000059 Digital to physical \"organize+promote\" rallies... \n", - "83 IT00000093 Digital to physical \"organize+promote\" rallies... \n", - "84 IT00000164 Events coordinated and promoted across media p... \n", - "85 IT00000166 Extend digital the physical space… gatherings ... \n", - "86 IT00000013 manipulate social media \"online polls\"? \n", - "87 IT00000060 manipulate social media \"online polls\"? \n", - "88 IT00000016 cultivate, manipulate, exploit useful idiots \n", - "89 IT00000033 cultivate, manipulate, exploit useful idiots (... \n", - "90 IT00000044 cultivate, manipulate, exploit useful idiots (... \n", - "91 IT00000063 cultivate, manipulate, exploit useful idiots \n", - "92 IT00000084 cultivate, manipulate, exploit useful idiots \n", - "93 IT00000104 cultivate, manipulate, exploit useful idiots (... \n", - "94 IT00000126 cultivate, manipulate, exploit useful idiots (... \n", - "95 IT00000139 cultivate, manipulate, exploit useful idiots (... \n", - "96 IT00000148 cultivate, manipulate, exploit useful idiots (... \n", - "97 IT00000158 cultivate, manipulate, exploit useful idiots \n", - "98 IT00000182 cultivate, manipulate, exploit useful idiots \n", - "99 IT00000017 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "100 IT00000046 YouTube; Reddit \n", - "101 IT00000064 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "102 IT00000087 YouTube; Reddit; \n", - "103 IT00000096 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "104 IT00000122 YouTube; Reddit \n", - "105 IT00000142 YouTube; Reddit; \n", - "106 IT00000151 YouTube; Reddit; \n", - "107 IT00000159 YouTube; Reddit \n", - "108 IT00000185 YouTube; Reddit; \n", - "109 IT00000018 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "110 IT00000047 YouTube; Reddit \n", - "111 IT00000065 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "112 IT00000088 YouTube; Reddit; \n", - "113 IT00000097 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "114 IT00000123 YouTube; Reddit \n", - "115 IT00000143 YouTube; Reddit; \n", - "116 IT00000152 YouTube; Reddit; \n", - "117 IT00000160 YouTube; Reddit \n", - "118 IT00000186 YouTube; Reddit; \n", - "119 IT00000019 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "120 IT00000067 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "121 IT00000099 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "122 IT00000020 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "123 IT00000068 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "124 IT00000100 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "125 IT00000021 YouTube; Reddit; LinkedIn; Pinterest; WhatsApp? \n", - "126 IT00000069 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "127 IT00000101 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "128 IT00000023 Memes... anti-immigration; euroskepticism; fea... \n", - "129 IT00000072 Memes... anti-immigration; euroskepticism; fea... \n", - "130 IT00000117 memes \n", - "131 IT00000173 Memes... anti-Isreal/USA/West, conspiracy narr... \n", - "132 IT00000024 Backstop personas \n", - "133 IT00000074 Backstop personas \n", - "134 IT00000025 Use SMS/text messages \n", - "135 IT00000026 Fake video/images \n", - "136 IT00000116 photoshopped/fake images \n", - "137 IT00000027 Create and use hashtag \n", - "138 IT00000028 Create and use hashtag \n", - "139 IT00000030 bait journalists/media/politicians \n", - "140 IT00000049 journalist/media baiting \n", - "141 IT00000053 journalist/media baiting \n", - "142 IT00000036 Using \"expert\" \n", - "143 IT00000040 News circulated/amplifed by tertiary sites (Ru... \n", - "144 IT00000086 News circulated/amplifed by tertiary sites (Ru... \n", - "145 IT00000141 News circulated/amplifed by tertiary sites (Ru... \n", - "146 IT00000150 News circulated/amplifed by tertiary sites (Mi... \n", - "147 IT00000184 News circulated/amplifed by tertiary sites (Ru... \n", - "148 IT00000048 4Chan/8Chan - trial content \n", - "149 IT00000070 4Chan/8Chan - trial content \n", - "150 IT00000102 4Chan/8Chan - trial content \n", - "151 IT00000124 4Chan/8Chan - trial content \n", - "152 IT00000050 Forge ('release' altered hacked documents) \n", - "153 IT00000051 hack/leak/manipulate/distort \n", - "154 IT00000054 hack/leak/manipulate/distort \n", - "155 IT00000075 hack/leak/manipulate/distort \n", - "156 IT00000153 hack/leak/manipulate/distort \n", - "157 IT00000052 Circulate to media via DM, then release publicly \n", - "158 IT00000066 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "159 IT00000098 YouTube; Reddit; (Instagram, LinkedIn; Pintere... \n", - "160 IT00000073 Click-bait (economic actors) fake news sites (... \n", - "161 IT00000081 4 D's (dismiss, distort, distract, dismay...Of... \n", - "162 IT00000128 4 D's (dismiss, distort, distract, dismay...Of... \n", - "163 IT00000129 Russian FSB security service blamed Ukraine fo... \n", - "164 IT00000136 4 D's (dismiss, distort, distract, dismay...Of... \n", - "165 IT00000167 China also plays victim, innocence, plays by r... \n", - "166 IT00000168 Chinese ambassador Lu Shaye accused Canada of ... \n", - "167 IT00000179 4 D's (dismiss, distort, distract, dismay...Of... \n", - "168 IT00000089 Demand insurmountable proof \n", - "169 IT00000133 Demand insurmountable proof \n", - "170 IT00000105 2,000,000 people (est.) part of state run/spon... \n", - "171 IT00000112 flood the Facebook pages of Taiwanese politici... \n", - "172 IT00000113 Democratic Progressive Party (DPP), attracted ... \n", - "173 IT00000106 fabricated social media comment \n", - "174 IT00000107 domestic social media influence operations foc... \n", - "175 IT00000165 Extend digital the physical space… gatherings ... \n", - "176 IT00000108 cow online opinion leaders into submission, mu... \n", - "177 IT00000109 cow online opinion leaders into submission, mu... \n", - "178 IT00000110 facilitate state propaganda and defuse crises \n", - "179 IT00000111 Netizens from one of the largest discussion fo... \n", - "180 IT00000114 “hack” of Qatar’s official news agency \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", - " summary incident_id \\\n", - "0 I00002 \n", - "1 I00005 \n", - "2 I00017 \n", - "3 I00002 \n", - "4 I00002 \n", - "5 I00005 \n", - "6 I00007 \n", - "7 I00009 \n", - "8 I00017 \n", - "9 I00029 \n", - "10 I00032 \n", - "11 I00044 \n", - "12 I00049 \n", - "13 I00050 \n", - "14 I00051 \n", - "15 I00063 \n", - "16 I00002 \n", - "17 I00005 \n", - "18 I00007 \n", - "19 I00009 \n", - "20 I00017 \n", - "21 I00029 \n", - "22 I00032 \n", - "23 I00044 \n", - "24 I00049 \n", - "25 I00050 \n", - "26 I00051 \n", - "27 I00053 \n", - "28 I00063 \n", - "29 I00002 \n", - "30 I00005 \n", - "31 I00010 \n", - "32 I00017 \n", - "33 I00029 \n", - "34 I00032 \n", - "35 I00044 \n", - "36 I00049 \n", - "37 I00050 \n", - "38 I00051 \n", - "39 I00056 \n", - "40 I00063 \n", - "41 I00002 \n", - "42 I00002 \n", - "43 I00056 \n", - "44 I00005 \n", - "45 I00007 \n", - "46 I00010 \n", - "47 I00017 \n", - "48 I00022 \n", - "49 I00029 \n", - "50 I00032 \n", - "51 I00042 \n", - "52 I00044 \n", - "53 I00047 \n", - "54 I00049 \n", - "55 I00050 \n", - "56 I00051 \n", - "57 I00056 \n", - "58 I00063 \n", - "59 I00005 \n", - "60 I00007 \n", - "61 I00010 \n", - "62 I00017 \n", - "63 I00022 \n", - "64 I00029 \n", - "65 I00032 \n", - "66 I00044 \n", - "67 I00047 \n", - "68 I00049 \n", - "69 I00050 \n", - "70 I00051 \n", - "71 I00056 \n", - "72 I00063 \n", - "73 I00005 \n", - "74 Twitter bots used to drive visbility I00006 \n", - "75 I00009 \n", - "76 I00010 \n", - "77 I00017 \n", - "78 I00022 \n", - "79 I00032 \n", - "80 I00056 \n", - "81 I00005 \n", - "82 I00017 \n", - "83 I00032 \n", - "84 I00053 \n", - "85 I00053 \n", - "86 I00005 \n", - "87 I00017 \n", - "88 I00005 \n", - "89 I00007 \n", - "90 I00010 \n", - "91 I00017 \n", - "92 I00029 \n", - "93 I00032 \n", - "94 I00044 \n", - "95 I00049 \n", - "96 I00050 \n", - "97 I00051 \n", - "98 I00063 \n", - "99 I00005 \n", - "100 I00010 \n", - "101 I00017 \n", - "102 I00029 \n", - "103 I00032 \n", - "104 I00044 \n", - "105 I00049 \n", - "106 I00050 \n", - "107 I00051 \n", - "108 I00063 \n", - "109 I00005 \n", - "110 I00010 \n", - "111 I00017 \n", - "112 I00029 \n", - "113 I00032 \n", - "114 I00044 \n", - "115 I00049 \n", - "116 I00050 \n", - "117 I00051 \n", - "118 I00063 \n", - "119 I00005 \n", - "120 I00017 \n", - "121 I00032 \n", - "122 I00005 \n", - "123 I00017 \n", - "124 I00032 \n", - "125 I00005 \n", - "126 I00017 \n", - "127 I00032 \n", - "128 Meme that ISIS was responsible for a local che... I00005 \n", - "129 I00017 \n", - "130 I00042 \n", - "131 I00056 \n", - "132 Wikipedia fake persona \"AmandaGray91\". I00005 \n", - "133 I00017 \n", - "134 SMS messages sent to local residents I00006 \n", - "135 Fake youtube video of ISIS claiming responsibi... I00006 \n", - "136 I00042 \n", - "137 Main hashtag used was #ColumbianChemicals I00006 \n", - "138 Main hashtag used was #ColumbianChemicals I00006 \n", - "139 I00006 \n", - "140 I00010 \n", - "141 I00015 \n", - "142 I00009 \n", - "143 I00009 \n", - "144 I00029 \n", - "145 I00049 \n", - "146 I00050 \n", - "147 I00063 \n", - "148 I00010 \n", - "149 I00017 \n", - "150 I00032 \n", - "151 I00044 \n", - "152 I00015 \n", - "153 I00015 \n", - "154 I00017 \n", - "155 I00022 \n", - "156 I00051 \n", - "157 I00015 \n", - "158 I00017 \n", - "159 I00032 \n", - "160 I00017 \n", - "161 I00029 \n", - "162 I00047 \n", - "163 I00047 \n", - "164 I00049 \n", - "165 I00053 \n", - "166 I00053 \n", - "167 I00063 \n", - "168 I00029 \n", - "169 I00047 \n", - "170 I00033 \n", - "171 I00034 \n", - "172 I00034 \n", - "173 I00033 \n", - "174 I00033 \n", - "175 I00053 \n", - "176 I00033 \n", - "177 I00033 \n", - "178 I00033 \n", - "179 I00034 \n", - "180 I00042 \n", - "181 I00044 \n", - "182 I00047 \n", - "183 I00053 \n", - "184 I00056 \n", - "185 I00056 \n", - "\n", - " technique_id \n", - "0 T0018 \n", - "1 T0018 \n", - "2 T0018 \n", - "3 T0017 \n", - "4 T0019 \n", - "5 T0019 \n", - "6 T0019 \n", - "7 T0019 \n", - "8 T0019 \n", - "9 T0019 \n", - "10 T0019 \n", - "11 T0019 \n", - "12 T0019 \n", - "13 T0019 \n", - "14 T0019 \n", - "15 T0019 \n", - "16 T0056 \n", - "17 T0056 \n", - "18 T0056 \n", - "19 T0056 \n", - "20 T0056 \n", - "21 T0056 \n", - "22 T0056 \n", - "23 T0056 \n", - "24 T0056 \n", - "25 T0056 \n", - "26 T0056 \n", - "27 T0056 \n", - "28 T0056 \n", - "29 T0046 \n", - "30 T0046 \n", - "31 T0046 \n", - "32 T0046 \n", - "33 T0046 \n", - "34 T0046 \n", - "35 T0046 \n", - "36 T0046 \n", - "37 T0046 \n", - "38 T0046 \n", - "39 T0046 \n", - "40 T0046 \n", - "41 T0058 \n", - "42 T0058 \n", - "43 T0058 \n", - "44 T0054 \n", - "45 T0054 \n", - "46 T0054 \n", - "47 T0054 \n", - "48 T0054 \n", - "49 T0054 \n", - "50 T0054 \n", - "51 T0054 \n", - "52 T0054 \n", - "53 T0054 \n", - "54 T0054 \n", - "55 T0054 \n", - "56 T0054 \n", - "57 T0054 \n", - "58 T0054 \n", - "59 T0053 \n", - "60 T0053 \n", - "61 T0053 \n", - "62 T0053 \n", - "63 T0053 \n", - "64 T0053 \n", - "65 T0053 \n", - "66 T0053 \n", - "67 T0053 \n", - "68 T0053 \n", - "69 T0053 \n", - "70 T0053 \n", - "71 T0053 \n", - "72 T0053 \n", - "73 T0007 \n", - "74 T0007 \n", - "75 T0007 \n", - "76 T0007 \n", - "77 T0007 \n", - "78 T0007 \n", - "79 T0007 \n", - "80 T0007 \n", - "81 T0057 \n", - "82 T0057 \n", - "83 T0057 \n", - "84 T0057 \n", - "85 T0057 \n", - "86 T0029 \n", - "87 T0029 \n", - "88 T0010 \n", - "89 T0010 \n", - "90 T0010 \n", - "91 T0010 \n", - "92 T0010 \n", - "93 T0010 \n", - "94 T0010 \n", - "95 T0010 \n", - "96 T0010 \n", - "97 T0010 \n", - "98 T0010 \n", - "99 T0031 \n", - "100 T0031 \n", - "101 T0031 \n", - "102 T0031 \n", - "103 T0031 \n", - "104 T0031 \n", - "105 T0031 \n", - "106 T0031 \n", - "107 T0031 \n", - "108 T0031 \n", - "109 T0032 \n", - "110 T0032 \n", - "111 T0032 \n", - "112 T0032 \n", - "113 T0032 \n", - "114 T0032 \n", - "115 T0032 \n", - "116 T0032 \n", - "117 T0032 \n", - "118 T0032 \n", - "119 T0034 \n", - "120 T0034 \n", - "121 T0034 \n", - "122 T0035 \n", - "123 T0035 \n", - "124 T0035 \n", - "125 T0036 \n", - "126 T0036 \n", - "127 T0036 \n", - "128 T0021 \n", - "129 T0021 \n", - "130 T0021 \n", - "131 T0021 \n", - "132 T0030 \n", - "133 T0030 \n", - "134 T0043 \n", - "135 T0024 \n", - "136 T0024 \n", - "137 T0015 \n", - "138 T0055 \n", - "139 T0039 \n", - "140 T0039 \n", - "141 T0039 \n", - "142 T0045 \n", - "143 T0052 \n", - "144 T0052 \n", - "145 T0052 \n", - "146 T0052 \n", - "147 T0052 \n", - "148 T0020 \n", - "149 T0020 \n", - "150 T0020 \n", - "151 T0020 \n", - "152 T0025 \n", - "153 T0025 \n", - "154 T0025 \n", - "155 T0025 \n", - "156 T0025 \n", - "157 T0044 \n", - "158 T0033 \n", - "159 T0033 \n", - "160 T0016 \n", - "161 T0001 \n", - "162 T0001 \n", - "163 T0001 \n", - "164 T0001 \n", - "165 T0001 \n", - "166 T0001 \n", - "167 T0001 \n", - "168 T0040 \n", - "169 T0040 \n", - "170 T0049 \n", - "171 T0049 \n", - "172 T0049 \n", - "173 T0051 \n", - "174 T0050 \n", - "175 T0050 \n", - "176 T0047 \n", - "177 T0048 \n", - "178 T0002 \n", - "179 T0002 \n", - "180 T0011 \n", - "181 T0009 \n", - "182 T0023 \n", - "183 T0023 \n", - "184 T0022 \n", - "185 T0008 " - ] - }, - "execution_count": 3, - "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": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "incident 44\n", - "campaign 16\n", - "apt 2\n", - "tactic 1\n", - "Name: objecttype, dtype: int64" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii = vars(disarm)['df_incidents']\n", - "dii['objecttype'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnameobjecttypesummaryyear_startedattributions_seenfound_in_countryurlsnoteswhen_addedfound_vialongname
30I00031antivaxapt2018RussiaWorldhttps://ajph.aphapublications.org/doi/pdf/10.2...2019-02-24OIII00031 - antivax
32I00033China 50cent Armyapt50cent Army is a CCP “tool” - “massive secret ...2014ChinaChinahttps://gking.harvard.edu/files/gking/files/ho...campaign (multiple incidents, e.g. Shanshan ri...2019-02-24OIII00033 - China 50cent Army
\n", - "
" - ], - "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": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii[dii['objecttype'] == 'apt']" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
disarm_idnamename_DEtactic_idsummarysummary_DElongname
0T00015Ds (dismiss, distort, distract, dismay, divide)TA01Nimmo's \"4Ds of propaganda\": dismiss, distort,...T0001 - 5Ds (dismiss, distort, distract, disma...
1T0002Facilitate State PropagandaTA01Organize citizens around pro-state messaging. ...T0002 - Facilitate State Propaganda
2T0003Leverage Existing NarrativesTA01Use or adapt existing narrative themes, where ...T0003 - Leverage Existing Narratives
3T0004Competing NarrativesTA01Advance competing narratives connected to same...T0004 - Competing Narratives
4T0005Center of Gravity AnalysisTA02Recon/research to identify \"the source of powe...T0005 - Center of Gravity Analysis
5T0006Create Master NarrativesTA02The promotion of beneficial master narratives ...T0006 - Create Master Narratives
6T0007Create fake Social Media Profiles / Pages / Gr...TA03Create key social engineering assets needed to...T0007 - Create fake Social Media Profiles / Pa...
7T0008Create fake or imposter news sitesTA03Modern computational propaganda makes use of a...T0008 - Create fake or imposter news sites
8T0009Create fake expertsTA03Stories planted or promoted in computational p...T0009 - Create fake experts
9T0010Cultivate ignorant agentsTA04Cultivate propagandists for a cause, the goals...T0010 - Cultivate ignorant agents
10T0011Hijack legitimate accountTA04Hack or take over legimate accounts to distrib...T0011 - Hijack legitimate account
11T0012Use concealmentTA04Use anonymous social media profiles. Examples ...T0012 - Use concealment
12T0013Create fake websitesTA04Create media assets to support fake organizati...T0013 - Create fake websites
13T0014Create funding campaignsTA04Generate revenue through online funding campai...T0014 - Create funding campaigns
14T0015Create hashtagTA04Many incident-based campaigns will create a ha...T0015 - Create hashtag
15T0016ClickbaitTA05Create attention grabbing headlines (outrage, ...T0016 - Clickbait
16T0017Promote online fundingTA05Drive traffic/engagement to funding campaign s...T0017 - Promote online funding
17T0018Paid targeted adsTA05Create or fund advertisements targeted at spec...T0018 - Paid targeted ads
18T0019Generate information pollutionTA06Flood social channels; drive traffic/engagemen...T0019 - Generate information pollution
19T0020Trial contentTA06Iteratively test incident performance (message...T0020 - Trial content
20T0021MemesTA06Memes are one of the most important single art...T0021 - Memes
21T0022Conspiracy narrativesTA06\"Conspiracy narratives appeal to the human des...T0022 - Conspiracy narratives
22T0023Distort factsTA06Change, twist, or exaggerate existing facts to...T0023 - Distort facts
23T0024Create fake videos and imagesTA06Create fake videos and/or images by manipulati...T0024 - Create fake videos and images
24T0025Leak altered documentsTA06Obtain documents (eg by theft or leak), then a...T0025 - Leak altered documents
25T0026Create fake researchTA06Create fake academic research. Example: fake s...T0026 - Create fake research
26T0027Adapt existing narrativesTA06Adapting existing narratives to current operat...T0027 - Adapt existing narratives
27T0028Create competing narrativesTA06Misinformation promotes an agenda by advancing...T0028 - Create competing narratives
28T0029Manipulate online pollsTA07Create fake online polls, or manipulate existi...T0029 - Manipulate online polls
29T0030Backstop personasTA07Create other assets/dossier/cover/fake relatio...T0030 - Backstop personas
30T0031YouTubeTA07Use YouTube as a narrative dissemination channelT0031 - YouTube
31T0032RedditTA07Use Reddit as a narrative dissemination channelT0032 - Reddit
32T0033InstagramTA07Use Instagram as a narrative dissemination cha...T0033 - Instagram
33T0034LinkedInTA07Use LinkedIn as a narrative dissemination channelT0034 - LinkedIn
34T0035PinterestTA07Use Pinterest as a narrative dissemination cha...T0035 - Pinterest
35T0036WhatsAppTA07Use WhatsApp as a narrative dissemination channelT0036 - WhatsApp
36T0037FacebookTA07Use Facebook as a narrative dissemination channelT0037 - Facebook
37T0038TwitterTA07Use Twitter as a narrative dissemination channelT0038 - Twitter
38T0039Bait legitimate influencersTA08Credibility in a social media environment is o...T0039 - Bait legitimate influencers
39T0040Demand unsurmountable proofTA08Campaigns often leverage tactical and informat...T0040 - Demand unsurmountable proof
40T0041Deny involvementTA08Without \"smoking gun\" proof (and even with pro...T0041 - Deny involvement
41T0042Kernel of TruthTA08Wrap lies or altered context/facts around trut...T0042 - Kernel of Truth
42T0043Use SMS/ WhatsApp/ Chat appsTA08Direct messaging via encypted app is an increa...T0043 - Use SMS/ WhatsApp/ Chat apps
43T0044Seed distortionsTA08Try a wide variety of messages in the early ho...T0044 - Seed distortions
44T0045Use fake expertsTA08Use the fake experts that were set up in T0009...T0045 - Use fake experts
45T0046Search Engine OptimizationTA08Manipulate content engagement metrics (ie: Red...T0046 - Search Engine Optimization
46T0047Muzzle social media as a political forceTA09Use political influence or the power of state ...T0047 - Muzzle social media as a political force
47T0048Cow online opinion leadersTA09Intimidate, coerce, threaten critics/dissident...T0048 - Cow online opinion leaders
48T0049FloodingTA09Flooding and/or mobbing social media channels ...T0049 - Flooding
49T0050Cheerleading domestic social media opsTA09Deploy state-coordinated social media commente...T0050 - Cheerleading domestic social media ops
50T0051Fabricate social media commentTA09Use government-paid social media commenters, a...T0051 - Fabricate social media comment
51T0052Tertiary sites amplify newsTA09Create content/news/opinion web-sites to cross...T0052 - Tertiary sites amplify news
52T0053Twitter trolls amplify and manipulateTA09Use trolls to amplify narratives and/or manipu...T0053 - Twitter trolls amplify and manipulate
53T0054Twitter bots amplifyTA09Use bots to amplify narratives above algorithm...T0054 - Twitter bots amplify
54T0055Use hashtagTA09Use a dedicated hashtag for the incident - eit...T0055 - Use hashtag
55T0056Dedicated channels disseminate information pol...TA09Output information pollution (e.g. articles on...T0056 - Dedicated channels disseminate informa...
56T0057Organise remote rallies and eventsTA10Coordinate and promote real-world events acros...T0057 - Organise remote rallies and events
57T0058Legacy web contentTA11Make incident content visible for a long time,...T0058 - Legacy web content
58T0059Play the long gameTA11Play the long game can mean a couple of things...T0059 - Play the long game
59T0060Continue to amplifyTA11continue narrative or message amplification af...T0060 - Continue to amplify
60T0061Sell merchandisingTA10Sell hats, t-shirts, flags and other branded c...T0061 - Sell merchandising
61T0062Behaviour changesTA12Monitor and evaluate behaviour changes from mi...T0062 - Behaviour changes
62T0063Message reachTA12Monitor and evaluate message reach in misinfor...T0063 - Message reach
63T0064Social media engagementTA12Monitor and evaluate social media engagement i...T0064 - Social media engagement
\n", - "
" - ], - "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 Competing Narratives \n", - "4 T0005 Center of Gravity Analysis \n", - "5 T0006 Create Master Narratives \n", - "6 T0007 Create fake Social Media Profiles / Pages / Gr... \n", - "7 T0008 Create fake or imposter news sites \n", - "8 T0009 Create fake experts \n", - "9 T0010 Cultivate ignorant agents \n", - "10 T0011 Hijack legitimate account \n", - "11 T0012 Use concealment \n", - "12 T0013 Create fake websites \n", - "13 T0014 Create funding campaigns \n", - "14 T0015 Create hashtag \n", - "15 T0016 Clickbait \n", - "16 T0017 Promote online funding \n", - "17 T0018 Paid targeted ads \n", - "18 T0019 Generate information pollution \n", - "19 T0020 Trial content \n", - "20 T0021 Memes \n", - "21 T0022 Conspiracy narratives \n", - "22 T0023 Distort facts \n", - "23 T0024 Create fake videos and images \n", - "24 T0025 Leak altered documents \n", - "25 T0026 Create fake research \n", - "26 T0027 Adapt existing narratives \n", - "27 T0028 Create competing narratives \n", - "28 T0029 Manipulate online polls \n", - "29 T0030 Backstop personas \n", - "30 T0031 YouTube \n", - "31 T0032 Reddit \n", - "32 T0033 Instagram \n", - "33 T0034 LinkedIn \n", - "34 T0035 Pinterest \n", - "35 T0036 WhatsApp \n", - "36 T0037 Facebook \n", - "37 T0038 Twitter \n", - "38 T0039 Bait legitimate influencers \n", - "39 T0040 Demand unsurmountable proof \n", - "40 T0041 Deny involvement \n", - "41 T0042 Kernel of Truth \n", - "42 T0043 Use SMS/ WhatsApp/ Chat apps \n", - "43 T0044 Seed distortions \n", - "44 T0045 Use fake experts \n", - "45 T0046 Search Engine Optimization \n", - "46 T0047 Muzzle social media as a political force \n", - "47 T0048 Cow online opinion leaders \n", - "48 T0049 Flooding \n", - "49 T0050 Cheerleading domestic social media ops \n", - "50 T0051 Fabricate social media comment \n", - "51 T0052 Tertiary sites amplify news \n", - "52 T0053 Twitter trolls amplify and manipulate \n", - "53 T0054 Twitter bots amplify \n", - "54 T0055 Use hashtag \n", - "55 T0056 Dedicated channels disseminate information pol... \n", - "56 T0057 Organise remote rallies and events \n", - "57 T0058 Legacy web content \n", - "58 T0059 Play the long game \n", - "59 T0060 Continue to amplify \n", - "60 T0061 Sell merchandising \n", - "61 T0062 Behaviour changes \n", - "62 T0063 Message reach \n", - "63 T0064 Social media engagement \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 Recon/research to identify \"the source of powe... \n", - "5 TA02 The promotion of beneficial master narratives ... \n", - "6 TA03 Create key social engineering assets needed to... \n", - "7 TA03 Modern computational propaganda makes use of a... \n", - "8 TA03 Stories planted or promoted in computational p... \n", - "9 TA04 Cultivate propagandists for a cause, the goals... \n", - "10 TA04 Hack or take over legimate accounts to distrib... \n", - "11 TA04 Use anonymous social media profiles. Examples ... \n", - "12 TA04 Create media assets to support fake organizati... \n", - "13 TA04 Generate revenue through online funding campai... \n", - "14 TA04 Many incident-based campaigns will create a ha... \n", - "15 TA05 Create attention grabbing headlines (outrage, ... \n", - "16 TA05 Drive traffic/engagement to funding campaign s... \n", - "17 TA05 Create or fund advertisements targeted at spec... \n", - "18 TA06 Flood social channels; drive traffic/engagemen... \n", - "19 TA06 Iteratively test incident performance (message... \n", - "20 TA06 Memes are one of the most important single art... \n", - "21 TA06 \"Conspiracy narratives appeal to the human des... \n", - "22 TA06 Change, twist, or exaggerate existing facts to... \n", - "23 TA06 Create fake videos and/or images by manipulati... \n", - "24 TA06 Obtain documents (eg by theft or leak), then a... \n", - "25 TA06 Create fake academic research. Example: fake s... \n", - "26 TA06 Adapting existing narratives to current operat... \n", - "27 TA06 Misinformation promotes an agenda by advancing... \n", - "28 TA07 Create fake online polls, or manipulate existi... \n", - "29 TA07 Create other assets/dossier/cover/fake relatio... \n", - "30 TA07 Use YouTube as a narrative dissemination channel \n", - "31 TA07 Use Reddit as a narrative dissemination channel \n", - "32 TA07 Use Instagram as a narrative dissemination cha... \n", - "33 TA07 Use LinkedIn as a narrative dissemination channel \n", - "34 TA07 Use Pinterest as a narrative dissemination cha... \n", - "35 TA07 Use WhatsApp as a narrative dissemination channel \n", - "36 TA07 Use Facebook as a narrative dissemination channel \n", - "37 TA07 Use Twitter as a narrative dissemination channel \n", - "38 TA08 Credibility in a social media environment is o... \n", - "39 TA08 Campaigns often leverage tactical and informat... \n", - "40 TA08 Without \"smoking gun\" proof (and even with pro... \n", - "41 TA08 Wrap lies or altered context/facts around trut... \n", - "42 TA08 Direct messaging via encypted app is an increa... \n", - "43 TA08 Try a wide variety of messages in the early ho... \n", - "44 TA08 Use the fake experts that were set up in T0009... \n", - "45 TA08 Manipulate content engagement metrics (ie: Red... \n", - "46 TA09 Use political influence or the power of state ... \n", - "47 TA09 Intimidate, coerce, threaten critics/dissident... \n", - "48 TA09 Flooding and/or mobbing social media channels ... \n", - "49 TA09 Deploy state-coordinated social media commente... \n", - "50 TA09 Use government-paid social media commenters, a... \n", - "51 TA09 Create content/news/opinion web-sites to cross... \n", - "52 TA09 Use trolls to amplify narratives and/or manipu... \n", - "53 TA09 Use bots to amplify narratives above algorithm... \n", - "54 TA09 Use a dedicated hashtag for the incident - eit... \n", - "55 TA09 Output information pollution (e.g. articles on... \n", - "56 TA10 Coordinate and promote real-world events acros... \n", - "57 TA11 Make incident content visible for a long time,... \n", - "58 TA11 Play the long game can mean a couple of things... \n", - "59 TA11 continue narrative or message amplification af... \n", - "60 TA10 Sell hats, t-shirts, flags and other branded c... \n", - "61 TA12 Monitor and evaluate behaviour changes from mi... \n", - "62 TA12 Monitor and evaluate message reach in misinfor... \n", - "63 TA12 Monitor and evaluate social media engagement 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 - Competing Narratives \n", - "4 T0005 - Center of Gravity Analysis \n", - "5 T0006 - Create Master Narratives \n", - "6 T0007 - Create fake Social Media Profiles / Pa... \n", - "7 T0008 - Create fake or imposter news sites \n", - "8 T0009 - Create fake experts \n", - "9 T0010 - Cultivate ignorant agents \n", - "10 T0011 - Hijack legitimate account \n", - "11 T0012 - Use concealment \n", - "12 T0013 - Create fake websites \n", - "13 T0014 - Create funding campaigns \n", - "14 T0015 - Create hashtag \n", - "15 T0016 - Clickbait \n", - "16 T0017 - Promote online funding \n", - "17 T0018 - Paid targeted ads \n", - "18 T0019 - Generate information pollution \n", - "19 T0020 - Trial content \n", - "20 T0021 - Memes \n", - "21 T0022 - Conspiracy narratives \n", - "22 T0023 - Distort facts \n", - "23 T0024 - Create fake videos and images \n", - "24 T0025 - Leak altered documents \n", - "25 T0026 - Create fake research \n", - "26 T0027 - Adapt existing narratives \n", - "27 T0028 - Create competing narratives \n", - "28 T0029 - Manipulate online polls \n", - "29 T0030 - Backstop personas \n", - "30 T0031 - YouTube \n", - "31 T0032 - Reddit \n", - "32 T0033 - Instagram \n", - "33 T0034 - LinkedIn \n", - "34 T0035 - Pinterest \n", - "35 T0036 - WhatsApp \n", - "36 T0037 - Facebook \n", - "37 T0038 - Twitter \n", - "38 T0039 - Bait legitimate influencers \n", - "39 T0040 - Demand unsurmountable proof \n", - "40 T0041 - Deny involvement \n", - "41 T0042 - Kernel of Truth \n", - "42 T0043 - Use SMS/ WhatsApp/ Chat apps \n", - "43 T0044 - Seed distortions \n", - "44 T0045 - Use fake experts \n", - "45 T0046 - Search Engine Optimization \n", - "46 T0047 - Muzzle social media as a political force \n", - "47 T0048 - Cow online opinion leaders \n", - "48 T0049 - Flooding \n", - "49 T0050 - Cheerleading domestic social media ops \n", - "50 T0051 - Fabricate social media comment \n", - "51 T0052 - Tertiary sites amplify news \n", - "52 T0053 - Twitter trolls amplify and manipulate \n", - "53 T0054 - Twitter bots amplify \n", - "54 T0055 - Use hashtag \n", - "55 T0056 - Dedicated channels disseminate informa... \n", - "56 T0057 - Organise remote rallies and events \n", - "57 T0058 - Legacy web content \n", - "58 T0059 - Play the long game \n", - "59 T0060 - Continue to amplify \n", - "60 T0061 - Sell merchandising \n", - "61 T0062 - Behaviour changes \n", - "62 T0063 - Message reach \n", - "63 T0064 - Social media engagement " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dii = vars(disarm)['df_techniques']\n", - "dii" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": true - }, - "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", - " ['T0001',\n", - " 'T0005',\n", - " 'T0007',\n", - " 'T0010',\n", - " 'T0016',\n", - " 'T0019',\n", - " 'T0029',\n", - " 'T0039',\n", - " 'T0047',\n", - " 'T0057',\n", - " 'T0058',\n", - " 'T0062'],\n", - " ['T0002',\n", - " 'T0006',\n", - " 'T0008',\n", - " 'T0011',\n", - " 'T0017',\n", - " 'T0020',\n", - " 'T0030',\n", - " 'T0040',\n", - " 'T0048',\n", - " 'T0061',\n", - " 'T0059',\n", - " 'T0063'],\n", - " ['T0003',\n", - " '',\n", - " 'T0009',\n", - " 'T0012',\n", - " 'T0018',\n", - " 'T0021',\n", - " 'T0031',\n", - " 'T0041',\n", - " 'T0049',\n", - " '',\n", - " 'T0060',\n", - " 'T0064'],\n", - " ['T0004',\n", - " '',\n", - " '',\n", - " 'T0013',\n", - " '',\n", - " 'T0022',\n", - " 'T0032',\n", - " 'T0042',\n", - " 'T0050',\n", - " '',\n", - " '',\n", - " ''],\n", - " ['', '', '', 'T0014', '', 'T0023', 'T0033', 'T0043', 'T0051', '', '', ''],\n", - " ['', '', '', 'T0015', '', 'T0024', 'T0034', 'T0044', 'T0052', '', '', ''],\n", - " ['', '', '', '', '', 'T0025', 'T0035', 'T0045', 'T0053', '', '', ''],\n", - " ['', '', '', '', '', 'T0026', 'T0036', 'T0046', 'T0054', '', '', ''],\n", - " ['', '', '', '', '', 'T0027', 'T0037', '', 'T0055', '', '', ''],\n", - " ['', '', '', '', '', 'T0028', 'T0038', '', 'T0056', '', '', '']]" - ] - }, - "execution_count": 7, - "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": 8, - "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": 8, - "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": [] - }, - { - "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 -} diff --git a/CODE/generate_disarm_sql.py b/CODE/generate_disarm_sql.py new file mode 100644 index 0000000..5abbf5a --- /dev/null +++ b/CODE/generate_disarm_sql.py @@ -0,0 +1,147 @@ +''' Generate DISARM sql databases + +# Author: SJ Terp, Twitter @bodaceacat +# License: GPL-3 + +''' + +import pandas as pd +import sqlite3 as sql +import os +from sqlalchemy import create_engine +from generate_DISARM_pages import Disarm + + + +def generate_disarm_sql(dbasetype='sqlite'): + ''' Generate SQL + Expected database types include + 'sqlite': used to export database to other apps + 'postgresql_local': used in local instances of the DISARM explorer + 'heroku': used in Heroku-based instances of the DISARM explorer, although current + practice at DISARM is to post a dump of the postgresql database to it instead. + ''' + + # Generate DISARM datasets + disarm = Disarm() + + + # Create connection to database + if dbasetype == 'sqlite': + # Generate minimal sqlite database from the variables + conn = sql.connect('../generated_files/DISARM_database.sqlite') + elif dbasetype == 'postgresql_local': + conn = create_engine('postgresql://sara:@localhost:5432/disarmsite') + + + # Add table to database + def add_table(dataframe, tablename, columns): + # Create sql-appropriate table from dataframe + colnames = ', '.join(['{} TEXT NOT NULL'.format(col) for col in columns]) + newtable = dataframe[columns].copy().applymap(str) + newtable['id'] = range(1,len(newtable)+1) + + # send to database + if dbasetype == 'sqlite': + conn.execute("DROP TABLE IF EXISTS {}".format(tablename)) + conn.execute('''CREATE TABLE {} (id INTEGER PRIMARY KEY AUTOINCREMENT, {});'''.format(tablename, colnames)) + newtable.to_sql(tablename, conn, index=False, if_exists='append') + conn.commit() + elif dbasetype == 'postgresql_local': + newtable.to_sql(tablename, conn, index=False, if_exists='replace') + return newtable + + + # Build a cross-table + def object_tactics_techniques(objectcol, objecttable, crosstable): + # objects to techniques + ctech = crosstable.copy() + ctech = ctech[(ctech['technique_id'] != '') & (~ctech['technique_id'].str.startswith('TA'))] + ctech.rename(columns={'disarm_id':objectcol}, inplace=True) + ctech['summary'] = 'N/A' + + # objects to tactics + ctact = crosstable[crosstable['technique_id'].str.startswith('TA')].copy() + ctact.rename(columns={'disarm_id':objectcol, 'technique_id': 'tactic_id'}, inplace=True) + ctact['main_tactic'] = 'N' + ctactmain = objecttable[['disarm_id', 'tactic_id']].copy() + ctactmain.rename(columns={'disarm_id':objectcol}, inplace=True) + ctactmain['main_tactic'] = 'Y' + ctact = pd.concat([ctact, ctactmain], ignore_index=True, sort=False) + ctact['summary'] = 'N/A' + return(ctech, ctact) + + #Load all the tables - Heroku needs them in correct order... + + # -- frameworks -- + + #newtable = add_table(disarm.df_actortypes, 'actor_type', ['disarm_id', 'sector_id', 'framework_id', 'name', 'summary']) + newtable = add_table(disarm.df_counters, 'counter', ['disarm_id', 'tactic_id', 'metatechnique_id', 'name', 'summary']) + newtable = add_table(disarm.df_detections, 'detection', ['disarm_id', 'tactic_id', 'name', 'summary']) + newtable = add_table(disarm.df_frameworks, 'framework', ['disarm_id', 'name', 'summary']) + newtable = add_table(disarm.df_metatechniques, 'metatechnique', ['disarm_id', 'name', 'summary']) + newtable = add_table(disarm.df_phases, 'phase', ['disarm_id', 'name', 'rank', 'summary']) + newtable = add_table(disarm.df_playbooks, 'playbook', ['disarm_id', 'object_id', 'name', 'summary']) + newtable = add_table(disarm.df_resources, 'resource', ['disarm_id', 'name', 'summary', 'resource_type']) + newtable = add_table(disarm.df_responsetypes, 'responsetype', ['disarm_id', 'name', 'summary']) + #newtable = add_table(disarm.df_sector, 'sector', ['disarm_id', 'name', 'summary']) + newtable = add_table(disarm.df_tactics, 'tactic', ['disarm_id', 'phase_id', 'name', 'rank', 'summary']) + newtable = add_table(disarm.df_tasks, 'task', ['disarm_id', 'tactic_id', 'framework_id', 'name', 'summary']) + newtable = add_table(disarm.df_techniques, 'technique', ['disarm_id', 'tactic_id', 'name', 'summary']) + + (ctech, ctact) = object_tactics_techniques('counter_id', disarm.df_counters, disarm.cross_counterid_techniqueid) + newtable = add_table(ctech, 'counter_technique', ['counter_id', 'technique_id', 'summary']) + newtable = add_table(ctact, 'counter_tactic', ['counter_id', 'tactic_id', 'main_tactic', 'summary']) + + (dtech, dtact) = object_tactics_techniques('detection_id', disarm.df_detections, disarm.cross_detectionid_techniqueid) + newtable = add_table(dtech, 'detection_technique', ['detection_id', 'technique_id', 'summary']) + newtable = add_table(dtact, 'detection_tactic', ['detection_id', 'tactic_id', 'main_tactic', 'summary']) + + # -- datasets -- + + newtable = add_table(disarm.df_examples, 'example', ['disarm_id', 'object_id', 'name', 'summary']) + + # dataset + # reference - create this from other tables. + # Also need incidentcounter etc - create from data + newtable = add_table(disarm.df_externalgroups, 'externalgroup', ['disarm_id', 'name', 'url', 'summary', + 'sector', 'primary_role', 'secondary_role', + 'primary_subject', 'secondary_subject', + 'volunteers', 'region', 'country', + 'twitter_handle']) + newtable = add_table(disarm.df_incidents, 'incident', ['disarm_id', 'name', 'summary', + 'year_started', 'attributions_seen', + 'found_in_country', 'objecttype']) + newtable = add_table(disarm.df_tools, 'tool', ['disarm_id', 'name', 'summary', + 'externalgroup', 'url', 'category', + 'disinformation_use', 'cogseccollab_use', + 'function', 'code_url', 'artifacts', + 'automation', 'platform', 'accessibility']) + # incidenttechnique crosstable + it = vars(disarm)['it'][['disarm_id', 'name', 'summary', 'disarm_id_incident', 'disarm_id_technique']].copy() + it.rename(columns={'disarm_id_incident':'incident_id', 'disarm_id_technique': 'technique_id'}, inplace=True) + newtable = add_table(it, 'incident_technique', ['disarm_id', 'name', 'summary', + 'incident_id', 'technique_id']) + + # Load in users table, and close connection + if dbasetype == 'sqlite': + conn.execute("DROP TABLE IF EXISTS {}".format('users')) + conn.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL UNIQUE, password TEXT NOT NULL);''') + conn.close() + else: + dfusers = pd.DataFrame([['test','testing']], columns=['username', 'password']) + usertable = add_table(dfusers, 'users', ['username', 'password']) + + return + + + +''' main, if we need it +''' +def main(): + generate_disarm_sql() + + +if __name__ == "__main__": + main() + diff --git a/DISARM_MASTER_DATA/DISARM_FRAMEWORKS_MASTER.xlsx b/DISARM_MASTER_DATA/DISARM_FRAMEWORKS_MASTER.xlsx index 9944b0df7bf90e7f32183211ea604fe27e83df6d..379c2ccd828c29e316da7406e004563fcfdcd1bc 100644 GIT binary patch delta 94565 zcmb?kc|29?_pYl_nL3)Cztj<~c+0VPyde`3P*~|XiThmJV{Qai*;Z2Bpf38*Mx;1NV zlCN1qwPwv4TT=lWjD^WX490}t*39&∋0!z?Nm_swH>r_i@G@Yq(`!?#0O#Mkdq6 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 delta 63064 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 T0001 5Ds (dismiss, distort, distract, dismay, divide) T0006 Develop Narrative Concepts - +T0071 Find echo chambers T0007 Create fake Social Media Profiles / Pages / Groups T0010 Cultivate ignorant agents T0016 Clickbait @@ -34,8 +34,8 @@ T0002 Facilitate State Propaganda - - +T0066 Degrade adversary +T0072 Segment audiences T0008 Create fake or imposter news sites T0011 Compromise legitimate account T0017 Conduct Fundraising Campaigns @@ -49,7 +49,7 @@ T0003 Leverage Existing Narratives - +T0067 Plan to discredit credible sources T0009 Create fake experts T0012 Use concealment @@ -64,7 +64,7 @@ T0004 Devise Competing Narratives - +T0068 Respond to breaking news event T0013 Create fake websites @@ -79,7 +79,7 @@ - +T0069 Respond to active crisis T0014 Prepare fundraising campaigns @@ -94,7 +94,7 @@ - +T0070 Analyze existing communities T0015 Create hashtags diff --git a/generated_pages/tactics/TA02.md b/generated_pages/tactics/TA02.md index a4a8fe2..6e28647 100644 --- a/generated_pages/tactics/TA02.md +++ b/generated_pages/tactics/TA02.md @@ -25,6 +25,11 @@ | Techniques | | ---------- | | [T0006 Develop Narrative Concepts](../generated_pages/techniques/T0006.md) | +| [T0066 Degrade adversary](../generated_pages/techniques/T0066.md) | +| [T0067 Plan to discredit credible sources](../generated_pages/techniques/T0067.md) | +| [T0068 Respond to breaking news event](../generated_pages/techniques/T0068.md) | +| [T0069 Respond to active crisis](../generated_pages/techniques/T0069.md) | +| [T0070 Analyze existing communities](../generated_pages/techniques/T0070.md) | diff --git a/generated_pages/tactics/TA13.md b/generated_pages/tactics/TA13.md index 3e0778e..2623b32 100644 --- a/generated_pages/tactics/TA13.md +++ b/generated_pages/tactics/TA13.md @@ -13,6 +13,8 @@ | Techniques | | ---------- | +| [T0071 Find echo chambers](../generated_pages/techniques/T0071.md) | +| [T0072 Segment audiences](../generated_pages/techniques/T0072.md) | diff --git a/generated_pages/techniques/T0066.md b/generated_pages/techniques/T0066.md new file mode 100644 index 0000000..11a9814 --- /dev/null +++ b/generated_pages/techniques/T0066.md @@ -0,0 +1,17 @@ +# Technique T0066: Degrade adversary + +* **Summary**: Plan to degrade an adversary’s image or ability to act. This could include preparation and use of harmful information about the adversary’s actions or reputation. + +* **Belongs to tactic stage**: TA02 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0067.md b/generated_pages/techniques/T0067.md new file mode 100644 index 0000000..16567d6 --- /dev/null +++ b/generated_pages/techniques/T0067.md @@ -0,0 +1,17 @@ +# Technique T0067: Plan to discredit credible sources + +* **Summary**: Plan to delegitimize the media landscape and degrade public trust in reporting, by discrediting credible sources. This makes it easier to promote influence operation content. + +* **Belongs to tactic stage**: TA02 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0068.md b/generated_pages/techniques/T0068.md new file mode 100644 index 0000000..6494efb --- /dev/null +++ b/generated_pages/techniques/T0068.md @@ -0,0 +1,17 @@ +# Technique T0068: Respond to breaking news event + +* **Summary**: Media attention on a story or event is heightened during a breaking news event, where unclear facts and incomplete information increase speculation, rumors, and conspiracy theories, which are all vulnerable to manipulation. + +* **Belongs to tactic stage**: TA02 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0069.md b/generated_pages/techniques/T0069.md new file mode 100644 index 0000000..75a0402 --- /dev/null +++ b/generated_pages/techniques/T0069.md @@ -0,0 +1,17 @@ +# Technique T0069: Respond to active crisis + +* **Summary**: Panic, rumors, and speculation are heightened during active crises (violent events, natural disasters, public health phenomena, etc); these are all vulnerable to manipulation. + +* **Belongs to tactic stage**: TA02 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0070.md b/generated_pages/techniques/T0070.md new file mode 100644 index 0000000..c20fd94 --- /dev/null +++ b/generated_pages/techniques/T0070.md @@ -0,0 +1,17 @@ +# Technique T0070: Analyze existing communities + +* **Summary**: Assess influence operation potential of existing social media communities, where communities share interests, experiences, politics, or other characteristics that join online users together. Assessment includes the potential use of social group trauma that could be targeted to gain support, using emotional appeals to shared grievances in a set population. + +* **Belongs to tactic stage**: TA02 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0071.md b/generated_pages/techniques/T0071.md new file mode 100644 index 0000000..acb2036 --- /dev/null +++ b/generated_pages/techniques/T0071.md @@ -0,0 +1,17 @@ +# Technique T0071: Find echo chambers + +* **Summary**: Find or plan to create areas (social media groups, search term groups, hashtag groups etc) where individuals only engage with people they agree with. + +* **Belongs to tactic stage**: TA13 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques/T0072.md b/generated_pages/techniques/T0072.md new file mode 100644 index 0000000..bc48ff2 --- /dev/null +++ b/generated_pages/techniques/T0072.md @@ -0,0 +1,17 @@ +# Technique T0072: Segment audiences + +* **Summary**: Create audience segmentations by features of interest to the influence campaign, including political affiliation, geographic location, income, demographics, and psychographics. + +* **Belongs to tactic stage**: TA13 + + +| Incident | Descriptions given for this incident | +| -------- | -------------------- | + + + +| Counters | Response types | +| -------- | -------------- | + + +DO NOT EDIT ABOVE THIS LINE - PLEASE ADD NOTES BELOW \ No newline at end of file diff --git a/generated_pages/techniques_index.md b/generated_pages/techniques_index.md index d56484a..efd4c94 100644 --- a/generated_pages/techniques_index.md +++ b/generated_pages/techniques_index.md @@ -410,4 +410,46 @@ When messaging makes use of factual reporting to promote these adjustments in th Create or coopt broadcast capabilities (e.g. TV, radio etc). TA04 + +T0066 +Degrade adversary +Plan to degrade an adversary’s image or ability to act. This could include preparation and use of harmful information about the adversary’s actions or reputation. +TA02 + + +T0067 +Plan to discredit credible sources +Plan to delegitimize the media landscape and degrade public trust in reporting, by discrediting credible sources. This makes it easier to promote influence operation content. +TA02 + + +T0068 +Respond to breaking news event +Media attention on a story or event is heightened during a breaking news event, where unclear facts and incomplete information increase speculation, rumors, and conspiracy theories, which are all vulnerable to manipulation. +TA02 + + +T0069 +Respond to active crisis +Panic, rumors, and speculation are heightened during active crises (violent events, natural disasters, public health phenomena, etc); these are all vulnerable to manipulation. +TA02 + + +T0070 +Analyze existing communities +Assess influence operation potential of existing social media communities, where communities share interests, experiences, politics, or other characteristics that join online users together. Assessment includes the potential use of social group trauma that could be targeted to gain support, using emotional appeals to shared grievances in a set population. +TA02 + + +T0071 +Find echo chambers +Find or plan to create areas (social media groups, search term groups, hashtag groups etc) where individuals only engage with people they agree with. +TA13 + + +T0072 +Segment audiences +Create audience segmentations by features of interest to the influence campaign, including political affiliation, geographic location, income, demographics, and psychographics. +TA13 + diff --git a/visualisations/cross_counterid_techniqueid.csv b/visualisations/cross_counterid_techniqueid.csv index 41359b4..6a0f934 100644 --- a/visualisations/cross_counterid_techniqueid.csv +++ b/visualisations/cross_counterid_techniqueid.csv @@ -1,28 +1,59 @@ Source,Target,Weight -C00008,TA01,1 -C00008,TA06,1 -C00008,TA08,1 +C00006,T0007,1 +C00006,T0015,1 +C00006,T0018,1 +C00006,T0043,1 +C00006,T0053,1 +C00006,T0054,1 +C00008,T0001,1 +C00008,T0002,1 +C00008,T0003,1 +C00008,T0027,1 +C00008,T0028,1 C00008,T0006,1 C00008,T0009,1 C00008,T0008,1 C00008,T0013,1 C00008,T0014,1 -C00009,TA08,1 +C00008,T0021,1 +C00008,T0025,1 +C00008,T0024,1 +C00008,T0026,1 +C00008,T0056,1 +C00008,T0051,1 +C00008,T0044,1 +C00008,T0045,1 C00009,T0010,1 -C00009,T0029,1 -C00010,TA05,1 -C00010,T00018,1 -C00011,TA03,1 -C00011,TA04,1 -C00011,TA05,1 -C00011,TA08,1 -C00011,TA09,1 -C00011,T0059,1 -C00012,TA07,1 -C00012,TA09,1 -C00012,TA10,1 +C00009,T0039,1 +C00009,T0044,1 +C00009,T0042,1 +C00009,T0048,1 +C00009,T0052,1 +C00009,T0053,1 +C00009,T0055,1 +C00009,T0056,1 +C00010,T0005,1 +C00010,T0018,1 +C00011,T0001,1 +C00011,T0002,1 +C00011,T0003,1 +C00011,T0027,1 +C00011,T0028,1 +C00011,T0006,1 +C00011,T0009,1 +C00011,T0008,1 +C00011,T0013,1 +C00011,T0021,1 +C00011,T0025,1 +C00011,T0024,1 +C00011,T0026,1 +C00011,T0056,1 +C00011,T0051,1 +C00011,T0044,1 +C00011,T0045,1 C00012,T0001,1 C00012,T0002,1 +C00012,T0003,1 C00012,T0007,1 C00012,T0008,1 C00012,T0009,1 @@ -43,6 +74,7 @@ C00012,T0046,1 C00012,T0047,1 C00012,T0048,1 C00012,T0049,1 +C00012,T0050,1 C00012,T0051,1 C00012,T0052,1 C00012,T0053,1 @@ -51,73 +83,162 @@ C00012,T0055,1 C00012,T0056,1 C00012,T0057,1 C00012,T0061,1 -C00014,TA01,1 -C00014,TA06,1 -C00014,TA08,1 +C00013,T0001,1 +C00013,T0002,1 +C00013,T0003,1 +C00013,T0027,1 +C00013,T0028,1 +C00013,T0056,1 +C00013,T0052,1 +C00014,T0001,1 +C00014,T0002,1 +C00014,T0003,1 +C00014,T0027,1 +C00014,T0028,1 C00014,T0006,1 C00014,T0009,1 C00014,T0008,1 C00014,T0013,1 C00014,T0014,1 -C00006,T0009,1 -C00006,T0008,1 -C00006,T0007,1 -C00006,T0013,1 -C00006,T0014,1 -C00006,T0015,1 -C00006,T0016,1 -C00006,T0017,1 -C00006,T0018,1 -C00006,T0022,1 -C00006,T0021,1 -C00006,T0025,1 -C00006,T0024,1 -C00006,T0026,1 -C00006,T0045,1 -C00006,T0043,1 -C00006,T0056,1 -C00006,T0051,1 -C00006,T0049,1 -C00006,T0052,1 -C00006,T0054,1 -C00006,T0053,1 -C00006,T0055,1 -C00006,T0058,1 -C00006,T0057,1 -C00019,TA08,1 -C00019,TA09,1 -C00019,TA10,1 -C00021,All,1 +C00014,T0021,1 +C00014,T0025,1 +C00014,T0024,1 +C00014,T0026,1 +C00014,T0056,1 +C00014,T0051,1 +C00014,T0044,1 +C00014,T0045,1 +C00016,T0001,1 +C00016,T0002,1 +C00016,T0003,1 +C00016,T0027,1 +C00016,T0028,1 +C00016,T0009,1 +C00016,T0008,1 +C00016,T0007,1 +C00016,T0013,1 +C00016,T0014,1 +C00016,T0015,1 +C00016,T0016,1 +C00016,T0017,1 +C00016,T0018,1 +C00016,T0022,1 +C00016,T0021,1 +C00016,T0025,1 +C00016,T0024,1 +C00016,T0026,1 +C00016,T0044,1 +C00016,T0045,1 +C00016,T0043,1 +C00016,T0056,1 +C00016,T0051,1 +C00016,T0049,1 +C00016,T0052,1 +C00016,T0054,1 +C00016,T0053,1 +C00016,T0055,1 +C00016,T0058,1 +C00016,T0057,1 +C00017,T0001,1 +C00017,T0002,1 +C00017,T0003,1 +C00017,T0027,1 +C00017,T0028,1 +C00017,T0022,1 +C00017,T0023,1 +C00019,T0001,1 +C00019,T0002,1 +C00019,T0003,1 +C00019,T0027,1 +C00019,T0028,1 +C00019,T0022,1 +C00019,T0023,1 +C00019,T0053,1 +C00019,T0044,1 +C00019,T0052,1 +C00019,T0056,1 +C00021,T0001,1 +C00021,T0002,1 +C00021,T0003,1 +C00021,T0006,1 +C00021,T0027,1 +C00021,T0028,1 +C00021,T0022,1 +C00021,T0023,1 +C00021,T0053,1 +C00021,T0044,1 +C00022,T0001,1 C00022,T0002,1 -C00024,TA01,1 +C00022,T0003,1 +C00022,T0006,1 +C00022,T0027,1 +C00022,T0028,1 +C00022,T0022,1 +C00022,T0023,1 +C00022,T0053,1 +C00022,T0044,1 +C00024,T0001,1 +C00024,T0002,1 +C00024,T0003,1 C00024,T0006,1 C00024,T0027,1 +C00024,T0028,1 C00024,T0022,1 C00024,T0023,1 +C00024,T0053,1 +C00024,T0044,1 +C00026,T0001,1 C00026,T0002,1 -C00027,TA01,1 -C00027,TA08,1 +C00027,T0001,1 +C00027,T0002,1 +C00027,T0003,1 C00027,T0006,1 -C00027,T0022,1 -C00027,T0023,1 C00027,T0027,1 -C00027,T0047,1 +C00027,T0028,1 +C00027,T0022,1 +C00027,T0021,1 +C00027,T0023,1 C00027,T0048,1 C00027,T0053,1 +C00027,T0044,1 +C00027,T0039,1 C00028,TA07,1 C00028,TA08,1 C00028,TA09,1 C00028,TA10,1 +C00029,T0002,1 +C00029,T0003,1 +C00029,T0006,1 +C00029,T0027,1 +C00029,T0028,1 +C00029,T0022,1 +C00030,T0002,1 +C00030,T0003,1 +C00030,T0006,1 +C00030,T0027,1 +C00030,T0028,1 +C00030,T0022,1 C00031,T0002,1 C00031,T0003,1 C00031,T0006,1 +C00031,T0027,1 +C00031,T0028,1 +C00032,T0055,1 +C00034,T0009,1 +C00034,T0007,1 +C00034,T0012,1 +C00034,T0030,1 C00036,T0005,1 C00036,T0007,1 -C00036,T0017,1 -C00036,T0025,1 +C00036,T0010,1 +C00036,T0012,1 +C00036,T0030,1 +C00036,T0045,1 C00036,T0056,1 C00036,T0057,1 +C00040,T0007,1 C00040,T0009,1 +C00040,T0012,1 C00042,T0004,1 C00042,T0019,1 C00042,T0022,1 @@ -127,23 +248,67 @@ C00042,T0042,1 C00042,T0044,1 C00042,T0056,1 C00042,T0059,1 -C00044,TA07,1 +C00044,T0029,1 C00044,T0049,1 C00044,T0054,1 -C00048,TA08,1 +C00044,T0053,1 +C00044,T0055,1 +C00044,T0056,1 +C00044,T0051,1 +C00044,T0050,1 +C00046,T0010,1 +C00046,T0044,1 +C00046,T0021,1 +C00046,T0022,1 +C00046,T0023,1 +C00046,T0027,1 +C00046,T0039,1 +C00046,T0045,1 +C00046,T0048,1 +C00046,T0051,1 +C00046,T0052,1 +C00046,T0053,1 +C00046,T0054,1 +C00046,T0056,1 +C00046,T0057,1 +C00046,T0060,1 +C00046,T0061,1 +C00047,T0063,1 +C00047,T0062,1 +C00048,T0010,1 +C00048,T0045,1 C00048,T0048,1 +C00048,T0051,1 +C00048,T0052,1 +C00048,T0053,1 +C00048,T0054,1 +C00048,T0056,1 C00048,T0057,1 +C00048,T0060,1 C00048,T0061,1 +C00051,T0010,1 C00051,T0012,1 C00052,T0012,1 +C00052,T0030,1 C00053,T0011,1 -C00053,TA06,1 -C00053,T0008,1 +C00053,T0030,1 C00058,T0017,1 C00058,T0061,1 +C00059,T0014,1 C00060,TA07,1 C00060,T0047,1 -C00062,All,1 +C00062,TA01,1 +C00062,TA02,1 +C00062,TA03,1 +C00062,TA04,1 +C00062,TA05,1 +C00062,TA06,1 +C00062,TA07,1 +C00062,TA08,1 +C00062,TA09,1 +C00062,TA10,1 +C00062,TA11,1 +C00062,TA12,1 C00065,T0018,1 C00066,T0015,1 C00066,T0055,1 @@ -158,6 +323,7 @@ C00070,T0052,1 C00070,T0055,1 C00070,T0057,1 C00070,T0056,1 +C00070,T0058,1 C00071,T0019,1 C00071,T0056,1 C00072,T0019,1 @@ -166,8 +332,6 @@ C00072,T0044,1 C00072,T0021,1 C00072,T0022,1 C00072,T0023,1 -C00072,T0026,1 -C00072,T0025,1 C00072,T0027,1 C00072,T0039,1 C00072,T0055,1