Monorepo of our ahead-of-time implementation of Secure ECMAScript

Overview

Ahead-of-time Secure EcmaScript

The monorepo contains a set of packages that helps adopt SES in a pre-compiled way.

Security Assumptions

This project has the following security assumptions (based on our usage):

  1. Environment is already lockdown() by ses.
  2. Dynamic code execution (eval and Function) is not possible (if it is possible, please use the Compartment provided by ses).
  3. Files executed are either precompiled into SyntheticModuleRecord or trusted.

Roadmap

  • @masknet/static-module-record-swc: A swc plugin to transform ES Module into SyntheticModuleRecord.
  • @masknet/compartment: An eval-less implementation of Compartment.
  • @masknet/web-endowments: Provide common Web APIs, with AbortSignal support to cancel out all side effects within a compartment, and provide attenuations (e.g. limits accessible databases of indexedDB, or limit accessible domains in fetch).
  • @masknet/membrane: A membrane library.
  • @masknet/intrinsic-snapshot: Make a snapshot of all intrinsic (including host APIs).
Comments
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 04e8825: update swc
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    @masknet/[email protected]

    Patch Changes

    • 8d80a6a: feat: add devtools debugger entry point
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Minor Changes

    • 4128bdc: change signature of Module constructor to follow upstream spec

    Patch Changes

    @masknet/[email protected]

    Minor Changes

    • d52bc2e: add new transform options: eval

    Patch Changes

    • d52bc2e: upgrade deps
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 319ace2: follow upstream spec change
    • abd0433: support async stack tagging API
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 48e5022: update dependencies

    @masknet/[email protected]

    Patch Changes

    • 48e5022: update dependencies
    • 7a2c83c: update dependencies

    @masknet/[email protected]

    Patch Changes

    • 48e5022: update dependencies
    • 54dd8c4: follow swc version
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 2a8c9f7: follow tc39/ecma262#2905
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • bafad7d: adopt new module loading refactor spec
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • d708b09: fix: live export does not setup correctly
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 91a63b6: fix: alias import and default import not working
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Patch Changes

    • 6ecb93a: fix: hangs when a module import itself
    opened by github-actions[bot] 0
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @masknet/[email protected]

    Minor Changes

    • da873b1: add commonjs support

    Patch Changes

    • 63dfba3: upgrade dependencies

    @masknet/[email protected]

    Minor Changes

    • da873b1: add commonjs support

    Patch Changes

    • 63dfba3: upgrade dependencies

    @masknet/[email protected]

    Patch Changes

    • 63dfba3: upgrade dependencies

    @masknet/[email protected]

    Minor Changes

    • 7a9038b: first release

    Patch Changes

    • 63dfba3: upgrade dependencies
    • Updated dependencies [da873b1]
    • Updated dependencies [63dfba3]
    opened by github-actions[bot] 0
Releases(@masknet/[email protected])
Owner
Dimension
Dimension official development organization
Dimension
Joystream Monorepo

Joystream This is the main code repository for all Joystream software. In this mono-repo you will find all the software required to run a Joystream ne

Joystream 152 Dec 28, 2022
Subspace Monorepo

Subspace Network Monorepo This is a mono repository for Subspace Network implementation, primarily containing Subspace node/client using Substrate fra

subspace 182 Dec 24, 2022
Project Serum Rust Monorepo

serum-dex Project Serum Rust Monorepo Website | Discord | Awesome | DEX | TypeScript Program Deployments Program Devnet Mainnet Beta DEX DESVgJVGajEgK

Project Serum 564 Dec 31, 2022
A monorepo containing all the custom components of the Astria network

A monorepo containing all the custom components of the Astria network, a decentralized system that replaces traditional sequencers, offering a shared, permissionless sequencer network.

Astria 6 Jun 7, 2023
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 30, 2022
User-friendly secure computation engine based on secure multi-party computation

CipherCore If you have any questions, or, more generally, would like to discuss CipherCore, please join the Slack community. See a vastly extended ver

CipherMode Labs 356 Jan 5, 2023
A guide for Mozilla's developers and data scientists to analyze and interpret the data gathered by our data collection systems.

Mozilla Data Documentation This documentation was written to help Mozillians analyze and interpret data collected by our products, such as Firefox and

Mozilla 75 Dec 1, 2022
A safe implementation of the secure remote password authentication and key-exchange protocol (SRP), SRP6a and legacy are as features available.

Secure Remote Password (SRP 6 / 6a) A safe implementation of the secure remote password authentication and key-exchange protocol (SRP version 6a). Ver

Sven Assmann 10 Nov 3, 2022
Pure Rust implementation of components of the Secure Shell (SSH) protocol

RustCrypto: SSH Pure Rust implementation of components of the Secure Shell (SSH) protocol. Crates Name crates.io Docs Description ssh—encoding Decoder

Rust Crypto 27 Dec 27, 2022
Secure storage for cryptographic secrets in Rust

secrets secrets is a library to help Rust programmers safely held cryptographic secrets in memory. It is mostly an ergonomic wrapper around the memory

Stephen Touset 165 Dec 22, 2022
Use Touch ID / Secure Enclave for SSH Authentication!

SeKey About SeKey is a SSH Agent that allow users to authenticate to UNIX/Linux SSH servers using the Secure Enclave How it Works? The Secure Enclave

SeKey 2.3k Jan 5, 2023
A fast and secure multi protocol honeypot.

Medusa A fast and secure multi protocol honeypot that can mimic realistic devices running ssh, telnet, http, https or any other tcp and udp servers. W

Simone Margaritelli 268 Dec 26, 2022
Cross-platform Secure TUI Secret Locker

SafeCloset keeps your secrets in password protected files. SafeCloset is designed to be convenient and avoid common weaknesses like external editing o

Canop 63 Dec 26, 2022
A Secure Capability-Based Runtime for JavaScript Based on Deno

Secure Runtime secure-runtime, as the name implies, is a secure runtime for JavaScript, designed for the multi-tenant serverless environment. It is an

Gigamono 7 Oct 7, 2022
Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.

Building 1. Install rustc, cargo and rustfmt. $ curl https://sh.rustup.rs -sSf | sh $ source $HOME/.cargo/env $ rustup component add rustfmt When buil

Solana Foundation 9.8k Jan 3, 2023
Scrypto Advent Calendar. Learn the new programming langage to build quick and secure DeFi applications.

Scrypto Advent Calendar I am publishing new Christmas related Scrypto examples every day from Dec 1st to Dec 25th. "Watch" this project to get notifie

Clement Bisaillon 26 Nov 13, 2022
Simplified, secure privledge escalation

doit.rs A simplified privledge escalation tool. Attempting to combine the memory safety guarantees of Rust with a small, auditable codebase. I was rea

Adam 3 Jan 6, 2022
A secure development tool box and fintech application made with Rust to be used for developing cryptocurrencies on the blockchain.

Crypto Fintech Tools for Rust (CFT) Dependencies Rust MacOS Homebrew # xcode cli tools xcode-select --install # install dependencies using Homebrew b

Phil Hills 1 Apr 15, 2022