proyecto caja


Caja (pronunciado / ˈ k ɑː h ɑː / KAH -hah ) [1] fue un proyecto de Google para desinfectar HTML , CSS y JavaScript de terceros . El 31 de enero de 2021, Google archivó el proyecto debido a vulnerabilidades conocidas y falta de mantenimiento para mantenerse al día con las últimas investigaciones de seguridad web, recomendando en su lugar el kit de herramientas Closure . [2]

Caja fue diseñada por el científico investigador de Google Mark S. Miller en 2008 [3] [4] como una implementación de JavaScript para "iframes virtuales" basada en los principios de las capacidades de los objetos . Tomaría JavaScript (técnicamente, el código de modo estricto de ECMAScript 5 ), HTML y CSS y lo reescribiría en un subconjunto seguro de HTML y CSS, además de una única función de JavaScript sin variables libres . Eso significa que la única forma en que una función de este tipo podría modificar un objeto era si la página de host le daba una referencia al objeto. En lugar de dar referencias directas a DOMobjetos, la página de host generalmente brinda referencias a contenedores que desinfectan HTML, URL de proxy y evitan redirigir la página; esto permitió a Caja prevenir ciertos ataques de phishing y cross-site scripting , y evitar la descarga de malware . Además, dado que todos los programas reescritos se ejecutaban en el mismo marco, la página de host podría permitir que un programa exporte una referencia de objeto a otro programa; entonces la comunicación entre cuadros era simplemente la invocación de métodos.

La palabra "caja" es español para "caja" o "caja fuerte" (como en un banco), la idea es que Caja podría contener programas JavaScript de manera segura, además de ser un JavaScript basado en capacidades .

Caja fue utilizada por Google en sus productos Google Apps Script [5] . En 2008 MySpace [6] [7] y Yahoo! [8] ambos habían implementado una versión muy temprana de Caja.