{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Generate DISARM github 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. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "updated ../generated_pages/disarm_red_framework.md\n", "updated ../generated_files/disarm_red_framework_clickable.html\n", "updated ../generated_pages/disarm_blue_framework.md\n", "updated ../generated_files/disarm_blue_framework_clickable.html\n", "Temp: objecttype phase\n", "updated ../generated_pages/phases_index.md\n", "Temp: objecttype tactic\n", "updated ../generated_pages/tactics_index.md\n", "Updating ../generated_pages/tactics/TA01.md\n", "Updating ../generated_pages/tactics/TA02.md\n", "Updating ../generated_pages/tactics/TA13.md\n", "Updating ../generated_pages/tactics/TA04.md\n", "Updating ../generated_pages/tactics/TA05.md\n", "Updating ../generated_pages/tactics/TA06.md\n", "Updating ../generated_pages/tactics/TA08.md\n", "Updating ../generated_pages/tactics/TA10.md\n", "Temp: objecttype technique\n", "updated ../generated_pages/techniques_index.md\n", "Updating ../generated_pages/techniques/T0004.md\n", "Updating ../generated_pages/techniques/T0006.md\n", "Updating ../generated_pages/techniques/T0011.md\n", "Updating ../generated_pages/techniques/T0014.md\n", "Updating ../generated_pages/techniques/T0015.md\n", "Updating ../generated_pages/techniques/T0017.md\n", "Updating ../generated_pages/techniques/T0018.md\n", "Updating ../generated_pages/techniques/T0026.md\n", "Updating ../generated_pages/techniques/T0065.md\n", "Temp: objecttype task\n", "updated ../generated_pages/tasks_index.md\n", "Temp: objecttype incident\n", "updated ../generated_pages/incidents_index.md\n", "Updating ../generated_pages/incidents/I00002.md\n", "Updating ../generated_pages/incidents/I00005.md\n", "Updating ../generated_pages/incidents/I00006.md\n", "Updating ../generated_pages/incidents/I00017.md\n", "Updating ../generated_pages/incidents/I00042.md\n", "Temp: objecttype counter\n", "updated ../generated_pages/counters_index.md\n", "Updating ../generated_pages/counters/C00006.md\n", "Updating ../generated_pages/counters/C00008.md\n", "Updating ../generated_pages/counters/C00010.md\n", "Updating ../generated_pages/counters/C00011.md\n", "Updating ../generated_pages/counters/C00012.md\n", "Updating ../generated_pages/counters/C00014.md\n", "Updating ../generated_pages/counters/C00016.md\n", "Updating ../generated_pages/counters/C00021.md\n", "Updating ../generated_pages/counters/C00022.md\n", "Updating ../generated_pages/counters/C00024.md\n", "Updating ../generated_pages/counters/C00027.md\n", "Updating ../generated_pages/counters/C00029.md\n", "Updating ../generated_pages/counters/C00030.md\n", "Updating ../generated_pages/counters/C00031.md\n", "Updating ../generated_pages/counters/C00036.md\n", "Updating ../generated_pages/counters/C00042.md\n", "Updating ../generated_pages/counters/C00053.md\n", "Updating ../generated_pages/counters/C00058.md\n", "Updating ../generated_pages/counters/C00059.md\n", "Updating ../generated_pages/counters/C00065.md\n", "Updating ../generated_pages/counters/C00066.md\n", "Updating ../generated_pages/counters/C00067.md\n", "Updating ../generated_pages/counters/C00070.md\n", "Updating ../generated_pages/counters/C00073.md\n", "Updating ../generated_pages/counters/C00074.md\n", "Updating ../generated_pages/counters/C00076.md\n", "Updating ../generated_pages/counters/C00080.md\n", "Updating ../generated_pages/counters/C00081.md\n", "Updating ../generated_pages/counters/C00082.md\n", "Updating ../generated_pages/counters/C00084.md\n", "Updating ../generated_pages/counters/C00085.md\n", "Updating ../generated_pages/counters/C00093.md\n", "Updating ../generated_pages/counters/C00094.md\n", "Updating ../generated_pages/counters/C00096.md\n", "Updating ../generated_pages/counters/C00098.md\n", "Updating ../generated_pages/counters/C00105.md\n", "Updating ../generated_pages/counters/C00107.md\n", "Updating ../generated_pages/counters/C00117.md\n", "Updating ../generated_pages/counters/C00119.md\n", "Updating ../generated_pages/counters/C00122.md\n", "Updating ../generated_pages/counters/C00125.md\n", "Updating ../generated_pages/counters/C00126.md\n", "Updating ../generated_pages/counters/C00129.md\n", "Updating ../generated_pages/counters/C00133.md\n", "Updating ../generated_pages/counters/C00153.md\n", "Updating ../generated_pages/counters/C00155.md\n", "Updating ../generated_pages/counters/C00156.md\n", "Updating ../generated_pages/counters/C00161.md\n", "Updating ../generated_pages/counters/C00162.md\n", "Updating ../generated_pages/counters/C00164.md\n", "Updating ../generated_pages/counters/C00169.md\n", "Updating ../generated_pages/counters/C00176.md\n", "Updating ../generated_pages/counters/C00178.md\n", "Updating ../generated_pages/counters/C00182.md\n", "Updating ../generated_pages/counters/C00189.md\n", "Updating ../generated_pages/counters/C00195.md\n", "Updating ../generated_pages/counters/C00197.md\n", "Updating ../generated_pages/counters/C00211.md\n", "Updating ../generated_pages/counters/C00216.md\n", "Updating ../generated_pages/counters/C00219.md\n", "Temp: objecttype metatechnique\n", "updated ../generated_pages/metatechniques_index.md\n", "Temp: objecttype actortype\n", "updated ../generated_pages/actortypes_index.md\n", "updated ../generated_pages/responsetype_index.md\n", "updated ../generated_pages/detections_index.md\n", "updated ../generated_pages/tactics_by_responsetype_table.md\n", "updated ../generated_pages/metatechniques_by_responsetype_table.md\n" ] } ], "source": [ "import pandas as pd\n", "from generate_DISARM_pages import Disarm\n", "disarm = Disarm()\n", "disarm.generate_and_write_datafiles()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", " | disarm_id | \n", "name | \n", "summary | \n", "sector_ids | \n", "framework_ids | \n", "longname | \n", "
---|---|---|---|---|---|---|
0 | \n", "A001 | \n", "data scientist | \n", "Person who can wrangle data, implement machine... | \n", "S001, S002, S003, S004, S005, S006, S007, S008... | \n", "FW01, FW02 | \n", "A001 - data scientist | \n", "
1 | \n", "A002 | \n", "target | \n", "Person being targeted by disinformation campaign | \n", "S001, S002, S003, S004, S005, S006, S007, S008... | \n", "FW02 | \n", "A002 - target | \n", "
2 | \n", "A003 | \n", "trusted authority | \n", "Influencer | \n", "S001, S002, S003, S004, S005, S006, S007, S008... | \n", "FW01, FW02 | \n", "A003 - trusted authority | \n", "
3 | \n", "A004 | \n", "activist | \n", "\n", " | S002 | \n", "FW02 | \n", "A004 - activist | \n", "
4 | \n", "A005 | \n", "community group | \n", "\n", " | S002 | \n", "FW02 | \n", "A005 - community group | \n", "
5 | \n", "A006 | \n", "educator | \n", "\n", " | S002 | \n", "FW02 | \n", "A006 - educator | \n", "
6 | \n", "A007 | \n", "factchecker | \n", "Someone with the skills to verify whether info... | \n", "S002 | \n", "FW02 | \n", "A007 - factchecker | \n", "
7 | \n", "A008 | \n", "library | \n", "\n", " | S002 | \n", "FW02 | \n", "A008 - library | \n", "
8 | \n", "A009 | \n", "NGO | \n", "\n", " | S002 | \n", "FW02 | \n", "A009 - NGO | \n", "
9 | \n", "A010 | \n", "religious organisation | \n", "\n", " | S002 | \n", "FW02 | \n", "A010 - religious organisation | \n", "
10 | \n", "A011 | \n", "school | \n", "\n", " | S002 | \n", "FW02 | \n", "A011 - school | \n", "
11 | \n", "A012 | \n", "account owner | \n", "Anyone who owns an account online | \n", "S006 | \n", "FW01\\nFW02 | \n", "A012 - account owner | \n", "
12 | \n", "A013 | \n", "content creator | \n", "\n", " | S006 | \n", "FW01\\nFW02 | \n", "A013 - content creator | \n", "
13 | \n", "A014 | \n", "elves | \n", "\n", " | S006 | \n", "FW02 | \n", "A014 - elves | \n", "
14 | \n", "A015 | \n", "general public | \n", "\n", " | S006 | \n", "FW02 | \n", "A015 - general public | \n", "
15 | \n", "A016 | \n", "influencer | \n", "\n", " | S006 | \n", "FW01\\nFW02 | \n", "A016 - influencer | \n", "
16 | \n", "A017 | \n", "coordinating body | \n", "For example the DHS | \n", "S003 | \n", "FW02 | \n", "A017 - coordinating body | \n", "
17 | \n", "A018 | \n", "government | \n", "Government agencies | \n", "S003 | \n", "FW01\\nFW02 | \n", "A018 - government | \n", "
18 | \n", "A019 | \n", "military | \n", "\n", " | S003 | \n", "FW02 | \n", "A019 - military | \n", "
19 | \n", "A020 | \n", "policy maker | \n", "\n", " | S003 | \n", "FW02 | \n", "A020 - policy maker | \n", "
20 | \n", "A021 | \n", "media organisation | \n", "\n", " | S010 | \n", "FW01\\nFW02 | \n", "A021 - media organisation | \n", "
21 | \n", "A022 | \n", "company | \n", "\n", " | S009 | \n", "FW02 | \n", "A022 - company | \n", "
22 | \n", "A023 | \n", "adtech provider | \n", "\n", " | S008 | \n", "FW02 | \n", "A023 - adtech provider | \n", "
23 | \n", "A024 | \n", "developer | \n", "\n", " | S008 | \n", "FW02 | \n", "A024 - developer | \n", "
24 | \n", "A025 | \n", "funding_site_admin | \n", "Funding site admin | \n", "S008 | \n", "FW02 | \n", "A025 - funding_site_admin | \n", "
25 | \n", "A026 | \n", "games designer | \n", "\n", " | S008 | \n", "FW01, FW02 | \n", "A026 - games designer | \n", "
26 | \n", "A027 | \n", "information security | \n", "\n", " | S008 | \n", "FW02 | \n", "A027 - information security | \n", "
27 | \n", "A028 | \n", "platform administrator | \n", "\n", " | S008 | \n", "FW02 | \n", "A028 - platform administrator | \n", "
28 | \n", "A029 | \n", "server admininistrator | \n", "\n", " | S008 | \n", "FW02 | \n", "A029 - server admininistrator | \n", "
29 | \n", "A030 | \n", "platforms | \n", "\n", " | S007 | \n", "FW02 | \n", "A030 - platforms | \n", "
30 | \n", "A031 | \n", "social media platform adminstrator | \n", "Person with the authority to make changes to a... | \n", "S007 | \n", "FW02 | \n", "A031 - social media platform adminstrator | \n", "
31 | \n", "A032 | \n", "social media platform outreach | \n", "\n", " | S007 | \n", "FW02 | \n", "A032 - social media platform outreach | \n", "
32 | \n", "A033 | \n", "social media platform owner | \n", "Person with authority to make changes to a soc... | \n", "S007 | \n", "FW02 | \n", "A033 - social media platform owner | \n", "