I’ve been working on getting Mandiant’s capa (a tool for identifying capabilities in executables) to run entirely client-side in the browser using Pyodide.
To make this happen, I’ve been working through the capa dependency tree to ensure all upstream packages publish an sdist or pure-Python wheels. We’ve finally reached the point where it’s possible to run capa to analyze binaries in a browser using the vivisect backend.
The long-term goal is to upstream these changes to the official mandiant/capa repository. I’d love for people to try it out and let me know how the performance feels or if you run into any quirks.
Again, a live version can be found here: https://surfactant.readthedocs.io/en/latest/capa/
And the source files for the page is here: https://github.com/llnl/Surfactant/tree/main/docs/capa
Suggestions and bug reports are welcome!