Social networks have begun supporting external content integration with platforms like OpenSocial and the Facebook API. These platforms let users install third- party applications and are a popular example of a  mashup . Content integration is often accomplished by proxying the third-party content or importing third-party scripts. However, these methods introduce serious risks of user impersonation and data exposure. Modern browsers provide no mechanism to differentiate between trusted and untrusted embedded content. As a result, content providers are forced to trust third-party scripts or ensure user safety by means of server-side code sanitization. We demonstrate the difficulties of server-side code filtering -- and the ramifications of its failure - with an example from the Facebook Platform. We then propose browser modifications that would distinguish between trusted and untrusted content and enforce their separation.
['Adrienne Felt', 'Pieter Hooimeijer', 'David Evans', 'Westley Weimer']
Talking to strangers without taking their candy: isolating proxied content