diff --git a/detections/endpoint/rare_parent_process_relationship_lolbas___ssa.yaml b/detections/endpoint/rare_parent_process_relationship_lolbas___ssa.yaml
index 1a0f3c0bfb..a95eff594f 100644
--- a/detections/endpoint/rare_parent_process_relationship_lolbas___ssa.yaml
+++ b/detections/endpoint/rare_parent_process_relationship_lolbas___ssa.yaml
@@ -22,7 +22,7 @@ dest_device_id=ucast(map_get(input_event, "dest_device_id"), "string", null)
| select parent_process, process_name, timestamp, dest_device_id, dest_user_id
| conditional_anomaly conditional="parent_process" target="process_name"
| rename output as input
-| adaptive_threshold algorithm="quantile" entity="parent_process" value="input" window=604800000L
+| adaptive_threshold algorithm="quantile" entity="parent_process" window=604800000L
| where label AND quantile<0.1 AND (process_name="powershell.exe" OR
process_name="regsvcs.exe" OR
process_name="ftp.exe" OR
diff --git a/notebooks/rare_parent_process_relationship_lolbas.ipynb b/notebooks/rare_parent_process_relationship_lolbas.ipynb
new file mode 100644
index 0000000000..033f2f8f69
--- /dev/null
+++ b/notebooks/rare_parent_process_relationship_lolbas.ipynb
@@ -0,0 +1,664 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Rare Parent/Child Process Relationship\n",
+ "\n",
+ "An attacker may use LOLBAS tools spawned from vulnerable applications not typically used by system administrators. This search leverages the Splunk Streaming ML DSP plugin to find rare parent/child relationships. The list of application has been extracted from https://github.com/LOLBAS-Project/LOLBAS/tree/master/yml/OSBinaries\n",
+ "\n",
+ "https://github.com/splunk/security-content/blob/unit_test_prohibited_apps_spawning_cmdprompt/detections/endpoint/rare_parent_process_relationship_lolbas___ssa.yaml"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2020-10-15T20:08:27.093444Z",
+ "iopub.status.busy": "2020-10-15T20:08:27.093190Z",
+ "iopub.status.idle": "2020-10-15T20:08:36.211841Z",
+ "shell.execute_reply": "2020-10-15T20:08:36.211309Z",
+ "shell.execute_reply.started": "2020-10-15T20:08:27.093423Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "77a26780b74e4608b6aa7d13f168b61d",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=5.0), HTML(value='')))"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Finished. "
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " input | \n",
+ " dest_device_id | \n",
+ " entities | \n",
+ " process_name | \n",
+ " quantile | \n",
+ " label | \n",
+ " parent_process | \n",
+ " body | \n",
+ " dest_user_id | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 7.666667 | \n",
+ " 5gUXDbXvVfgC/FEpZOFUaA== | \n",
+ " [5gUXDbXvVfgC/FEpZOFUaA==] | \n",
+ " powershell.exe | \n",
+ " 0.000000 | \n",
+ " True | \n",
+ " c:\\windows\\system32\\cmd.exe | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1.164725 | \n",
+ " 5gUXDbXvVfgC/FEpZOFUaA== | \n",
+ " [5gUXDbXvVfgC/FEpZOFUaA==] | \n",
+ " cmd.exe | \n",
+ " 0.082919 | \n",
+ " True | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1.164228 | \n",
+ " 5gUXDbXvVfgC/FEpZOFUaA== | \n",
+ " [5gUXDbXvVfgC/FEpZOFUaA==] | \n",
+ " cmd.exe | \n",
+ " 0.081037 | \n",
+ " True | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1.161742 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " [IaNYgFTNQvyVmJNuPr58dQ==] | \n",
+ " cmd.exe | \n",
+ " 0.083721 | \n",
+ " True | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1.158295 | \n",
+ " 5gUXDbXvVfgC/FEpZOFUaA== | \n",
+ " [5gUXDbXvVfgC/FEpZOFUaA==] | \n",
+ " cmd.exe | \n",
+ " 0.057663 | \n",
+ " True | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1784 | \n",
+ " 6.918486 | \n",
+ " ZTQ/ltGlScpA4WGbfRJ0Xg== | \n",
+ " [ZTQ/ltGlScpA4WGbfRJ0Xg==] | \n",
+ " sc.exe | \n",
+ " 0.000879 | \n",
+ " True | \n",
+ " c:\\windows\\system32\\svchost.exe | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1785 | \n",
+ " 8.567270 | \n",
+ " lQ+9FBHxYQK/q8qXcrTE9A== | \n",
+ " [lQ+9FBHxYQK/q8qXcrTE9A==] | \n",
+ " sc.exe | \n",
+ " 0.001315 | \n",
+ " True | \n",
+ " c:\\windows\\system32\\svchost.exe | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1786 | \n",
+ " 9.991479 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " [IaNYgFTNQvyVmJNuPr58dQ==] | \n",
+ " sc.exe | \n",
+ " 0.001752 | \n",
+ " True | \n",
+ " c:\\windows\\system32\\svchost.exe | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1787 | \n",
+ " 5.403934 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " [OWUYaWKrJeuOY71+TXoqiw==] | \n",
+ " cmd.exe | \n",
+ " 0.000000 | \n",
+ " True | \n",
+ " c:\\program files\\splunkuniversalforwarder\\bin\\... | \n",
+ " TBD | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1788 | \n",
+ " 0.035648 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " [OWUYaWKrJeuOY71+TXoqiw==, rXYtTmzIXq56PqQ+iNO... | \n",
+ " cmd.exe | \n",
+ " 0.000000 | \n",
+ " True | \n",
+ " c:\\windows\\system32\\cmd.exe | \n",
+ " TBD | \n",
+ " rXYtTmzIXq56PqQ+iNO/xw== | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1789 rows × 9 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " input dest_device_id ... body dest_user_id\n",
+ "0 7.666667 5gUXDbXvVfgC/FEpZOFUaA== ... TBD NaN\n",
+ "1 1.164725 5gUXDbXvVfgC/FEpZOFUaA== ... TBD NaN\n",
+ "2 1.164228 5gUXDbXvVfgC/FEpZOFUaA== ... TBD NaN\n",
+ "3 1.161742 IaNYgFTNQvyVmJNuPr58dQ== ... TBD NaN\n",
+ "4 1.158295 5gUXDbXvVfgC/FEpZOFUaA== ... TBD NaN\n",
+ "... ... ... ... ... ...\n",
+ "1784 6.918486 ZTQ/ltGlScpA4WGbfRJ0Xg== ... TBD NaN\n",
+ "1785 8.567270 lQ+9FBHxYQK/q8qXcrTE9A== ... TBD NaN\n",
+ "1786 9.991479 IaNYgFTNQvyVmJNuPr58dQ== ... TBD NaN\n",
+ "1787 5.403934 OWUYaWKrJeuOY71+TXoqiw== ... TBD NaN\n",
+ "1788 0.035648 OWUYaWKrJeuOY71+TXoqiw== ... TBD rXYtTmzIXq56PqQ+iNO/xw==\n",
+ "\n",
+ "[1789 rows x 9 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "| from read_text(\"s3://smle-experiments/datasets/ssa/T1059.all.labeled.lolbas-test.json\")\n",
+ "| select from_json_object(value) as input_event\n",
+ "| eval timestamp=parse_long(ucast(map_get(input_event, \"_time\"), \"string\", null)) \n",
+ "| eval parent_process=lower(ucast(map_get(input_event, \"parent_process_name\"), \"string\", null)), \n",
+ "process_name=lower(ucast(map_get(input_event, \"process_name\"), \"string\", null)), \n",
+ "dest_user_id=ucast(map_get(input_event, \"dest_user_id\"), \"string\", null), \n",
+ "dest_device_id=ucast(map_get(input_event, \"dest_device_id\"), \"string\", null)\n",
+ "| where parent_process!=null \n",
+ "| select parent_process, process_name, timestamp, dest_device_id, dest_user_id \n",
+ "| conditional_anomaly conditional=\"parent_process\" target=\"process_name\" \n",
+ "| rename output as input \n",
+ "| adaptive_threshold algorithm=\"quantile\" entity=\"parent_process\" value=\"input\" window=604800000L \n",
+ "| where label AND quantile<0.1 AND (process_name=\"powershell.exe\" OR process_name=\"regsvcs.exe\" OR process_name=\"ftp.exe\" OR process_name=\"dfsvc.exe\" OR process_name=\"rasautou.exe\" OR process_name=\"schtasks.exe\" OR process_name=\"xwizard.exe\" OR process_name=\"findstr.exe\" OR process_name=\"esentutl.exe\" OR process_name=\"cscript.exe\" OR process_name=\"reg.exe\" OR process_name=\"csc.exe\" OR process_name=\"atbroker.exe\" OR process_name=\"print.exe\" OR process_name=\"pcwrun.exe\" OR process_name=\"vbc.exe\" OR process_name=\"rpcping.exe\" OR process_name=\"wsreset.exe\" OR process_name=\"ilasm.exe\" OR process_name=\"certutil.exe\" OR process_name=\"replace.exe\" OR process_name=\"mshta.exe\" OR process_name=\"bitsadmin.exe\" OR process_name=\"wscript.exe\" OR process_name=\"ieexec.exe\" OR process_name=\"cmd.exe\" OR process_name=\"microsoft.workflow.compiler.exe\" OR process_name=\"runscripthelper.exe\" OR process_name=\"makecab.exe\" OR process_name=\"forfiles.exe\" OR process_name=\"desktopimgdownldr.exe\" OR process_name=\"control.exe\" OR process_name=\"msbuild.exe\" OR process_name=\"register-cimprovider.exe\" OR process_name=\"tttracer.exe\" OR process_name=\"ie4uinit.exe\" OR process_name=\"sc.exe\" OR process_name=\"bash.exe\" OR process_name=\"hh.exe\" OR process_name=\"cmstp.exe\" OR process_name=\"mmc.exe\" OR process_name=\"jsc.exe\" OR process_name=\"scriptrunner.exe\" OR process_name=\"odbcconf.exe\" OR process_name=\"extexport.exe\" OR process_name=\"msdt.exe\" OR process_name=\"diskshadow.exe\" OR process_name=\"extrac32.exe\" OR process_name=\"eventvwr.exe\" OR process_name=\"mavinject.exe\" OR process_name=\"regasm.exe\" OR process_name=\"gpscript.exe\" OR process_name=\"rundll32.exe\" OR process_name=\"regsvr32.exe\" OR process_name=\"regedit.exe\" OR process_name=\"msiexec.exe\" OR process_name=\"gfxdownloadwrapper.exe\" OR process_name=\"presentationhost.exe\" OR process_name=\"regini.exe\" OR process_name=\"wmic.exe\" OR process_name=\"runonce.exe\" OR process_name=\"syncappvpublishingserver.exe\" OR process_name=\"verclsid.exe\" OR process_name=\"psr.exe\" OR process_name=\"infdefaultinstall.exe\" OR process_name=\"explorer.exe\" OR process_name=\"expand.exe\" OR process_name=\"installutil.exe\" OR process_name=\"netsh.exe\" OR process_name=\"wab.exe\" OR process_name=\"dnscmd.exe\" OR process_name=\"at.exe\" OR process_name=\"pcalua.exe\" OR process_name=\"cmdkey.exe\" OR process_name=\"msconfig.exe\")\n",
+ "| eval start_time = timestamp, end_time = timestamp, entities = mvappend(dest_device_id, dest_user_id), body = \"TBD\";"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2020-10-15T20:02:37.170279Z",
+ "iopub.status.busy": "2020-10-15T20:02:37.170022Z",
+ "iopub.status.idle": "2020-10-15T20:02:43.678071Z",
+ "shell.execute_reply": "2020-10-15T20:02:43.677426Z",
+ "shell.execute_reply.started": "2020-10-15T20:02:37.170257Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "4e0d8eab254f4b029c177b1fe1e534e2",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=4.0), HTML(value='')))"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Finished. "
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: []\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "| from read_text(\"s3://smle-experiments/datasets/ssa/T1059.all.labeled.lolbas-test.json\")\n",
+ "| select from_json_object(value) as input_event\n",
+ "| eval timestamp=parse_long(ucast(map_get(input_event, \"_time\"), \"string\", null)) \n",
+ "| eval parent_process=lower(ucast(map_get(input_event, \"parent_process_name\"), \"string\", null)), process_name=lower(ucast(map_get(input_event, \"process_name\"), \"string\", null)), dest_user_id=ucast(map_get(input_event, \"dest_user_id\"), \"string\", null), dest_device_id=ucast(map_get(input_event, \"dest_device_id\"), \"string\", null)\n",
+ "| where parent_process!=null \n",
+ "| select parent_process, process_name, timestamp, dest_device_id, dest_user_id \n",
+ "| conditional_anomaly conditional=\"parent_process\" target=\"process_name\" \n",
+ "| rename output as input \n",
+ "| adaptive_threshold algorithm=\"quantile\" entity=\"parent_process\" window=604800000L \n",
+ "| where label AND quantile<0.1 \n",
+ "| eval start_time = timestamp, end_time = timestamp, entities = mvappend(dest_device_id, dest_user_id), body = \"TBD\";"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2020-10-15T20:08:09.210819Z",
+ "iopub.status.busy": "2020-10-15T20:08:09.210557Z",
+ "iopub.status.idle": "2020-10-15T20:08:14.938351Z",
+ "shell.execute_reply": "2020-10-15T20:08:14.937869Z",
+ "shell.execute_reply.started": "2020-10-15T20:08:09.210797Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "b65b4333a96b4def890df59aef61efd6",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=5.0), HTML(value='')))"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Finished. "
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " dest_device_id | \n",
+ " parent_process | \n",
+ " process_name | \n",
+ " input_event | \n",
+ " dest_user_id | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " splunk-monitornohandle.exe | \n",
+ " {'dest_device_id': 'IaNYgFTNQvyVmJNuPr58dQ==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " splunk-powershell.exe | \n",
+ " {'dest_device_id': 'IaNYgFTNQvyVmJNuPr58dQ==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " splunk-admon.exe | \n",
+ " {'dest_device_id': 'IaNYgFTNQvyVmJNuPr58dQ==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " splunk-winprintmon.exe | \n",
+ " {'dest_device_id': 'IaNYgFTNQvyVmJNuPr58dQ==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " IaNYgFTNQvyVmJNuPr58dQ== | \n",
+ " c:\\program files\\splunkforwarderforsplunkinc\\b... | \n",
+ " splunk-regmon.exe | \n",
+ " {'dest_device_id': 'IaNYgFTNQvyVmJNuPr58dQ==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 69294 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " c:\\windows\\microsoft.net\\framework\\v4.0.30319\\... | \n",
+ " mscorsvw.exe | \n",
+ " {'dest_device_id': 'OWUYaWKrJeuOY71+TXoqiw==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 69295 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " c:\\windows\\microsoft.net\\framework\\v4.0.30319\\... | \n",
+ " mscorsvw.exe | \n",
+ " {'dest_device_id': 'OWUYaWKrJeuOY71+TXoqiw==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 69296 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " c:\\windows\\microsoft.net\\framework\\v4.0.30319\\... | \n",
+ " mscorsvw.exe | \n",
+ " {'dest_device_id': 'OWUYaWKrJeuOY71+TXoqiw==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 69297 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " c:\\windows\\microsoft.net\\framework\\v4.0.30319\\... | \n",
+ " mscorsvw.exe | \n",
+ " {'dest_device_id': 'OWUYaWKrJeuOY71+TXoqiw==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 69298 | \n",
+ " OWUYaWKrJeuOY71+TXoqiw== | \n",
+ " c:\\windows\\microsoft.net\\framework\\v4.0.30319\\... | \n",
+ " mscorsvw.exe | \n",
+ " {'dest_device_id': 'OWUYaWKrJeuOY71+TXoqiw==',... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
69299 rows × 5 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " dest_device_id ... dest_user_id\n",
+ "0 IaNYgFTNQvyVmJNuPr58dQ== ... NaN\n",
+ "1 IaNYgFTNQvyVmJNuPr58dQ== ... NaN\n",
+ "2 IaNYgFTNQvyVmJNuPr58dQ== ... NaN\n",
+ "3 IaNYgFTNQvyVmJNuPr58dQ== ... NaN\n",
+ "4 IaNYgFTNQvyVmJNuPr58dQ== ... NaN\n",
+ "... ... ... ...\n",
+ "69294 OWUYaWKrJeuOY71+TXoqiw== ... NaN\n",
+ "69295 OWUYaWKrJeuOY71+TXoqiw== ... NaN\n",
+ "69296 OWUYaWKrJeuOY71+TXoqiw== ... NaN\n",
+ "69297 OWUYaWKrJeuOY71+TXoqiw== ... NaN\n",
+ "69298 OWUYaWKrJeuOY71+TXoqiw== ... NaN\n",
+ "\n",
+ "[69299 rows x 5 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "| from read_text(\"s3://smle-experiments/datasets/ssa/T1059.all.labeled.lolbas-test.json\")\n",
+ "| select from_json_object(value) as input_event\n",
+ "| eval timestamp=parse_long(ucast(map_get(input_event, \"_time\"), \"string\", null)) \n",
+ "| eval parent_process=lower(ucast(map_get(input_event, \"parent_process_name\"), \"string\", null)), process_name=lower(ucast(map_get(input_event, \"process_name\"), \"string\", null)), dest_user_id=ucast(map_get(input_event, \"dest_user_id\"), \"string\", null), dest_device_id=ucast(map_get(input_event, \"dest_device_id\"), \"string\", null);"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2020-10-15T19:57:41.275353Z",
+ "iopub.status.busy": "2020-10-15T19:57:41.275091Z",
+ "iopub.status.idle": "2020-10-15T19:57:41.451939Z",
+ "shell.execute_reply": "2020-10-15T19:57:41.451420Z",
+ "shell.execute_reply.started": "2020-10-15T19:57:41.275329Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "a6d67552f5c94913ae1533cc38780ed3",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=5.0), HTML(value='')))"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Getting search results... \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "SPL2RuntimeError: Search failed with exception: Error type checking arguments to function [eval] with ID: [9b2c2616-255f-4b80-976d-3ead4c842e4a]: Unable to find function [map_get] for arguments [input: get(fieldName: input_event), key: _time] with resolvedId [map_get:map:string] - candidate functions: \n",
+ "\t0: Argument [input: string] cannot be assigned to argument [input: map] for function [function(input: map, key: string): T]. resolvedId=map_get:map:string\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "| from read_text(\"s3://smle-experiments/datasets/ssa/T1059.all.labeled.lolbas-test.json\")\n",
+ "| select ucast(value, \"string\", null) as input_event\n",
+ "| eval timestamp=parse_long(ucast(map_get(input_event, \"_time\"), \"string\", null));"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "SPL2",
+ "language": "SPL",
+ "name": "spl2"
+ },
+ "language_info": {
+ "mimetype": "text/spl",
+ "name": "SPL"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}