Git Product home page Git Product logo

ses's Introduction

Secure EcmaScript (SES)

Build Status dependency status dev dependency status License

Secure EcmaScript (SES) is a frozen environment for running EcmaScript (Javascript) 'strict' mode programs with no ambient authority in their global scope, and with the addition of a safe two-argument evaluator (SES.confine(code, endowments)). By freezing everything accessible from the global scope, it removes programs abilities to interfere with each other, and thus enables isolated evaluation of arbitrary code.

It runs atop an ES6-compliant platform, enabling safe interaction of mutually-suspicious code, using object-capability -style programming.

See https://github.com/Agoric/Jessie to see how SES fits into the various flavors of confined EcmaScript execution. And visit https://rawgit.com/Agoric/SES/master/demo/ for a demo.

Derived from the Caja project, https://github.com/google/caja/wiki/SES .

Still under development: do not use for production systems yet, there are known security holes that need to be closed.

Incorporates (as a git submodule) the Realms shim, which is a TC39 proposal spec here: https://github.com/tc39/proposal-realms .

Install

npm install npm run build

Run the test suite

npm test

Bug Disclosure

Despite this not being ready for production use, we'd like to get into the practice of responsible disclosure. If you find a security-sensitive bug that should not be revealed publically until a fix is available, please send email to security at (@) agoric.com. To encrypt, please use my (@warner) personal GPG key A476E2E6 11880C98 5B3C3A39 0386E81B 11CAA07A . Keybase users can also send messages to @agoric_security, or share code and other log files via the Keybase encrypted file system (/keybase/private/agoric_security,$YOURNAME).

For non-security bugs, use the regular Issues page.

ses's People

Contributors

warner avatar michaelfig avatar katelynsills avatar erights avatar jfparadis avatar kumavis avatar agoricbot avatar dckc avatar dtribble avatar mappum avatar mikesamuel avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.