Skip to content
This repository was archived by the owner on Sep 20, 2022. It is now read-only.

Commit 5cf8d32

Browse files
committed
Add note about security
1 parent 5fd9915 commit 5cf8d32

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,17 @@ SQLite is [_very good_](https://sqlite.org/testing.html).
114114
You might not always need a remote database like MySQL or Postgres.
115115
But if you do, check out [deno_mysql](https://github.com/manyuanrong/deno_mysql) or [deno-postgres](https://github.com/buildondata/deno-postgres).
116116

117+
## Security
118+
119+
There's a lot of discussion about Deno's [security model](https://deno.land/manual/getting_started/permissions) and how it can help application developers.
120+
121+
Be aware that when running with the `--use-plugin` flag which is required in order to use this plugin, all code running inside your script (including 3rd-party code) may call `Deno.openPlugin` and open arbitrary plugins.
122+
The current plugin API does not seem to respect `--allow-read` whitelisting.
123+
However, the code cannot download plugins from the internet (unless you allow it to with `--allow-net`), so the application can only load plugins that already exist on your filesystem.
124+
125+
When running, Deno's permissions API does not apply to the plugin code.
126+
So, for example, even if you don't specify `--allow-write`, this plugin can be used to create SQLite files in arbitrary locations on disk.
127+
117128
## How does it work?
118129

119130
Query parameters are encoded to JSON text and sent from deno's JS runtime to the plugin.

0 commit comments

Comments
 (0)