Giter Club home page Giter Club logo

edgelesssys / edgelessrt Goto Github PK

View Code? Open in Web Editor NEW
132.0 7.0 20.0 96.72 MB

Edgeless RT is an SDK and a runtime for Intel SGX. It combines top-notch Go support with simplicity, robustness and a small TCB. Developing confidential microservices has never been easier! C++17 and Rust (experimental) are also supported.

Home Page: https://edgeless.systems

License: MIT License

Shell 4.23% CMake 22.93% C 26.87% C++ 43.20% Python 0.54% Go 1.64% Dockerfile 0.59%
trusted-execution-environment enclave sgx confidential-computing golang rust intel-sgx confidential-microservices

edgelessrt's People

Contributors

anakrish avatar andyleejordan avatar anitagov avatar arjunvnambiar avatar aserdean avatar berinpaul avatar bmhsieh avatar brmclaren avatar dthaler avatar gupta-ak avatar hernangatta avatar ionutbalutoiu avatar jazzybluesea avatar jhand2 avatar jorkl avatar jxyang avatar letmaik avatar lk2100 avatar mikbras avatar mingweishih avatar oeciteam avatar olgavrou avatar oprinmarius avatar radhikaj avatar rr294 avatar soccergb avatar sushantstripathi avatar thomasten avatar vishnumohan1991 avatar zehranaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

edgelessrt's Issues

7 tests failed in Ctest

image
I followed the compilation process in the documentation, but when I use Ctest, 7 tests still fail.
But when I use Ctest in simulation mode, it report 0 test fail.
image
Is that ok or not?

Ninja command failed. Untrusted signature error

Issue description

The build should complete successfully when running the ninja command but it failed.

To reproduce

Steps to reproduce the behavior:

1.I tried to build from the source
2.All steps except the last one failed
3.I get errors and failed message when running ''ninja''

Expected behavior

The build should have completed successfully.

Additional info / screenshot

Screenshots attached.
image
image
image
image

Report Security Vulnerabilities

Hello,

I might find some security vulnerabilities in edgelessrt. Is edgelessrt a production-ready SGX SDK? Is there any way that I can report security-related problems to you?

build failure due to -Werror=jump-misses-init

is there any tag that is known to build?

home/aep/consulting/enclaive/edgelessrt/build/3rdparty/openenclave/openenclave-src/include/openenclave/internal/raise.h:86:9: error: jump skips variable initialization [-Werror=jump-misses-init]
   86 |         goto done;                                        \
      |         ^~~~
/home/aep/consulting/enclaive/edgelessrt/build/3rdparty/openenclave/openenclave-src/include/openenclave/internal/raise.h:169:13: note: in expansion of macro ‘OE_RAISE’
  169 |             OE_RAISE(_result_);              \
      |             ^~~~~~~~
/home/aep/consulting/enclaive/edgelessrt/build/3rdparty/openenclave/openenclave-src/host/sgx/loadelf.c:1144:13: note: in expansion of macro ‘OE_CHECK’
 1144 |             OE_CHECK(oe_safe_add_u64(offset, dynamic_rva, &offset));
      |             ^~~~~~~~
/home/aep/consulting/enclaive/edgelessrt/build/3rdparty/openenclave/openenclave-src/host/sgx/loadelf.c:1180:1: note: label ‘done’ defined here
 1180 | done:
      | ^~~~
/home/aep/consulting/enclaive/edgelessrt/build/3rdparty/openenclave/openenclave-src/host/sgx/loadelf.c:1154:11: note: ‘new_relocation_data’ declared here
 1154 |     void* new_relocation_data = NULL;
      |           ^~~~~~~~~~~~~~~~~~~

Make Error at CMakeLists.txt When test the go samples

I followed the document here:
image
and when I execute cmake .. under the build. it will report the error:
CMake Error at CMakeLists.txt:17 (add_executable):
Target "enclave" links to target "openenclave::ertdeventry" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
image

I have checked the CmakeList.
image
target_link_libraries(enclave openenclave::oeenclave openenclave::ertdeventry
${CMAKE_BINARY_DIR}/hello.a)
This command requires to link the openenclave:;ertdeventry. but when I checked the file under openenclave/cmake, it shows like that
image
there is no openenclave::ertdeventry.

