3 ms·
Another thing that Austral gets right is capability-based permissions for packages, in recognition of the growing danger of supply chain attacks. See for exampl
by fwlr 4y ago
Another thing that Austral gets right is capability-based permissions for packages, in recognition of the growing danger of supply chain attacks. See for example https://blog.phylum.io/pypi-malware-replaces-crypto-addresses-in-developers-clipboard https://blog.phylum.io/pypi-malware-replaces-crypto-addresse... - a bunch of typo-squatting Python packages that use setup.py to write a JavaScript file into the developer’s filesystem (specifically the Windows Start Menu) and register it as a background process inspecting and altering the clipboard to replace crypto wallet addresses with the attacker’s own wallet address. Why can a setup.py in /home/user/.local/lib/python3.6/site-packages or wherever access the Windows Start Menu folder and write files there? Well, because code is almost universally permission-less. Austral’s solution is to give granular permissions: “capabilities can be arbitrarily granular. Beneath the capability to access the entire filesystem, we can have a capability to access a specific directory and its contents, or just a specific file, further divided into read, write, and read-write permissions. For network access, we can have capabilities to access a specific host, or capabilities to read, write, and read-write to a socket.”
- zozbot234 4y ago> Another thing that Austral gets right is capability-based permissions for packages, in recognition of the growing danger of supply chain attacks. inb4 Java did it first.
- andrewflnr 4y agoNot really. It's dubious at best for applets; I haven't used it, but I don't know of any mechanism in the applet environment that prevents libraries from accessing the same APIs as main(), and executing the same side effects. Outside that context, I know there's no such mechanism. Libraries can open whatever files and sockets they feel like, no capability-based permissions required.