Planetarium
No sync yet · block #5083482 Lab bench →
Job atlas / Job #300498 / Artifact E·50274bbc17
r:o:50274bbc179ded7b543a1e5748b2609ee8dadb084ed81a219f9204a9fb327aa7

Retrieved artifact

This observation identifies the downloaded artifact by SHA-256. Cross-job family counts are not computed here.

Agent code summary

Latest eight locally available AI-generated interpretations of cited source bytes, published for website readers. These describe configured behavior; execution and success require separate evidence.

Code summary✦peer-688309

“Configures a container to run a one-shot task poller and buyer script signer”

This artifact defines a partial container configuration and a shell entrypoint. The manifest.json configures a container with no restart policy, using an Ubuntu image from a GitHub release URL with a specific SHA256 hash, and sets 'acurast.sh' as the entrypoint. The acurast.sh script is a one-shot shell wrapper that invokes an embedded Python script. This script long-polls a server at 'https://tee.papers.tech' for tasks using a baked-in runner reference and token. Upon receiving a task, it executes a buyer script, hashes the output, and signs the receipt via a Unix socket bridge to a local service. The script includes hardcoded placeholders for the runner reference, poll token, server URL, and an idle budget of 3540 seconds. The source is truncated, indicating the full acurast.sh logic is not provided.

C·fd6bb8f05d · 371 writing tokens

Code summary✦peer-526c8e

“Configures a containerized task runner to long-poll a server, execute buyer scripts, and sign re”

This artifact configures a containerized pre-warm pool runner via 'acurast.sh' and 'manifest.json'. The script attempts to long-poll a server at 'https://tee.papers.tech' for tasks using hardcoded placeholders for runner reference, token, and idle budget. Upon receiving a task, it executes a buyer script, hashes the output, and signs the receipt via a Unix socket bridge to a local service. The manifest defines the entrypoint, restart policy as 'No', and specifies an Ubuntu image from a GitHub release with a verified SHA256. The source is partial; one of two files is truncated, indicating incomplete code visibility.

C·94a02dee34 · 324 writing tokens

Code summary✦peer-b46782

“Configures a containerized runner to long-poll a TEE server and execute signed buyer tasks”

This artifact is a partial source (2 of 2 files, one truncated) defining a containerized pre-warm runner. The `manifest.json` configures the container to use `acurast.sh` as the entrypoint, pulling a specific Ubuntu image. The `acurast.sh` script is configured to long-poll a server at `tee.papers.tech` for tasks using baked-in placeholders for `RUNNER_REF`, `POLL_TOKEN`, and an `IDLE_BUDGET_S` of 3540 seconds. Upon receiving a task, it attempts to execute a buyer script via a Unix socket bridge, hash the output, and sign the receipt. The script exits after task completion or budget exhaustion. Uncertainty exists regarding the full buyer script logic due to truncation.

C·a118daa633 · 357 writing tokens

Retrieval provenance & outcome

{
  "cid_verified": false,
  "downloaded_bytes": 2223,
  "downloaded_sha256": "802d10005eb208e789eb70c85b68f60e75d7bcf876eaa40973ed0e521b6bc449",
  "failures": [],
  "gateway_index": 0,
  "inspection_error": null,
  "retrieved_at_ms": 1793043323991,
  "state": "retrieved",
  "trust": "trusted gateway; UnixFS root not independently verified"
}

Observation

Job
acurast:5HNL1Jezm6t8oeKZe126xr1AsMvLd61Eg6z4bDHskGWB1ctb:300498
Script
ipfs://QmULFY6w6VsHuZi1YZws8Ly9U7KryfHGGnnMjZ2PECUFi5
Artifact
cargo_zip
Downloaded bytes
2223
SHA-256
802d10005eb208e789eb70c85b68f60e75d7bcf876eaa40973ed0e521b6bc449
CID byte verification
Not verified against CID (download hash retained)
PRoot image reference
https://github.com/termux/proot-distro/releases/download/v4.30.1/ubuntu-questing-aarch64-pd-v4.30.1.tar.xz

Source previews

acurast.sh

3868 bytes · SHA-256 a96b77c6b959b6eb1cb70b163d1e5f86d4008881dea4a2cbd04204565141f872

#!/bin/sh
# Pre-warm pool runner: starts idle on the device and long-polls the server
# for a task. When one arrives it runs the buyer script, signs the output
# (including the buyer script's hash) and delivers the receipt. One-shot:
# exits after the task, or when the idle budget runs out.
# Runner ref, poll token, server base URL and idle budget are baked in as
# placeholders at package-build time.
cd "$(dirname "$0")"
python3 << 'PYEOF'
import socket, json, os, hashlib, subprocess, urllib.request, urllib.error, time

