Skip to main content

🚨 Dangermode

Overview

🚨 Dangermode is a ChatGPT Plugin written with Python and FastAPI that allows ChatGPT to execute code snippets in an IPython session, whether it's the console, the notebook, or a JupyterLab session.

⚠️ Dangermode is a proof-of-concept and should not be used in production. It is not secure and should not be publicly exposed to the web. ⚠️

🚨🚨🚨 YOU ARE GIVING AI THE ABILITY TO EXECUTE CODE AS YOU. 🚨🚨🚨

Running this plugin on your machine is dangerous. Running this plugin on a public server is extremely dangerous. You have been warned.

Demo

Demo Time

Features

  • Execute code snippets in an IPython session through ChatGPT.
  • Inspect variables and view results in real-time.
  • Serve images and display data to ChatGPT.

Get started, the (slightly) less dangerous way

Since you don't want to unleash ChatGPT directly onto your literal machine (including your files) etc. Build the docker image and run it locally like this:

docker build . -t dangermode
docker run -p 8000:8000 -i -t --rm dangermode

(SCARY DANGER MODE) Installation

If you're feeling brave , you can install dangermode directly via pip, conda, or clone the repository and install it locally. If you really aren't worried about security, go for it. You have been warned.

Run Danger Mode

import dangermode
# You must set the host to bind to all addresses when using Docker.
# Since this is dangerous, I leave it as an exercise to the reader.
dangermode.activate_dangermode()

Enabling on ChatGPT

In order to use this plugin, you have to have ChatGPT Plugin access.

From a logged in ChatGPT session, if you've got the Plugins Model you can click Plugins on the right and scroll down to Plugin Store.

Click Plugin Store

Next, click "Develop your own plugin".

Develop your own plugin (1)

Enter localhost:8000 as the domain.

Enter localhost_8000 as the domain

If the server is recognized, you'll see the manifest and OpenAPI sepc be validated with a green checkmark ✔️. Click "Install localhost plugin" and start using it!

Found plugin, install it

API Endpoints

  • GET /openapi.json: Retrieve the OpenAPI JSON configuration.
  • GET /.well-known/ai-plugin.json: Retrieve the AI plugin JSON configuration.
  • GET /images/{image_name}: Retrieve an image by its name.
  • GET /api/variable/{variable_name}: Retrieve the value of a variable by its name.
  • POST /api/run_cell: Execute a code cell and return the result.

Contributing

Please do. I can't let Large Language Models write all of it.

Please fork the repository, make your changes, and submit a pull request.

License

Dangermode is released under the BSD 3-Clause License. See LICENSE for more information.

Contact

If you have any questions or feedback, please feel free to reach out to the author, Kyle Kelley, on Twitter at @KyleRayKelley or just open an issue on the repository.

Release files for dangermode 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dangermode 0.3.0
File Size Uploaded
dangermode-0.3.0.tar.gz 47.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dangermode 0.3.0
File Interpreter ABI Platform
dangermode-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 93.4 kB

Release files / dangermode-0.3.0.tar.gz

Download URL dangermode-0.3.0.tar.gz
Size 47.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cdb8e6209e51b659b3f9f6bc93532ef1bc125b49b14622037f413e4726092e4c
BLAKE2b-256 checksum
How to use checksums
a35aeae321632720231f2330fb2e8c199f500adf44cebc80b57d4697d1c4faed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.9.9 Darwin/22.3.0

Release files / dangermode-0.3.0-py3-none-any.whl

Download URL dangermode-0.3.0-py3-none-any.whl
Size 45.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f278a143e6e2fcbf64935acf852ac55ccbf54c98803d15d660fc00c97145b0e7
BLAKE2b-256 checksum
How to use checksums
f962d4775cbc86ee8ba5eee5d6db1bbe0b6a85d0693bc19288e5982c00971baa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.9.9 Darwin/22.3.0

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page