...
Sure there are a few cases where this isn't true, especially for apps that connect to the internet, but for apps that don't need internet access and don't load arbitrary data...
I find the last part "... and don't load arbitrary data..." especially notable. Sure, there's some truth to it: if you only bother reading and writing our OWN data -ever-, sure, your applications won't get compromised in a malicious way.
However more and more data comes from "somewhere else", via email from friends, you rely on your data in some clouded service (ever thought of the consequences if someone managed to hack such a "cloud service", and would replace all your iWorks documents which would then be able to exploit a security hole in iWorks -wuah, the fun!), you downloaded it yourself...
So these "few cases" might be more than you think!
On another note: the idea of sandboxing is just the "second defence line of many" (the first one
should be the user. The last one is the OS itself) and per se a good idea! Software is not bulletproof - fact!
But there's always this thin line between security (which implies restrictions and usually those restrictions are good!) and freedom. The freedom to enumerate hardware and even manipulate it, for instance!
Now it is up to Apple to establish this line, which naturally comes with trade-offs (e.g. no applications which manipulate hardware are possible in the app store - how much would that put off our users?).
An interesting problem is certainly the possibility to browse the filesystem, naturally necessary for the given example of an FTP application: the trick here would off course be to split such an application into
several processes with
different entitlements: the file system browser would only be allowed to read the filesystem (but
no networking!), the file uploader would only be allowed to read and write file the user has explicitly selected (via the Open/Save dialogs), the actual FTP app would only be allowed to do networking (but
no file access whatsoever) etc.
Off course this "modularisation" of an existing application does not come "for free" (and yes, that
is hard work to re-engineer such an existing application without breaking anything). And I did not follow the latest sandbox restrictions, but there are certain restrictions which do currently and will continue to exclude certain types of applications.
One possible solution for the FTP application problem could e.g. be to say "a module can have full access to the filesystem, but that must then exclude the ability to do networking and ..., that is only certain combinations of entitlements are allowed (or not allowed).
How that will be handled in the future by Apple is an interesting topic, but again, sandboxing per se is a Good Thing(tm)!
Cheers