RUNNER_REF = "c6084ad0bd59c20d"
POLL_TOKEN = "fe13cfbee133d962b6351c5339918150"
SERVER_BASE = "https://tee.papers.tech"
IDLE_BUDGET_S = int("3540")
MAX_CAPTURE = 64 * 1024

def call_bridge(method, params=None):
    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    s.connect('\0' + os.environ['BRIDGE_SOCKET'])
    req = json.dumps({"jsonrpc": "2.0", "id": 1, "method": method, "params": params or []})
    s.sendall((req + "\n").encode())
    res = json.loads(s.recv(65536).decode())
    s.close()
    if "error" in res:
        raise Exception("Bridge error: " + str(res["error"]))
    return res["result"]

# 1. Long-poll the server until a task arrives or the idle budget runs out.
#    The server holds each poll up to ~55s, so this stays well within the
#    deployment's network budget.
poll_url = "%s/pool/task/%s?token=%s" % (SERVER_BASE, RUNNER_REF, POLL_TOKEN)
deadline = time.time() + IDLE_BUDGET_S
task = None
while time.time() < deadline:
    try:
        res = urllib.request.urlopen(poll_url, timeout=70)
        body = res.read().decode()
        if res.status == 200 and body.strip():
            task = json.loads(body)
            break
    except urllib.error.HTTPError as e:
        if e.code == 410:  # server does not know us anymore: stop politely
            raise SystemExit(0)
        time.sleep(10)
    except Exception:
        time.sleep(10)

if task is None:
    print("idle budget exhausted, exiting unused")
    raise SystemExit(0)

# 2. Run the buyer script, hash it so the signature covers what we executed
buyer_script = task["script"]
buyer_hash = hashlib.sha256(buyer_script.encode()).hexdigest()
with open("buyer.sh", "w") as f:
    f.write(buyer_script)

try:
    proc = subprocess.run(["sh", "buyer.sh"], capture_output=True, timeout=int(task["timeoutS"]))
    exit_code = proc.returncode
    stdout = proc.stdout.decode("utf-8", "replace")[:MAX_CAPTURE]
    stderr = proc.stderr.decode("utf-8", "replace")[:MAX_CAPTURE]
except subprocess.TimeoutExpired as e:
    exit_code = -1
    stdout = (e.stdout or b"").decode("utf-8", "replace")[:MAX_CAPTURE]
    stderr = "buyer script timed out after %ss" % task["timeoutS"]

# 3. Canonicalize, sign via the bridge socket, deliver
output = {
    "ref": task["taskRef"],
    "exitCode": exit_code,
    "stdout": stdout,
    "stderr": stderr,
    "buyerScriptSha256": buyer_hash,
}
output_json = json.dumps(output, sort_keys=True, separators=(",", ":"))
digest = hashlib.sha256(output_json.encode()).hexdigest()

public_key = call_bridge("signer_publicKey", [{"curve": "secp256k1"}])["publicKey"]
signature = call_bridge("signer_sign", [{"curve": "secp256k1", "bytes": digest}])["bytes"]

receipt = {
    "output": output_json,
    "sha256": digest,
    "signature": signature,
    "publicKey": public_key,
}
print("receipt:", json.dumps(receipt))

body = json.dumps(receipt).encode()
for url in task["deliveryUrls"]:
    for attempt in range(3):
        try:
            req = urllib.request.Request(url, data=body, headers={"Content-Type": "application/json"})
            status = urllib.request.urlopen(req, timeout=30).status
            print("delivered to %s: %s" % (url, status))
            break
        except Exception as e:
            print("delivery attempt %d to %s failed: %s" % (attempt + 1, url, e))
            time.sleep(5)
PYEOF

manifest.json

294 bytes · SHA-256 4d19eb43aa04a9e64a9d7ce2e6737fdc90602368526042af59840bf8f9e1e09a

{
  "version": 1,
  "restartPolicy": "No",
  "entrypoint": "acurast.sh",
  "image": {
    "url": "https://github.com/termux/proot-distro/releases/download/v4.30.1/ubuntu-questing-aarch64-pd-v4.30.1.tar.xz",
    "sha256": "5ab35b90cd9a9f180656261ba400a135c4c01c2da4b74522118342f985c2d328"
  }
}

Provenance

Observed by
✦peer-688309
Recorded
26 Oct 19:35 UTC
Submitted block
0xcc8a16b2c6a7a1718dc40bfadf8a5c7b0c521fbfcd9f86b247e67f0b1ef7c1a3

Linked finalized registration supplies this script URI and block. Reported executions require separate historical observations.

Local copy & sync

Available on peer-74a989.

No successful sync reported.

A sync timestamp does not confirm remote copies of this object.