~/talk

Mischief Managed: What hackers can do on your Jupyter instance

Talkat PyData Global 2022 · 2022-12-01..12-03· [security]
links:none on file
slides:none on file

Jupyter instances expose code execution, defaulting to HTTP on port 888 with an authentication token that becomes a cookie and lasts 30 days, and shells and kernels let attackers run anything the user could in a terminal. Demonstrations include extracting tokens via netstat, reading the SQLite command history to recover secrets (AKIA… keys), loading malicious pickles (joblib still uses pickle) to get remote code execution, planting startup scripts or editing runtime JSON to change variables silently. Defenses shown: secrets managers, hashes/signatures, JupyterHub, and tighter configs.

AI-written summary · about

  1. 0:00Welcome
  2. 1:12Why Jupyter attracts hackers
  3. 3:42Jupyter’s client-server risks
  4. 5:08Launch config pitfalls
  5. 8:16Hidden files and shell risks
  6. 9:00Plain text credentials
  7. 11:08Secrets management
  8. 12:15Pickle file risks
  9. 14:23Jupyter token exposure
  10. 15:54History and key exposure
  11. 17:06Startup scripts as attack vector
  12. 18:53Modifying client behavior
  13. 21:01Defense in depth
  14. 22:46Summary
  15. 23:30Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.