For agents developers
Verify Attestation
For agents developers
Verify Attestation
Galadriel Verified Inference API provides LLM inferences results that are signed by the TEE private key and attested by AWS enclave. This page gives overview on how to verify the attestation.
Please see the quickstart to get an LLM inference response.
Please see the verify-signatures to see how to verify the signature
1
Get the LLM inference response as in quickstart
This is an example response with some information redacted:
{
"id": "chatcmpl-AgAQhAGTZKog9p0wPC7aVOXT44046",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Hello! How can I assist you today?",
"refusal": null,
"role": "assistant",
"function_call": null,
"tool_calls": null,
"audio": null
}
}
],
"hash": "fa1eb8b9c330cf13f3643d46bc7e10510fa207a4e80645c795f82c3ddf9806ad",
"public_key": "Dp2k554Ebsij5RjuhjsZujVW2bJnQzfb43VYZSQ4NZo1",
"attestation": "hEShATgioFkRP6lpbW9kdWxlX2lkeCdpLTAxYWMwZDExNTgyMTE5Yzc5LWVuYzAxOTNkNGY0YTI5MDI5NDNmZGlnZXN0ZlNIQTM4NGl0aW1lc3RhbXAbAAABk98BdQlkcGNyc7AAWDCjV1iARxeBUUyDk17nfdj8cQUS2vXTBszuLCq7CYXjX+oIQ/DpUKdPjRdUH8Zt0OQBWDADQ7BWzYSFyniQ3dgzR214RgrtKqFhVI5OJr7fMhcmaWJX1iPogF8/YFlGs9iwxqoCWDDhQ4UXdCBzIEmTwSrVg8ocNhh4PAeBjHfAPN98B8+taI0iebm9miJ8uNBWe5qIUUsDWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWDAxnyEmxgjpwUp+8ptWmNH1Pi4lAU0gLe1MrIvqHV2jeoUG/XCsACb57odarkXU4k8FWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrY2VydGlmaWNhdGVZAoYwggKCMIICB6ADAgECAhABk9T0opApQwAAAABnY/uYMAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQLDANBV1MxPDA6BgNVBAMMM2ktMDFhYzBkMTE1ODIxMTljNzkuZXUtY2VudHJhbC0xLmF3cy5uaXRyby1lbmNsYXZlczAeFw0yNDEyMTkxMDU1MTdaFw0yNDEyMTkxMzU1MjBaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQLDANBV1MxQTA/BgNVBAMMOGktMDFhYzBkMTE1ODIxMTljNzktZW5jMDE5M2Q0ZjRhMjkwMjk0My5ldS1jZW50cmFsLTEuYXdzMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4XwdUM3+u6ArLPDzCkpoc63xYkrakzYDqMi6L6Q0rPlgefHPAuTP3A80qHTlH1bbG1iDqQtBLUkyFliFFyoG8vOU0uDFJk7PL8bJf3LbzadFQWsgN1+QRb6p5TgIoNsaox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDAKBggqhkjOPQQDAwNpADBmAjEA11dq7yaKB+8HwvFNtk0yiBiXIu3d9OK0vEeBYH8+qLJ85qGZZgcDaR/npTGlKFS7AjEAil0Rpe1GDKnVK6+w4+tq+jCHwOlmUbhKl25btnZv1PpY8TPBUcxM0QSYroufseLxaGNhYnVuZGxlhFkCFTCCAhEwggGWoAMCAQICEQD5MXVoG5Cv4R1GzLTk5/hWMAoGCCqGSM49BAMDMEkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKDAZBbWF6b24xDDAKBgNVBAsMA0FXUzEbMBkGA1UEAwwSYXdzLm5pdHJvLWVuY2xhdmVzMB4XDTE5MTAyODEzMjgwNVoXDTQ5MTAyODE0MjgwNVowSTELMAkGA1UEBhMCVVMxDzANBgNVBAoMBkFtYXpvbjEMMAoGA1UECwwDQVdTMRswGQYDVQQDDBJhd3Mubml0cm8tZW5jbGF2ZXMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT8AlTrpgjB82hw4prakL5GODKSc26JS//2ctmJREtQUeU0pLH22+PAvFgaMrexdgcO3hLWmj/qIRtm51LPfdHdCV9vE3D0FwhD2dwQASHkz2MBKAlmRIfJeWKEME3FP/SjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJAltQ3ZBUfnlsOW+nKdz5mp30uWMA4GA1UdDwEB/wQEAwIBhjAKBggqhkjOPQQDAwNpADBmAjEAo38vkaHJvV7nuGJ8FpjSVQOOHwND+VtjqWKMPTmAlUWhHry/LjtV2K7ucbTD1q3zAjEAovObFgWycCil3UugabUBbmW0+96P4AYdalMZf5za9dlDvGH8K+sDy2/ujSMC89/2WQLGMIICwjCCAkegAwIBAgIQGdmv8JSQnXjJHS4Bs1sXNTAKBggqhkjOPQQDAzBJMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQLDANBV1MxGzAZBgNVBAMMEmF3cy5uaXRyby1lbmNsYXZlczAeFw0yNDEyMTgwMzMyNTVaFw0yNTAxMDcwNDMyNTVaMGcxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKDAZBbWF6b24xDDAKBgNVBAsMA0FXUzE5MDcGA1UEAwwwNmM1ZTY1NDRmNzBjYmE3Yi5ldS1jZW50cmFsLTEuYXdzLm5pdHJvLWVuY2xhdmVzMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEyi0TuD1Wpk6rS1CGnsNYGtjHgM9rMaJRddoUJAEHuvpTgWr7nnDXbHnfh7bhjySx2Jc8gUtV0OBHoVq+CnEKvggejVLBLDBwjACfdBorx+q6glz3Cxw3Spgk5w0kKFK1o4HVMIHSMBIGA1UdEwEB/wQIMAYBAf8CAQIwHwYDVR0jBBgwFoAUkCW1DdkFR+eWw5b6cp3PmanfS5YwHQYDVR0OBBYEFAo58SGy0m/VffwbztF0CWTPein0MA4GA1UdDwEB/wQEAwIBhjBsBgNVHR8EZTBjMGGgX6BdhltodHRwOi8vYXdzLW5pdHJvLWVuY2xhdmVzLWNybC5zMy5hbWF6b25hd3MuY29tL2NybC9hYjQ5NjBjYy03ZDYzLTQyYmQtOWU5Zi01OTMzOGNiNjdmODQuY3JsMAoGCCqGSM49BAMDA2kAMGYCMQC2Ugn+K57xLPoDsIDjdMtBy+BstPUoHWitqkvU86KPWwnITCuByWsBdazpo7R4B1ICMQCtEYzHt3jU7Ez6WgfTOz0y4ujF4OkpWxvb4TSneY0H3gxIw37cLUt0yCVpFH8iLdxZAyYwggMiMIICp6ADAgECAhEAu+Zt8IqgwkzS3kw3fcM+5jAKBggqhkjOPQQDAzBnMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQLDANBV1MxOTA3BgNVBAMMMDZjNWU2NTQ0ZjcwY2JhN2IuZXUtY2VudHJhbC0xLmF3cy5uaXRyby1lbmNsYXZlczAeFw0yNDEyMTgyMjA5MjlaFw0yNDEyMjQxNjA5MjhaMIGMMT8wPQYDVQQDDDZkYzY3MTg3YjRjYWMxMzQ4LnpvbmFsLmV1LWNlbnRyYWwtMS5hd3Mubml0cm8tZW5jbGF2ZXMxDDAKBgNVBAsMA0FXUzEPMA0GA1UECgwGQW1hem9uMQswCQYDVQQGEwJVUzELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQReoJw1LkwRhP9k3cmEBpiVF4aOUYgvOWJnOpstEly/wOzeebhb4bSFhwV+zToRfikv7JB71eRNsGMGacw0dPY4gRxlkxwv4D6Q9BnbmIYEYukfbdpYAMLv+j9mBDjU6ejgfAwge0wEgYDVR0TAQH/BAgwBgEB/wIBATAfBgNVHSMEGDAWgBQKOfEhstJv1X38G87RdAlkz3op9DAdBgNVHQ4EFgQUPtkKU7ZIbZnpt+nAglJsqQ0nZJQwDgYDVR0PAQH/BAQDAgGGMIGGBgNVHR8EfzB9MHugeaB3hnVodHRwOi8vY3JsLWV1LWNlbnRyYWwtMS1hd3Mtbml0cm8tZW5jbGF2ZXMuczMuZXUtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20vY3JsLzk1NTdjODdjLTM5ZjMtNDA5Ny05ZjQ4LTk3MTY3ODZkMzE3Ni5jcmwwCgYIKoZIzj0EAwMDaQAwZgIxAM8+2ZIrC7d5BQm4/2rJDt+kkeODL2QR+B6NYidPE5DIcjWYJ6hE71XTG1KF8pBD+QIxANS5Awbc3CXYuUBHUgHdIPvDS9awZWem3CEDnVZ2UtrZFrFAhSpYttsptdZDPbgiy1kCyTCCAsUwggJLoAMCAQICFQDfcFHYkmLuX+/ZvefksXQX+yIc7jAKBggqhkjOPQQDAzCBjDE/MD0GA1UEAww2ZGM2NzE4N2I0Y2FjMTM0OC56b25hbC5ldS1jZW50cmFsLTEuYXdzLm5pdHJvLWVuY2xhdmVzMQwwCgYDVQQLDANBV1MxDzANBgNVBAoMBkFtYXpvbjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0dGxlMB4XDTI0MTIxOTAyMTQwNloXDTI0MTIyMDAyMTQwNlowgZExCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMQ8wDQYDVQQKDAZBbWF6b24xDDAKBgNVBAsMA0FXUzE8MDoGA1UEAwwzaS0wMWFjMGQxMTU4MjExOWM3OS5ldS1jZW50cmFsLTEuYXdzLm5pdHJvLWVuY2xhdmVzMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEA8kjNuPHssG2NawygjLc5fhvu0JT/Q6lHdaio4P2sutOp2gZg8eUjJUkjTQk4MucamRxkpA3lRakfWbv6qPKkaOEuhVIUIYw1Wr5fWiEAOfpoIfAUvvUocKoKmJ+mqblo2YwZDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwICBDAdBgNVHQ4EFgQUON+5GI4EVA+YcM0rh3rheC0qQG8wHwYDVR0jBBgwFoAUPtkKU7ZIbZnpt+nAglJsqQ0nZJQwCgYIKoZIzj0EAwMDaAAwZQIwVXAtOVIJlO2HmyloJaTNLYSmytsww0lQh4qKL9wS3dOKwtCQmCdWdaO3xhU9MVNlAjEAjQ0pLxd+fK/t4optLLPMGUyfbqsrtn3tC86z+Ex8fTrIE8KKplWoifpwpvFY8BPKanB1YmxpY19rZXlYIL5YgvFPWamoUMAOu5rG8lBp7hJ+lVOEerp0JQh85VAEaXVzZXJfZGF0YfZlbm9uY2X2WGCIehyk6BGM7G3/RpVAG9QGnh1/s/8FQm1RjGqhLUx2JG3EzDMjSc1aPVbql5a7IdxILSRJ96mKQybtGxhPGmZCQfc3gYeBn36JtkTHeh5mVFiZqxVLAx3R/2+mLw9D90U="
}
2
Clone the TEE repo
git clone git@github.com:galadriel-ai/sentience.git
cd sentience/verify
3
Install deps
# Optional
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
4
Verify attestation
Take the attestation from the LLM inference response
python verify.py --pcr0_hash a3575880471781514c83935ee77dd8fc710512daf5d306ccee2c2abb0985e35fea0843f0e950a74f8d17541fc66dd0e4 --attestation insert-your-attestation
5
See more information in the TEE repo