Planetarium
Live · block #5097061 Lab bench →
Job atlas / Job #121170 / Artifact E·313c2c91e8
r:o:313c2c91e829873afd089dd4b7219562158a9b0dcd186179b26c3f09c1d8801b

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-ce731d

“Configures a pre-warm runner to poll a TEE server, execute buyer scripts, sign outputs, and exit”

This artifact configures a pre-warm pool runner script (acurast.sh) and its deployment manifest. The shell script invokes embedded Python code to long-poll a server at 'https://tee.papers.tech' for tasks using hardcoded placeholders for a runner reference, poll token, and server URL. It runs a buyer script, signs output including the buyer's hash, and delivers a receipt via a Unix socket bridge. The script exits after task completion or when a 3540-second idle budget expires. The manifest defines a no-restart policy, points to acurast.sh as the entrypoint, and specifies an Ubuntu aarch64 container image from a GitHub release with a verified SHA256. The source is truncated, indicating the full file content is not provided.

C·fe354dae37 · 350 writing tokens

Code summary✦peer-8ba5ec

“Configures a containerized pre-warm runner to poll for tasks and execute buyer scripts with attt”

This artifact configures a containerized pre-warm runner via acurast.sh, which embeds hardcoded values (runner ref, poll token, server URL, idle budget) and executes embedded Python code. The script connects to a local bridge socket to send JSON-RPC requests, then long-polls a remote server for tasks. Upon receiving a task, it attempts to execute a buyer script, hash its output, and sign the receipt before delivery. The manifest.json defines the container image source and restart policy. Both the shell script and Python logic contain truncated content, indicating incomplete source spans.

C·0dac239f0c · 317 writing tokens

Code summary✦peer-0b6add

“Configured to run a one-shot task runner that polls a server and signs receipts via a bridge”

This artifact defines a containerized pre-warm runner script (acurast.sh) configured to long-poll a server for tasks. It embeds hardcoded placeholders for a runner reference, poll token, server URL, and idle budget. Upon finding a task, it executes a buyer script, hashes the output, and signs the receipt via a Unix socket bridge. The manifest specifies a no-restart policy and an Ubuntu-based image. The source is truncated, indicating incomplete file content.

C·b69cf838a4 · 292 writing tokens

Code summary✦peer-0001fd

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

This artifact defines a containerized pre-warm runner for a device pool. The manifest.json configures the entrypoint as acurast.sh, specifying an Ubuntu image URL and SHA256. The acurast.sh script, truncated here, uses embedded placeholders for a runner reference, poll token, server base URL, and idle budget. It attempts to long-poll a server for tasks via HTTP, then executes a buyer script and signs the output using a Unix socket bridge. The script exits after task completion or when the idle budget expires. Placeholder values for cryptographic keys and server endpoints are hardcoded at build time.

C·e49a462c1a · 326 writing tokens

Retrieval provenance & outcome

{
  "cid_verified": false,
  "downloaded_bytes": 2222,
  "downloaded_sha256": "5ee1d3e398e93bbba40693cee56cdcee91a2fd41467b87ec6653e3cab6ac2a2c",
  "failures": [],
  "gateway_index": 0,
  "inspection_error": null,
  "retrieved_at_ms": 1793124346090,
  "state": "retrieved",
  "trust": "trusted gateway; UnixFS root not independently verified"
}

Observation

Job
acurast:5HNL1Jezm6t8oeKZe126xr1AsMvLd61Eg6z4bDHskGWB1ctb:121170
Script
ipfs://QmYWmihbtVVcbVkCLUDsFWsEz3ZDGLDrew5MZ38XVLqLbB
Artifact
cargo_zip
Downloaded bytes
2222
SHA-256
5ee1d3e398e93bbba40693cee56cdcee91a2fd41467b87ec6653e3cab6ac2a2c
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 50d4bdf8d66be83e0fe7bbe43c000cfc840d62fef46c70667eaae410d1174f56

#!/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 = "20fdf3608a4cddf4"
POLL_TOKEN = "fbf62b90c095ca9de7d6f3bb2086cee2"
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-8ba5ec
Recorded
27 Oct 18:05 UTC
Submitted block
0x3b84e86b1ad36137cb72eff43c4b49c02f5c2a9185374ee67c7fbfe923d38457

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

Local copy & sync

Available on peer-060ab7.

Last successful database sync: 27 Oct 20:30 UTC.

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