Comments (2)
Not sure i can give a completely general answer, but in the given scenario, you shouldn't be able to access the filesystem just because you have WASI enabled. You still need to explicitly map which directories the guest can access. Same goes for the networking resources. You should be blocked by default unless the host explicitly says which domains can be accessed.
from extism.
Talked to a few others on this as well and here's a bit more detail:
By default, when you use WASI in Extism you can really only access the clock and a random entropy without further explicit grants by the host. If the host doesn't specify allowed_hosts or allowed_paths, then no network or filesystem access is granted. Extism does not currently have a way to disable clock or rand access.
Modsurfer can be a good helper tool in this situation as it provides an automated way to scan any plugins before runtime and confirm that they don't import certain undesirable WASI functions.
from extism.
Related Issues (20)
- feat: add manifest field to limit the size of Extism vars HOT 1
- Extism gem fails to load on Ruby 3.3.0 on macOS HOT 6
- Async / Await / Generators / Coroutines in Plugins HOT 4
- How to unload a plugin? HOT 4
- Could we get access to the `id` on `CurrentPlugin`
- add a feature to control which wasm backend is enabled? HOT 4
- wasm files are very slow to load (C# PDK, Rust SDK) HOT 7
- getting a list of a plugin’s exported functions HOT 8
- ZMQ with Extism Plugins HOT 7
- Improve the libextism story on mac
- Update manifest properties w/ recently added fields HOT 1
- Limit manifest:`allowed_paths` to a single file HOT 2
- Support for Running Java Host Application on Windows HOT 15
- Missing `.so` file in `libextism-x86_64-unknown-linux-musl-v1.4.1.tar.gz`
- Host functions returning f32/f64 aren't working correctly
- Document error messages that can be returned by the runtime
- Expose LogTrace on Rust SDK HOT 1
- Scala plug-ins HOT 7
- reduce third-party github actions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from extism.