# Security Policy

WABT is maintained by volunteers on a reasonable-effort basis. If you
have discovered a security vulnerability, please open a GitHub issue
to report it. In the future, we may move to a system of private
reporting of security issues. Please submit your report by filling out
[this form](https://github.com/WebAssembly/wabt/issues/new).

Please provide the following information in your report:

- A description of the vulnerability and its impact
- How to reproduce the issue
- Which WABT tools or library functions are affected
- Which WebAssembly features (`--enable` flags) must be enabled
