3 ms·
Google Caja - A source-to-source translator for securing Javascript-based web content
- sspencer 18y agoI saw an incredible presentation on this at the MIT monthly Lisp meeting by the ex-OLPC security guy and BitFrost architect Ivan Krstic. Fascinating idea, and something that made me really want to explore the uses of JavaScript in terms of security. It also made me wonder about the feasibility of implementing a capabilities system in CLisp or Scheme. So many ideas, so little time... The spec is great reading, too [PDF]: http://google-caja.googlecode.com/files/caja-spec-2008-06-07.pdf http://google-caja.googlecode.com/files/caja-spec-2008-06-07...
- rcoder 18y agoI've actually been mulling over the possibility of combining the capability security model with a continuation-based web application framework, and think a Lisp with continuations (like Scheme or Arc) might be the easiest substrate from which to start. It seems like a natural fit: your current capability grants would be closed over in any lexical scope, which means that a continuation would also encapsulate a capability set. Resuming the continuation would implicitly restore the security context active when it was captured.
- randombit 18y agoA capabilities system in Scheme was done in the 90s, though AFAIK it is now dead. Still the paper describing it is worth reading and may give you some inspiration: http://fare.tunes.org/tmp/emergent/secureos.htm http://fare.tunes.org/tmp/emergent/secureos.htm
- DaniFong 18y agoGlad to see this. If more platforms like, say, wordpress.com, allowed Caja, we'd see a lot more secure widgets out there.
- rcoder 18y agoCaja is largely based on the capability security model as explored in the E programming language. There are some great tutorials and links to further work on capability security at the E language website: http://www.erights.org/ http://www.erights.org/