anyone knows? :(

Linking error when executing go_ra sample.

Hi,
I receive a linking error when trying to build the go_ra sample. Seems like a libstdc++ compatibility issue, however I can't figure out how to resolve this.
I use gcc v11.3.0, clang 14.0.0.1, libstdc++.so.6.0.30, running on Ubuntu 22.04.

Thanks for any pointers.

The output after running make:

[  0%] Built target app
[ 25%] Building C object CMakeFiles/enclave.dir/main.c.o
[ 50%] Linking CXX executable enclave
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(guard.o): in function `__cxa_guard_acquire':
(.text.__cxa_guard_acquire+0x17): undefined reference to `__libc_single_threaded'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(guard.o): in function `__cxa_guard_abort':
(.text.__cxa_guard_abort+0x7): undefined reference to `__libc_single_threaded'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(guard.o): in function `__cxa_guard_release':
(.text.__cxa_guard_release+0x7): undefined reference to `__libc_single_threaded'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(stdexcept.o): in function `std::logic_error::~logic_error()':
(.text._ZNSt11logic_errorD2Ev+0x63): undefined reference to `__libc_single_threaded'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(stdexcept.o): in function `std::runtime_error::~runtime_error()':
(.text._ZNSt13runtime_errorD2Ev+0x63): undefined reference to `__libc_single_threaded'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(stdexcept.o):(.text._ZNSt11logic_errorC2ERKSs+0x73): more undefined references to `__libc_single_threaded' follow
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/enclave.dir/build.make:118: enclave] Error 1
make[1]: *** [CMakeFiles/Makefile2:112: CMakeFiles/enclave.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

coredump in sample:go_ra (v0.2.5)

Issue description

Remote attestation failed in sample "go_ra" (version v0.2.5)

To reproduce

Steps to reproduce the behavior:

  1. Follow "Quick Start" in ubuntu18.04 docker container
  2. Install dcap components following openenclave
  3. Run container with --device /dev/sgx
  4. Build sample go_ra
  5. Run erthost enclave.signed and got coredump

Expected behavior

It works fine in version v0.2.3

Additional info / screenshot

Screen Shot 2021-07-28 at 11 05 30

What are the design and implementation principles of edgelessrt

Hi, "Edgeless RT is an SDK for Trusted Execution Environments (TEE) built on top of Open Enclave."
It also looks like a libos, because it supports Go/C/C++/Rust apps, how does edgelessrt do it?

So, what is the differences between edgelessrt and ego?

Are there any documents showing the design principles of edgelessrt or ego?

Thanks.

OE_PLATFORM_ERROR

when I test the sample remote_attestation. it report the error.
image
do you know how to fix it?

How to add custom enclave entry function?

Could help to provide examples for adding custom enclave entry function?

ertdeventry must not be used in production, as the README said, and ertmeshentry seems to introduce some extra packages related with marble.

I saw test case customentry and tried to create a custom enclave entry function based on it, but got error when using add_enclave_library in CMake.

Will you take a look at it, when you have time?
Thanks in advance.

openenclave-src/host/sgx/create.c:_initialize_enclave:488

how would i get more debug info out of erthost?

/opt/edgelessrt/bin/erthost coordinator-enclave.signed
[erthost] loading enclave ...                                                                              
ERROR: :OE_FAILURE [openenclave-src/host/sgx/create.c:_initialize_enclave:488]
ERROR: oe_create_enclave failed. (Set OE_SIMULATION=1 for simulation mode.) [src/tools/erthost/erthost.cpp:main:265]

this is with https://github.com/edgelesssys/edgelessrt/releases/tag/v0.3.2
and https://github.com/edgelesssys/marblerun/releases/tag/v0.5.1

Running sample

I am trying to run
edglessrt go sample

Getting error while running OE_SIMULATION=1 erthost enclave.signed
root@d1cc01526652:/com.docker.devenvironments.code/edgelessrt/samples/go/build# OE_SIMULATION=1 erthost enclave.signed
[erthost] running in simulation mode
[erthost] loading enclave ...
Illegal instruction

Steps to reproduce on our end:

clone edgelessrt and go to samples/go
run mkdir build
run cd build
run cmake
run make
run OE_SIMULATION=1 erthost enclave.signed

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.