카자 프로젝트

Caja project

Caja(/kɑh/[1]KAH-ha로 발음)는 서드파티 HTML, CSS 및 JavaScript를 삭제하기 위한 Google 프로젝트입니다.2021년 1월 31일 Google은 최신 웹 보안 연구를 따라잡기 위해 알려진 취약성과 유지보수가 부족하여 프로젝트를 아카이브하고 대신 Closure [2]툴킷을 추천했습니다.

Caja는 2008년 Google의[3][4] 연구 과학자 Mark S. Miller에 의해 객체 기능의 원리에 기초한 "가상 iframes"용 JavaScript 구현으로 설계되었습니다.JavaScript(기술적으로는 ECMAScript 5 strict mode code), HTML 및 CSS 입력을 사용하여 HTML 및 CSS의 안전한 서브셋으로 고쳐 쓰고 빈 변수가 없는 단일 JavaScript 함수로 다시 씁니다.즉, 이러한 함수가 개체를 수정할 수 있는 유일한 방법은 호스트 페이지에서 개체에 대한 참조가 제공되는 경우입니다.호스트 페이지는 일반적으로 DOM 오브젝트를 직접 참조하는 것이 아니라 HTML, 프록시 URL을 삭제하고 페이지의 리다이렉트를 방지하는 래퍼에 대한 참조를 제공합니다.이를 통해 Caja는 특정 피싱 및 크로스 사이트 스크립팅 공격을 방지하고 말웨어 다운로드를 방지할 수 있습니다.또한 다시 작성된 모든 프로그램이 동일한 프레임 내에서 실행되었기 때문에 호스트 페이지는 한 프로그램이 다른 프로그램으로 객체 참조를 내보낼 수 있도록 허용하고 프레임 간 통신은 단순히 메서드 호출이었습니다.

"caja"라는 단어는 스페인어로 "박스" 또는 "안전"을 의미하며, Caja는 기능 기반 JavaScript일 뿐만 아니라 JavaScript 프로그램을 안전하게 포함할 수 있다는 개념입니다.

Caja는 Google Apps[5] Script 제품에서 Google에 의해 사용되었습니다.2008년[6][7], MySpace와 [8]Yahoo!는 모두 매우 초기 버전의 Caja를 도입했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Mark, Miller. "Caja discussion on the Caplet Group". [cap-talk]. [e-lang]. Archived from the original on 15 May 2008.
  2. ^ "Introduction - Caja". Google Developers. Archived from the original on 22 January 2021.
  3. ^ Miller, Mark S.; Samuel, M; Laurie, B; Awad, I; Stay, M (7 June 2008). "Safe active content in sanitized JavaScript". Google Scholar.
  4. ^ Synodinos, Dio (25 February 2011). "ECMAScript 5, Caja and Retrofitting Security, with Mark S. Miller". InfoQ.
  5. ^ "Html Service: Caja Sanitization". Google Developers. Archived from the original on 26 August 2013.
  6. ^ "MySpace: Caja JavaScript scrubbing ready for prime time". 4 February 2008. Archived from the original on 1 October 2008.
  7. ^ "Web 2.0 Investors: Pay Attention To Caja". Tim Oren's Due Diligence. 11 April 2008.
  8. ^ Pullara, Sam (28 October 2008). "OpenSocial API Blog: Launched: Yahoo!'s First Implementation of OpenSocial Support". OpenSocial. Archived from the original on 16 December 2008.

외부 링크