用 WebAssembly 组件做可移植、带沙箱的插桩工具
Write Once, Instrument Anywhere: Portable, Sandboxed Tooling with WebAssembly Components
Elizabeth Gilbert, Chris Fallin 等 4 人
在多语言系统里做监控和调试,工程师常被迫退到 eBPF 这类底层插桩机制,代价是只能看到字节和数据包、工具不可组合、功能分散,而且工具对程序和环境拥有不受限的访问权。作者提出 Splicer,一个 WebAssembly 组件插入框架:提供应用层语义类型,支持可插拔的工具,可跨语言和硬件移植,并把每个工具限制在显式授权的沙箱里。评估展示了用多种语言编写的复杂工具的可插拔性和性能,摘要没有给出具体开销数字。
参考价值同样是在用户态对应用做可扩展、受控的插桩:Splicer 用 Wasm 沙箱加显式权限,用户态 eBPF 运行时用 verifier,两种安全模型和开销值得对照。
- WebAssembly
- 二进制插桩
- 沙箱与隔离
- 追踪与可观测性