Selvedge u eżekuzzjoni bil-provi
A sandbox is not a witness
Running untrusted code is one of those ideas that sounds fine in a meeting because nobody has drawn the incident report yet. Let the agent call a tool. Let the plugin transform a file. Let the partner module process the data. Put it in a sandbox. Lovely. The code cannot escape. Everyone nods. Then the auditor asks what the code actually did inside the sandbox, and suddenly the room discovers that containment is not the same as evidence.
A sandbox answers one question: did the workload stay inside the boundary? That is necessary. It is not enough. The harder question is what happened during the run. Which artifact executed? Which policy was applied? Which capabilities were requested? Which host calls were allowed or denied? How much fuel, memory and time did it spend? What came out? Can the run be replayed without trusting the original machine? If those answers live in logs and confidence, the system has a costume, not an audit trail.
Selvedge exists for that gap. The page calls it the execution transcript layer for untrusted code: AION proves reasoning, Ledger records system events, and Selvedge captures execution. The implementation follows that shape. The workspace is a Rust 2024 project with crates for core digests and resource limits, execution engines, Wasmtime and Kera backends, determinism, WASI and Kera hosts, policy, AION verification, CLI, MCP, registry, runner, daemon, audit and guest SDK surfaces. The public promise is intentionally plain: Selvedge executes untrusted code under deterministic execution, policy enforcement and verification discipline.
The useful distinction is small and brutal. A sandbox says the code did not leave. Selvedge is designed to say what the code did.
The transcript is not a log
Logs are useful for humans who are already debugging. They are less usefulwhen the question is whether a run can be verified later by someone who did not trust the original host. A log line can be missing, reordered, filtered, truncated, reformatted, or explained away. A transcript has to be part of the execution contract.
Selvedge core defines SHA3-256 digests, error types, path validation, authentication tokens and shared resource limits. The README describes transcripts with hashes of bytecode, settings, stdout, stderr, output, memory and globals, plus fuel consumption and host call counts. The page describes every host call being hashed into a SHA3-256 chain and the result wrapped in an AION-style proof envelope with Ed25519 sealing. That is the difference between a system saying trust me and a system saying here is the packet.
There is a healthy bit of paranoia in that design. The artifact digest names the code. The settings digest names the deterministic profile. The transcript names what crossed the host boundary. The signed envelope makes tampering visible. Offline verification means the original runtime is not the only witness. This is the part many sandbox stories skip because it is less fun than showing a plugin running in a demo. Demos rarely ask who edited the audit log. Auditors do.
Default deny needs receipts too
Defaultdeny hija pożizzjoni tajba u slogan terribbli jekk tieqaf fil-preżentazzjoni. Il-politika ta' Selvedge tagħti snien lis-slogan. Il-crate tal-politika jiddefinixxi l-kapaċitajiet tal-WASM bħal clock, random, filesystem, network, environment, stdio, process u custom. Iġorr limiti tar-riżorsi għall-memorja, id-daqs tal-fajl, l-għadd tal-istruzzjonijiet u l-ħin. Jivvalida l-invarianti, jirrifjuta kapaċitajiet duplikati, jipprovdi żbalji strutturati u jimmappja l-fallimenti fil-vokabularju komuni tal-ħsarat ta' Dweve. Ir-runner imbagħad japplika l-limiti tar-riżorsi lill-konfigurazzjoni tal-eżekuzzjoni qabel ma jibda l-workload.
Dan ifisser li l-politika mhijiex kwestjonarju li jitwieġeb wara l-run. Hija input għall-eżekuzzjoni. Jekk il-workload jitlob aċċess għall-ħin, il-każwalità, il-filesystem, in-network, l-environment jew il-proċess, dik it-talba trid tgħaddi mill-politika. Jekk jonfoq wisq fuel, memorja jew ħin tal-ħajt, ir-run jispiċċa bħala falliment ikkontrollat. Jekk politika tkun inkonsistenti, għandha tfalli qabel ma l-artifact jibda jagħmel xi ħaġa interessanti. Boring ħafna. Utli ħafna. Boring huwa kif inżommu l-weekends.
Il-punt importanti huwa li d-deċiżjonijiet tal-politika mhumiex separati mill-evidenza. Sandbox jista' jippermetti jew jiċħad kategorija wiesgħa u xorta jħalli t-traċċa tal-awditjar irqiqa. Selvedge hija mibnija madwar l-idea li kull deċiżjoni ta' gate u kull qari tar-riżorsi jappartjenu lill-istorja tar-run. Dan huwa dak li jagħmilha utli għall-għodod tal-aġenti, l-eżekuzzjoni ta' plugins ta' partijiet terzi, l-inferenza ta' Kera, workloads regolati u kodiċi ta' sħab. Ix-xogħol jista' ma jkunx fdat. L-evidenza m'għandhiex tkun.
Id-determiniżmu huwa fejn il-host jieqaf jimproviżaw
Ir-replay huwa faċli biex wieħed iwiegħdu u diffiċli biex iżommu. Il-host għandu arloġġ. Il-host għandu każwalità. L-imġiba tal-floating-point NaN tista' tkun skomda. Is-SIMD jista' jvarja bejn l-arkitetturi. Il-filesystems, il-varjabbli tal-environment u l-istat tal-proċess huma modi eċċellenti biex tiddaħħal in-nondeterminiżmu f'postijiet fejn ħadd ma jistennieh. Jekk trid replay, trid tneħħi jew tikkontrolla dawk is-sorsi qabel ma jsiru skużi.
Selvedge tagħmel l-eżekuzzjoni deterministika l-awtomatika. Il-README jiddeskrivi arloġġ virtwali ffissat għall-epoka 2024-01-01, każwalità ChaCha20 b'seed, metering tal-fuel, ġenerazzjoni tat-traskrizzjoni u kanonikalizzazzjoni tan-NaN. Jgħid ukoll li l-iskoperta tas-SIMD hija l-aktar veloċi iżda biss għall-istess arkitettura, filwaqt li l-iddiżattivar tas-SIMD huwa r-rotta kompletament portabbli bejn il-pjattaformi. Dik l-aħħar parti tgħodd għax id-determiniżmu mhuwiex talba. Huwa deċiżjoni ta' konfigurazzjoni u arkitettura, u xi kultant il-kompromess onest huwa l-veloċità għall-portabbiltà.
Ir-runner juża l-backend Wasmtime bħala awtomatiku b'eżekuzzjoni deterministika attivata. Kera huwa l-backend l-ieħor, immirat lejn il-Graph IR u workloads ta' netwerks newrali binarji. Dik il-qasma hija sensibbli. WASM huwa l-passaġġ ġenerali għal komponenti mhux fdati. Kera huwa l-passaġġ tal-graff tal-AI. It-tnejn jeħtieġu l-istess dixxiplina tal-madwar: politika qabel l-eżekuzzjoni, settings deterministiċi, traskrizzjoni wara l-eżekuzzjoni, u prova madwar ir-riżultat.
Għaliex l-aġenti jagħmlu dan inqas fakultattiv
Is-sistemi tal-aġenti qed jagħmlu l-eżekuzzjoni mhux fdati moda mill-ġdid, u din hija sentenza li għandha tagħmel lil kull persuna tas-sigurtà toqgħod aktar attenta. Mudell jitlob sejħa ta' għodda. Plugin imexxi trasformazzjoni. Skript iġġenerat jmiss id-dejta. Għodda ta' sieħeb tiġi permezz ta' MCP. Il-mudell ma kitibx l-għodda, l-għodda tista' ma tkunx riveduta bl-istess attenzjoni bħall-kodiċi tal-prodott, u l-utent xorta jistenna li s-sistema tispjega x'ġara. Ix-xorti t-tajba b'dak jekk l-unika tweġiba hija direttorju ta' log u vibes.
Selvedge għandu wiċċ ta' server MCP għall-għodod tal-aġenti, CLI għal flussi tax-xogħol ta' build, verify, run u replay, daemon għal eżekuzzjoni fit-tul, pool ta' runners u cache warming, crates ta' klijent u server tar-reġistru, u SDK għall-mistieden. Il-punt mhuwiex li kull wiċċ huwa l-istess. Il-punt huwa li l-għamla tal-evidenza għandha tkun komparabbli. Kemm jekk xogħol jidħol bħala komponent WASM, graff Kera, għodda ta' aġent jew xogħol ta' servizz, il-run għandu jispiċċa b'xi ħaġa li tista' tivverifika.
Il-prestazzjoni hija kummerċ, mhux seħer
Il-paġna ta' Selvedge tinkludi numri ta' benchmark mir-repożitorju BENCHMARKS.md: il-cold start huwa r-rebħa ewlenija, il-hot path huwa aktar sfumat, Kera JIT għandu storja ta' graff sħun, u Wasmtime sempliċi xorta jżomm xi hot paths ta' sejħiet ripetuti. Dik hija l-mod it-tajjeb kif titkellem dwarha. Ix-xogħol tar-runtime huwa mimli kummerċ. Jekk mudell ta' komponent jipproduċi transcript u envelop ta' prova, għandu spejjeż differenti mill-passaġġ minimu. Jekk il-cold start huwa l-uġigħ tiegħek, dak il-passaġġ ta' evidenza jista' jgħin. Jekk ix-xogħol huwa sejħa ripetuta stretta mingħajr bżonn ta' overhead ta' transcript, it-tweġiba tista' tkun differenti. Inkonvenjenza kbira, ir-realtà. Tirrifjuta li tkun fuljett.
Il-verżjoni tal-artiklu tal-istorja tal-prestazzjoni għalhekk hija sempliċi: agħżel ir-runtime għax-xogħol. Tużax envelop ta' prova bħala pozzjoni maġika ta' veloċità. Użah meta l-ispiża li ma jkollokx evidenza replikabbli hija ogħla mill-overhead. Għall-għodod tal-aġenti, ipproċessar ta' dejta regolat, plugins ta' partijiet terzi u eżekuzzjoni fejn bniedem aktar tard jistaqsi x'ġara, dik l-ispiża spiss hija reali.
X'għandek tirrevedi qabel tużah
L-ewwel, iddeċiedi jekk għandekx bżonn konteniment, evidenza, jew it-tnejn. Jekk ix-xogħol huwa fdati u intern, Selvedge jista' jkun aktar makkinarju milli meħtieġ. Jekk ix-xogħol mhuwiex fdati, fornut minn sieħeb, attivat minn mudell jew iffukat fuq l-awditjar, it-transcript jibda jaqla' postu.
It-tieni, irrevedi l-politika. Liema kapaċitajiet huma permessi? Liema huma miċħuda? X'inhuma l-limiti ta' fuel, memorja u ħin? Il-mod deterministiku huwa meħtieġ jew biss permissiv? L-aċċess għall-fajl system u n-network huwa dejjaq biżżejjed? Il-politika hija verżjonata mal-artifact? Jekk il-politika tgħix f'wiki u l-eżekuzzjoni tgħix f'post ieħor, id-disinn diġà qed jitbiegħed.
It-tielet, ittestja r-replay bħala mġiba tal-prodott. Tistenniex awditjar biex tiskopri jekk l-envelop jivverifikax offline. Mexxi l-istess artifact, l-istess politika u l-istess inputs darbtejn. Qabbel it-transcripts. Ipprova kapaċitajiet miċħuda. Kisser il-checksum. Ibdel is-seed. Itfi SIMD jekk l-identità bejn il-pjattaformi tgħodd. It-testijiet tedjanti huma l-punt.
Il-lezzjoni
Selvedge mhuwiex sandbox aktar sabiħ. Huwa saff ta' evidenza ta' eżekuzzjoni. Imexxi artifacts WASM u Kera, jibda minn ċaħda awtomatika, jirrestrinġi r-riżorsi, jikkontrolla inputs deterministiċi, jibdel l-eżekuzzjoni f'transcripts permezz ta' hashing, u jgeżwer ir-riżultati f'envelop ta' prova li jista' jiġi ċċekkjat aktar tard. Dik hija wegħda differenti minn il-kodiċi baqa' fil-kantuniera tiegħu.
Hekk kif is-sistemi tal-AI jsejħu aktar għodod, iniedu aktar helpers iġġenerati u jaċċettaw aktar komponenti ta' partijiet terzi, dik id-distinzjoni tieqaf tkun akkademika. Il-mistoqsija mhux se tkun biss jekk il-workload ħarabx. Il-mistoqsija se tkun x'għamel, taħt liema politika, b'liema inputs, liema outputs ipproduċa, u jekk xi ħadd ieħor jistax jirriproduċi dik it-talba.
Sandbox huwa ħajt. Selvedge jipprova jkun ukoll ix-xhud.