-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Implement a plugin that can retrieve Marlin TEE remote attestations #935
feat: Implement a plugin that can retrieve Marlin TEE remote attestations #935
Conversation
Hey! Nice to see another TEE option here. We should talk more on how we want to document and educate developers on TEE and the different options available for devs to get started. Some comments:
|
7cb413c
to
6d434df
Compare
Rebased on latest main and added linting. cc: @odilitime |
Hey @roshanrags, sorry for the delay here. I have a coupl of questions:
|
da2b663
to
bea8456
Compare
Rebased on latest develop. |
Yes.
It makes a HTTP request to fetch attestations.
The attestation would not verify properly in this case. A valid production attestation should fully verify and be anchored to AWS's root certificate. The mock server generates valid attestations but they are anchored to a custom root certificate instead. |
Any idea what's failing here? https://github.com/ai16z/eliza/actions/runs/12367420001/job/34515692344?pr=935 The chat interface seems to set itself up just fine 🤔 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM @roshanrags the failure here is probably a bug in develop and not introduced by you, but we can get this merged
ccbff80
to
bbdd4e0
Compare
Rebased on the latest develop. |
bbdd4e0
to
c55fa3c
Compare
The lockfile wants things to be ordered alphabetically, the elizaos rename seems to have messed that up btw. |
0e635af
to
a261b6b
Compare
a261b6b
to
51948c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Is this good to go @odilitime?
Risks
Low.
Background
What does this PR do?
This PR aims to add a plugin that makes Eliza verifiable through the use of TEEs. The plugin leverages the Marlin Oyster platform and SDKs. More concretely, it adds an action that lets Eliza respond with remote attestations when asked. It is expected to be followed up with additional PRs for other aspects as well.
What kind of change is this?
Features.
Why are we doing this? Any context or related work?
It's important for AI agents to be verifiable in Web3 so users can verify behaviors and responses of an agent they are interacting with. A performant way of accomplishing this is running the agent in a TEE and providing remote attestation infrastructure for verification by users. Additionally, TEEs provide privacy protections to users' interactions with agents.
It is similar in spirit to
plugin-tee
but targets the Marlin Oyster stack instead.Documentation changes needed?
Yes. A section on the plugin has been added.
Testing
Where should a reviewer start?
The README of the plugin. It specifies the
.env
settings as well as how to run a mock attestation server for local testing.Detailed testing steps
docker run --init --rm -p 1350:1350 marlinorg/attestation-server-custom-mock
TEE_MARLIN=yes
should suffice.Discord username
roshanroshan