Ontem à noite, me deparei com o seguinte problema:
Possuía uma página que recebia um objeto javascript, este, porém, possuía uma propriedade que receberia um valor previamente informado pelo usuário.
Exemplo:

De cara, nota-se uma possível falha de segurança, imagine caso um usuário mal intencionado informasse um valor como:
xss', poison:function(){alert('xss')}(), foo: '
A minha resposta seria:

Que como vocês podem notar, ainda é um objeto javascript válido, porém esta envenenado com xss.
Caso eu desejasse consumir este objeto na página, receberia uma mensagem de alerta durante o eval.
Para corrigir este problema desenvolvi esta pequena função em VB.NET

Que simplesmente substitui os caracteres especiais por suas representações Unicode ref http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Unicode
Então, apos este método, quando recebo strings envenenadas meu objeto Javascirpt fica assim:

Espero que ajude, abraços