{"_id":"@agnusdei12071207/micro-sandbox","_rev":"7-3888bddf1647fcff64edc2cc4c41ee6e","name":"@agnusdei12071207/micro-sandbox","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.1":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.1","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.1","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"1ee28c0a863173e8288656722638cbc1739c49ec","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.1.tgz","fileCount":35,"integrity":"sha512-mHhJvx3YmQmWTP7nMAS3WjjmJ1j5upLHiyENfog7m8OiU4OxOyt4vw+Ld+3CY3vQeWT5ojWPSopP3tPevYp+yw==","signatures":[{"sig":"MEQCIFjs3DvfIUfM/NT7TWPs4k6zZ6hWDGwqmlg1HAa874EgAiAkPNydxr3kMSzZ3Nho6mvEbY1rRfkLwOOvJt5P44gckw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55106},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ed4b39c8db6c9c180c8ac77e610bb2eef0ba96f1","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.1","micro-sandbox-linux-arm64":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.1_1786444340705_0.33956503190790355","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.2","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.2","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"e1b36d071c4c25bb9eef3f30be1e548c2b76805e","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.2.tgz","fileCount":35,"integrity":"sha512-5JjZVxUUmQ8SwPu/8oXF/+py9mzA0S/Hbp0HZ1p8eEQo+XmqK2sx3aQ6OneEzdbComK+aAuLygyqqPQRJ27pvQ==","signatures":[{"sig":"MEQCIHP0HxhOGPoPasgGeU2uc5rrG1QVvdAZxv0iSTkflpowAiArGutaKtBtf+fAEvSzAFMqLVYXVpX3ZXlAZxUxrZVIkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55126},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ed4b39c8db6c9c180c8ac77e610bb2eef0ba96f1","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.2","micro-sandbox-linux-arm64":"0.0.2"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.2_1786445174045_0.77154491557622","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.3","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.3","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"ad8f22f8323b0283d792d6988757f704c74961d1","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.3.tgz","fileCount":34,"integrity":"sha512-txs84fC297mefxbOrIe5u6wkKJRjMEec0XauUVX7VgakzqEqqzM/EOcY+ELgGWSuWtnivopyQQaX2luG/qv9SQ==","signatures":[{"sig":"MEUCIFwIO13GDLRJ1nTYFTm2bDPxwujKpmMhkoT1HIiCQcLqAiEAkPPznz2BAEE7T51F3jQ8Z4IJcDtHO+m/T5+azJcyQRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48673},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"104916295ec7bed101a562ce58154151d415a680","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.3","micro-sandbox-linux-arm64":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.3_1786495507949_0.05312564971027456","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.4","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.4","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"fe1f1594b2ffe993693f3c9216fda5c0e885baa8","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.4.tgz","fileCount":38,"integrity":"sha512-OhyCvAkT96oF5iwn9g4I+ZSXchWNgdrMbAYR5sCroMoiRKzPpi4+wqYTXDXqjqM+VwQZ/BCpS5innNw6XeqxsA==","signatures":[{"sig":"MEUCIQD/3GxHGhAK/5s+IK8OtaieBctYuc9t9anZSJd2R76G4gIgdTnU/W7r5+V1Qcor333VMVq2XV8aLR6ZD0C77v3yHcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e318714217a933ba62424bdd3353bad9704cb328","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","package:smoke:pnpm":"node scripts/pnpm-smoke.mjs","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.4","micro-sandbox-linux-arm64":"0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.4_1786501702325_0.8067406089684153","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.5","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.5","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"77d4c14a888cf28f4110c0691f1af3698bbd5777","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.5.tgz","fileCount":38,"integrity":"sha512-Sz+gPGunhi7PjDGM+wN4DcHmsjQgJPViiWFi0HQ4Y6JHtrDrVlPEGXuoWqlt6aQLWrtpnUdN07VIsMz1NjRVTQ==","signatures":[{"sig":"MEQCICdc0KRniabtZR/FXdSJqrMXNh+y4Emz5hoebSphnXKfAiB2rkZdt94Uw9CkyApeBavSM1kWBvChz+vEJm94RwNKPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46d27cbadb8ceb62e1f322ce6bb033b4926c6c9a","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","package:smoke:pnpm":"node scripts/pnpm-smoke.mjs","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.5","micro-sandbox-linux-arm64":"0.0.5"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.5_1786503133684_0.8181018707871979","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@agnusdei12071207/micro-sandbox","version":"0.0.6","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"author":{"name":"agnusdei1207"},"license":"MIT","_id":"@agnusdei12071207/micro-sandbox@0.0.6","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"babaf1ec93ca430806491bb082cede05065a947a","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.6.tgz","fileCount":44,"integrity":"sha512-l/IDfiOWWr6ajJBEOyzqv5Ofw2gtpzlPjglHmMD5HRPWtIuMjGyb5WtYfkD4vYxOahXOdDmpeBg6FgIWNycSFw==","signatures":[{"sig":"MEUCIQDMp3xZx5ime57amRRs/1NzbdjMFUh47bP9OrjYQLFCGAIgHGDcc+DN0tQTuhWkdBQSgaNE2z941gNY/ALBDK3Mhig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFvY1IbnVAt21mhj5tNALGYkXIH/UxdD6y8YwPcdgA4UAiA+FLLpFhLr56kz9vBc1kz9TYesE1JcTV4vY0tsO8u3Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99439},"main":"./dist/index.js","type":"module","_from":"file:artifacts/release-v0.0.6/x64/agnusdei12071207-micro-sandbox-0.0.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","build:native":"node scripts/build-native.mjs","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","test:integration":"npm run build && node scripts/native.mjs integration","package:smoke:pnpm":"node scripts/pnpm-smoke.mjs","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"_resolved":"C:\\workspace\\micro-sandbox\\artifacts\\release-v0.0.6\\x64\\agnusdei12071207-micro-sandbox-0.0.6.tgz","_integrity":"sha512-l/IDfiOWWr6ajJBEOyzqv5Ofw2gtpzlPjglHmMD5HRPWtIuMjGyb5WtYfkD4vYxOahXOdDmpeBg6FgIWNycSFw==","repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.11.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.6","micro-sandbox-linux-arm64":"0.0.6"},"_npmOperationalInternal":{"tmp":"tmp/micro-sandbox_0.0.6_1789443453496_0.991370846116733","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"_id":"@agnusdei12071207/micro-sandbox@0.0.7","bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"dist":{"shasum":"c2aae66e56790e54ab5fc5d8674f1f45a343326f","tarball":"https://registry.npmjs.org/@agnusdei12071207/micro-sandbox/-/micro-sandbox-0.0.7.tgz","fileCount":45,"integrity":"sha512-qENJ1dTBTeNiBIrmvIFRQEe+UMWc3tQ5SEEXQk6gaJOXZWRBICmZinpAO2Np+84Erl4CFX89eJs7XUCIFnjP+w==","signatures":[{"sig":"MEQCIF9uXmpybM4ntVB5Lr9HR0vAlfckGaXTcoIAFZFMbk3DAiAGL9FjP5A4ZEatHq7E2Ta9Yl2AlL1HPF/Rtq6UNSfdOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCb17vJHbE8iDKh8No/tCCXJVe39Ed4CT8gu6OYjeZdaAIhAIZNURMvyvgoVAa/wRNSgiWJ257FQc/UZrvGqimmEVTt"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agnusdei12071207%2fmicro-sandbox@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132390},"main":"./dist/index.js","name":"@agnusdei12071207/micro-sandbox","type":"module","_from":"file:/home/runner/work/micro-sandbox/micro-sandbox/artifacts/agnusdei12071207-micro-sandbox-0.0.7.tgz","types":"./dist/index.d.ts","author":{"name":"agnusdei1207"},"engines":{"node":">=24.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","scripts":{"test":"npm run build && node --test test/*.spec.ts","build":"tsc -p tsconfig.json","check":"npm run test && npm run test:native && npm audit --audit-level=moderate","clean":"node scripts/clean.mjs","prepack":"npm run clean && npm run build && node scripts/verify-package.mjs --source-only","test:kernel":"node scripts/native.mjs kernel","test:native":"node scripts/native.mjs test","package:smoke":"node scripts/pack-smoke.mjs","package:verify":"node scripts/verify-package.mjs","release:verify":"node scripts/verify-release.mjs","release:version":"node scripts/set-version.mjs","test:integration":"npm run build && node scripts/native.mjs integration","package:smoke:pnpm":"node scripts/pnpm-smoke.mjs","build:native:docker":"node scripts/build-platforms.mjs","release:publish-local":"node scripts/publish-local.mjs"},"version":"0.0.7","_npmUser":{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"},"homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"_resolved":"/home/runner/work/micro-sandbox/micro-sandbox/artifacts/agnusdei12071207-micro-sandbox-0.0.7.tgz","_integrity":"sha512-qENJ1dTBTeNiBIrmvIFRQEe+UMWc3tQ5SEEXQk6gaJOXZWRBICmZinpAO2Np+84Erl4CFX89eJs7XUCIFnjP+w==","repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"_npmVersion":"11.16.0","description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","directories":{},"maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"24.13.3"},"optionalDependencies":{"micro-sandbox-linux-x64":"0.0.7","micro-sandbox-linux-arm64":"0.0.7"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/micro-sandbox_0.0.7_1791017260404_0.06960100133112435"}}},"time":{"created":"2026-08-11T10:32:20.507Z","modified":"2026-10-03T08:47:40.784Z","0.0.1":"2026-08-11T10:32:20.851Z","0.0.2":"2026-08-11T10:46:14.201Z","0.0.3":"2026-08-12T00:45:08.102Z","0.0.4":"2026-08-12T02:28:22.471Z","0.0.5":"2026-08-12T02:52:13.842Z","0.0.6":"2026-09-15T03:37:33.597Z","0.0.7":"2026-10-03T08:47:40.482Z"},"bugs":{"url":"https://github.com/agnusdei1207/micro-sandbox/issues"},"author":{"name":"agnusdei1207"},"license":"MIT","homepage":"https://github.com/agnusdei1207/micro-sandbox#readme","keywords":["sandbox","linux-sandbox","untrusted-code","process-isolation","linux-namespaces","cgroup-v2","seccomp","container-security","nodejs","rust"],"repository":{"url":"git+https://github.com/agnusdei1207/micro-sandbox.git","type":"git"},"description":"Fail-closed Linux sandbox for running untrusted commands from Node.js","maintainers":[{"name":"agnusdei12071207","email":"agnusdei1207@kakao.com"}],"readme":"# micro-sandbox\n\nFail-closed Linux isolation for running untrusted commands from Node.js. It combines Linux namespaces, cgroup v2, a private root, zero capabilities, `no_new_privs`, seccomp, bounded resources, and deterministic cleanup.\n\nRequires Node.js 24.18+ LTS and Linux 5.15+ at runtime (x64 or ARM64). npm, pnpm, and Yarn are supported. Development and unit tests also work on Windows.\n\n```bash\npnpm add @agnusdei12071207/micro-sandbox\n```\n\n```ts\nimport { createSandbox } from '@agnusdei12071207/micro-sandbox';\n\nawait using sandbox = await createSandbox({\n  cgroupRoot: '/sys/fs/cgroup/my-service/sandbox',\n});\n\nconst result = await sandbox.run({\n  command: '/bin/sh',\n  args: ['-c', 'printf \"isolated: %s\" \"$MESSAGE\"'],\n  env: { MESSAGE: 'hello' },\n  limits: { timeoutMs: 2_000, memoryMb: 64, pids: 8 },\n});\n\nconsole.log(result.stdout.toString());\n```\n\n## Files and sanitizers\n\nLarge files use a separate bounded artifact channel, not the control protocol. Inputs accept a `Buffer`, host `sourcePath`, destroyable Node stream, or an `AbortSignal`-aware iterable factory. The guest sees read-only, non-executable `/input`; only explicitly declared regular files beneath `/output` are writable and non-executable. Outputs are returned only after the process tree is dead and native plus Node-side path, type, size, link, and SHA-256 checks pass.\n\n```ts\n// Multer memory-storage example. The command is your policy decision:\n// ImageMagick, LibreOffice, Ghostscript, FFmpeg, or a custom re-encoder.\nconst result = await sandbox.run({\n  command: '/usr/bin/convert',\n  args: ['/input/upload', '-strip', '/output/safe.png'],\n  artifacts: {\n    inputs: [{ target: 'upload', data: file.buffer }],\n    outputs: [{ path: 'safe.png', maxBytes: 5 * 1024 * 1024 }],\n    limits: {\n      inputFiles: 5,\n      inputBytes: 8 * 1024 * 1024,\n      inputFileBytes: 5 * 1024 * 1024,\n      outputFiles: 1,\n      outputBytes: 8 * 1024 * 1024,\n      outputFileBytes: 5 * 1024 * 1024,\n    },\n  },\n});\n\nconst safeFile = result.artifacts.find((file) => file.path === 'safe.png');\n```\n\nValidate the claimed media type before selecting a command, and validate the produced format before serving it. The sandbox contains parser compromise; it does not decide whether a transformation is semantically safe.\n\nDeclared outputs use one uniform resolved `maxBytes`, defaulting to `limits.outputFileBytes`. Their count multiplied by that maximum must fit `limits.outputBytes`, so the launcher can enforce the total with a per-file kernel limit.\nSet `required: false` for optional output slots; untouched empty optional files are omitted from the result.\n\n## Configuration\n\nRegister caller-owned runtime roots and profiles for reusable commands and resource policies. Resource limits follow instance defaults → profile/job override → operator ceilings → immutable native ceilings. Artifact limits follow instance defaults → job override → operator ceilings → immutable native ceilings. Queueing, overload behavior, cancellation, working directory, environment, stdin, workspace location, and the supervisor binary are configurable; core isolation cannot be disabled.\n\n`cgroupRoot` must be a dedicated writable cgroup-v2 subtree with `cpu`, `memory`, and `pids` delegated. With systemd, use `Delegate=cpu memory pids`. The package never elevates privileges or falls back to unisolated execution.\n\n## Documentation\n\n- [Project intent](./docs/intents/00-project.md): purpose and long-term constraints.\n- [Architecture](./docs/ARCHITECTURE.md): module ownership and isolation boundary.\n- [Operations and verification](./docs/OPERATIONS.md): deployment, lifecycle, limits, and checks.\n- [Glossary](./docs/GLOSSARY.md): shared terms.\n- [Audit and refactoring record](./docs/intents/0001-audit-and-refactor.md): findings, changes, and verification evidence.\n- [Hardening and release integrity record](./docs/intents/0002-hardening-and-release-integrity.md): 0.0.7 corrections and verification.\n- [Examples](./examples): caller-owned command recipes.\n\nMIT\n","readmeFilename":"README.md"}