170 karma · joined May 9, 2009
[edit] grammar
They appear to have considered the obvious things: write and execute access to files and other resources from restricted processes, preventing harmful windows message behavior.
But would a process with low integrity have read access to every other resource with low integrity? Or is that further constrained by some other access control mechanism? Also, I don't think it's a feature for an unprivileged process to have registry access, though I understand there may be reasons for it.
It could also be argued that there is a larger attack surface for protected mode processes, because they can call any OS function, but are just denied when they don't have the access level to commit the action.
I must admit I am behind the times with regards to Windows system programming.
The code is open; part of the NaCL API is designed around Posix/Linux; the Plugin API is the familiar NPAPI and its extensions.
Which part is proprietary or controlled by Google?
To my mind, some more relevant questions are: Does this tie the web to x86 (and ARM)? Can it be adapted securely to x86-64? Can it be made secure? Can multiple implementations be made secure?
Their homepage has a paper and video describing this in detail: http://code.google.com/p/nativeclient/
[edit] Just realized I didn't respond to the meat of your post. Theoretically, there is no reason why any warning would be necessary for running a NaCl plugin because the sandboxing would be secure.
As far as I know, it mainly relies on signatures. What happens when you trust a control that has a bug which overwrites your hard disk? And that's leaving out malicious code...
You have a nice service, but this is too much. Also, it prompted me to take another look at your terms of service, which are surprisingly onerous. You've lost a user and an advocate. Good luck.
There are clean, high-level Ruby wrappings of UIKit classes, see HotCocoa: http://macruby.com/hotcocoa.html, although it's not clear to me how extensive this part of MacRuby is.
Your solution changes the background color for all windows.
Counterpoint in favor of Apple:
Contributions to an open web: Open source development of Webkit and now Webkit2, HTML5 Canvas, Adverserial stance towards Flash in favor of HTML5 [iPad, iPhone]
Contributions to open-source tools: LLVM and CLang, MacRuby support, launchd, Cocoa bindings from other languages [possibly phased out?]
Contributions to open-source operating systems: OpenDarwin http://www.opensource.apple.com/
Developer ease: Nice set of installed developer applications, Development environment based on standard opensource toolchain, Compiling command-line tools from Linux/BSDs is sane and easy, Compiling X11 dependent apps is possible
Multi-platform support: BootCamp, The only system capable of running the three major desktop operating systems easily and legally.
High quality, hackable GUI environment and applications: Cocoa applications are generally built to a far higher standard than Linux GUI applications IMO, Cocoa applications are imminently hackable (see SIMBL)
Hardware innovation and quality: Forward thinking innovation in hardware: Mac Air, for example, gets rid of even ethernet!, MacBook Pro line widely acknowledged as top-tier development machine
[Disclosure: I have no stake in Apple.]