Google goes Native Client
A research project at Google aims to let x86 native code run in any web browser, safely, letting the code take full advantage of the local CPU power. The Native Client project aims to create a browser neutral way of running x86 code in web applications. The research is at an early stage and Google has gone public with Native Client to get feedback from the security and open source communities.
Native Client is composed of a browser plug-in and a GCC based compiler. The plug-in works with Firefox, Safari, Opera and Google Chrome. Linux, Mac OS X and Windows are all supported too, with only Internet Explorer being the exception. According to a blog posting from the development team versions of Native Client for ARM and PPC instruction sets are in development.
To make use of Native Client, a developer uses the special GCC tool-chain to compile and prepare their code for execution by the plug-in. The plug-in then provides a sand-boxed execution environment for the x86 code. A white paper published by the team looks at this process in detail, including how the sandbox is designed.
Wether Google Native Client can deliver its promise of safe x86 code execution will have to be seen, but early exposure to the community should, at the very least, ensure that any low hanging security issues will be identified early on.