Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I want that feature too, but in reality, many non-trivial extensions require the execution of binaries such as language servers. Applying capability models to these executables will require OS support or containerization, but the overhead for memory and disk will be huge. In fact, even an extension to auto-complete paths in .gitignore files requires running a language server written in Rust [1], and it has the real benefit of supporting multiple editors with ease. If the "prettiest java" or "python-vscode" extensions in the article insisted on needing full permissions for Java or Python execution, I believe users would be convinced and end up installing them.

[1] https://github.com/quentinguidee/gitignore-ultimate-vscode



A language server for gitignore is not what I was expecting to come across this morning.

https://github.com/quentinguidee/gitignore-ultimate-server


> Applying capability models to these executables will require OS support or containerization, but the overhead for memory and disk will be huge.

This is because most OSes use outdated security model where the app gets all privileges by default and poor users have to build containers to revoke them, that's why there is an overhead.

If the extension only has access to project files then all applications launched by it should inherit its restrictions.


This… is a very strong objection and I think you’re right that users would be convinced. I didn’t think capabilities would be a panacea but I did think they would be pretty close, I have to revise that down somewhat.


Couldn't you just run the language server in webassembly?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: