{"id":130077,"date":"2026-09-14T10:57:47","date_gmt":"2026-09-14T03:57:47","guid":{"rendered":"https:\/\/tino.vn\/blog\/?p=130077"},"modified":"2026-10-24T15:02:48","modified_gmt":"2026-10-24T08:02:48","slug":"cach-ly-sandbox-cho-ai-agent-tren-vps","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/cach-ly-sandbox-cho-ai-agent-tren-vps\/","title":{"rendered":"C\u00e1ch ly sandbox cho AI Agent tr\u00ean VPS v\u1edbi OpenClaw v\u00e0 Docker"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>C\u00e1ch ly sandbox cho AI Agent l\u00e0 ch\u1ea1y c\u00e1c c\u00f4ng c\u1ee5 c\u1ee7a agent (l\u1ec7nh shell, \u0111\u1ecdc ghi file, tr\u00ecnh duy\u1ec7t) trong m\u1ed9t m\u00f4i tr\u01b0\u1eddng b\u1ecb gi\u1edbi h\u1ea1n, th\u01b0\u1eddng l\u00e0 container Docker, \u0111\u1ec3 agent kh\u00f4ng ch\u1ea1m \u0111\u01b0\u1ee3c SSH key, file h\u1ec7 th\u1ed1ng hay ti\u1ebfn tr\u00ecnh kh\u00e1c tr\u00ean <a href=\"https:\/\/tino.vn\/blog\/vps-la-gi\/\">VPS<\/a>.<\/strong> V\u1edbi <a href=\"https:\/\/tino.vn\/blog\/openclaw-la-gi\/\">OpenClaw<\/a>, sandbox kh\u00f4ng b\u1eadt m\u1eb7c \u0111\u1ecbnh; b\u1ea1n c\u1ea7n b\u1eadt trong c\u1ea5u h\u00ecnh r\u1ed3i ki\u1ec3m tra l\u1ea1i b\u1eb1ng l\u1ec7nh <code>openclaw sandbox explain<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M\u1ed9t prompt sai, m\u1ed9t n\u1ed9i dung ch\u1ee9a prompt injection hay m\u1ed9t Skill kh\u00f4ng an to\u00e0n \u0111\u1ec1u c\u00f3 th\u1ec3 khi\u1ebfn agent l\u00e0m vi\u1ec7c ngo\u00e0i \u00fd mu\u1ed1n. Sandbox l\u00e0 m\u1ed9t l\u1edbp trong nh\u00f3m b\u00e0i <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps\/\">b\u1ea3o m\u1eadt VPS<\/a>; c\u00e1ch ch\u1ecdn v\u00e0 chu\u1ea9n b\u1ecb m\u00e1y ch\u1ee7 cho agent xem \u1edf <a href=\"https:\/\/tino.vn\/blog\/vps-chay-ai-agent\/\">VPS ch\u1ea1y AI Agent<\/a>.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_ly_Sandbox_cho_AI_Agent_l\u00e0_g\u00ec?\">C\u00e1ch ly Sandbox cho AI Agent l\u00e0 g\u00ec?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sandbox<\/strong> l\u00e0 m\u1ed9t m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi b\u1ecb gi\u1edbi h\u1ea1n v\u00e0 t\u00e1ch kh\u1ecfi ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a m\u00e1y ch\u1ee7, gi\u1ed1ng vi\u1ec7c cho tr\u1ebb ch\u01a1i trong h\u1ed9p c\u00e1t thay v\u00ec th\u1ea3 t\u1ef1 do kh\u1eafp nh\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thay v\u00ec cho AI Agent tr\u1ef1c ti\u1ebfp:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0111\u1ecdc to\u00e0n b\u1ed9 file tr\u00ean VPS;<\/li>\n\n\n<li>ch\u1ea1y m\u1ecdi c\u00e2u l\u1ec7nh Linux;<\/li>\n\n\n<li>truy c\u1eadp th\u01b0 m\u1ee5c ch\u1ee9a SSH Key;<\/li>\n\n\n<li>d\u00f9ng to\u00e0n b\u1ed9 CPU v\u00e0 RAM;<\/li>\n\n\n<li>k\u1ebft n\u1ed1i t\u1ef1 do t\u1edbi Internet;<\/li>\n\n\n<li>can thi\u1ec7p v\u00e0o c\u00e1c ti\u1ebfn tr\u00ecnh kh\u00e1c;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">qu\u1ea3n tr\u1ecb vi\u00ean \u0111\u01b0a nh\u1eefng ho\u1ea1t \u0111\u1ed9ng r\u1ee7i ro cao v\u00e0o m\u1ed9t sandbox ri\u00eang. AI Agent v\u1eabn c\u00f3 m\u00f4i tr\u01b0\u1eddng \u0111\u1ec3 x\u1eed l\u00fd c\u00f4ng vi\u1ec7c, nh\u01b0ng ch\u1ec9 ti\u1ebfp c\u1eadn t\u00e0i nguy\u00ean \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea5p ph\u00e9p.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00ed d\u1ee5, OpenClaw c\u1ea7n \u0111\u1ecdc m\u1ed9t t\u00e0i li\u1ec7u v\u00e0 t\u1ea1o file k\u1ebft qu\u1ea3. B\u1ea1n ch\u1ec9 c\u1ea5p cho agent m\u1ed9t workspace c\u1ee5 th\u1ec3 thay v\u00ec cho truy c\u1eadp \/root, \/etc, SSH Key v\u00e0 to\u00e0n b\u1ed9 d\u1eef li\u1ec7u tr\u00ean VPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 nguy\u00ean t\u1eafc <strong>least privilege \u2013 quy\u1ec1n t\u1ed1i thi\u1ec3u<\/strong>: AI Agent ch\u1ec9 nh\u1eadn nh\u1eefng quy\u1ec1n th\u1ef1c s\u1ef1 c\u1ea7n \u0111\u1ec3 ho\u00e0n th\u00e0nh t\u00e1c v\u1ee5.<\/p>\n\n\n\n<h3 id=\"Sandbox_ho\u1ea1t_\u0111\u1ed9ng_nh\u01b0_th\u1ebf_n\u00e0o?\">Sandbox ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00ecnh dung VPS l\u00e0 m\u1ed9t ng\u00f4i nh\u00e0 v\u00e0 AI Agent l\u00e0 nh\u00e2n vi\u00ean \u0111\u01b0\u1ee3c thu\u00ea l\u00e0m vi\u1ec7c. Trao to\u00e0n b\u1ed9 ch\u00eca kho\u00e1 th\u00ec nh\u00e2n vi\u00ean v\u00e0o \u0111\u01b0\u1ee3c m\u1ecdi ph\u00f2ng. Sandbox gi\u1ed1ng m\u1ed9t ph\u00f2ng l\u00e0m vi\u1ec7c ri\u00eang: trong ph\u00f2ng ch\u1ec9 c\u00f3 t\u00e0i li\u1ec7u, c\u00f4ng c\u1ee5 c\u1ea7n thi\u1ebft, c\u00e1c khu v\u1ef1c kh\u00e1c v\u1eabn kho\u00e1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi AI Agent tr\u00ean VPS, sandbox th\u01b0\u1eddng gi\u1edbi h\u1ea1n 4 nh\u00f3m:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>H\u1ec7 th\u1ed1ng file:<\/strong> agent ch\u1ec9 \u0111\u1ecdc ho\u1eb7c ghi trong th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c c\u1ea5p quy\u1ec1n.<\/li>\n\n\n<li><strong>Ti\u1ebfn tr\u00ecnh:<\/strong> c\u00e2u l\u1ec7nh ch\u1ea1y trong m\u00f4i tr\u01b0\u1eddng c\u00e1ch ly thay v\u00ec tr\u1ef1c ti\u1ebfp tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh VPS.<\/li>\n\n\n<li><strong>M\u1ea1ng:<\/strong> ch\u1eb7n h\u1eb3n Internet ho\u1eb7c ch\u1ec9 m\u1edf khi th\u1eadt s\u1ef1 c\u1ea7n.<\/li>\n\n\n<li><strong>T\u00e0i nguy\u00ean:<\/strong> gi\u1edbi h\u1ea1n CPU, RAM, s\u1ed1 ti\u1ebfn tr\u00ecnh.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Docker l\u00e0 c\u00f4ng ngh\u1ec7 ph\u1ed5 bi\u1ebfn \u0111\u1ec3 t\u1ea1o l\u1edbp c\u00e1ch ly d\u1ea1ng n\u00e0y tr\u00ean Linux.<\/p>\n\n\n\n<h3 id=\"Sandbox_kh\u00e1c_g\u00ec_v\u1edbi_Docker?\">Sandbox kh\u00e1c g\u00ec v\u1edbi Docker?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y OpenClaw trong Docker v\u00e0 b\u1eadt sandbox cho c\u00f4ng c\u1ee5 l\u00e0 hai l\u1edbp kh\u00e1c nhau, d\u1ec5 nh\u1ea7m.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>H\u00ecnh th\u1ee9c<\/th><th>M\u1ee5c \u0111\u00edch<\/th><\/tr><\/thead><tbody><tr><td>Ch\u1ea1y OpenClaw Gateway trong Docker<\/td><td>C\u00e1ch ly \u1ee9ng d\u1ee5ng OpenClaw kh\u1ecfi h\u1ec7 \u0111i\u1ec1u h\u00e0nh VPS<\/td><\/tr><tr><td>OpenClaw Tool Sandbox<\/td><td>C\u00e1ch ly ho\u1ea1t \u0111\u1ed9ng c\u1ee7a agent nh\u01b0 <code>exec<\/code>, \u0111\u1ecdc file, ghi file v\u00e0 process<\/td><\/tr><tr><td>K\u1ebft h\u1ee3p c\u1ea3 hai<\/td><td>Th\u00eam nhi\u1ec1u l\u1edbp b\u1ea3o v\u1ec7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Theo t\u00e0i li\u1ec7u OpenClaw, ti\u1ebfn tr\u00ecnh Gateway lu\u00f4n ch\u1ea1y tr\u00ean host; khi b\u1eadt sandbox, ch\u1ec9 ph\u1ea7n th\u1ef1c thi c\u00f4ng c\u1ee5 \u0111\u01b0\u1ee3c chuy\u1ec3n v\u00e0o sandbox (<a href=\"https:\/\/docs.openclaw.ai\/gateway\/sandboxing\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Sandboxing<\/a>). Container ho\u00e1 Gateway v\u00e0 sandbox c\u00f4ng c\u1ee5 c\u00f3 th\u1ec3 d\u00f9ng song song.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00ec v\u1eady, n\u1ebfu b\u1ea1n h\u1ecfi <strong>&#8220;\u0110\u00e3 ch\u1ea1y OpenClaw b\u1eb1ng Docker th\u00ec c\u00f3 c\u1ea7n sandbox n\u1eefa kh\u00f4ng?&#8221;<\/strong>, c\u00e2u tr\u1ea3 l\u1eddi l\u00e0 <strong>v\u1eabn n\u00ean b\u1eadt<\/strong>, \u0111\u1eb7c bi\u1ec7t khi agent \u0111\u01b0\u1ee3c ch\u1ea1y shell, x\u1eed l\u00fd file, d\u00f9ng tr\u00ecnh duy\u1ec7t ho\u1eb7c nh\u1eadn n\u1ed9i dung t\u1eeb ng\u01b0\u1eddi ngo\u00e0i.<\/p>\n\n\n\n<h2 id=\"H\u01b0\u1edbng_d\u1eabn_c\u00e1ch_ly_Sandbox_cho_AI_Agent_tr\u00ean_VPS\">H\u01b0\u1edbng d\u1eabn c\u00e1ch ly Sandbox cho AI Agent tr\u00ean VPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ph\u1ea7n d\u01b0\u1edbi \u0111\u00e2y minh ho\u1ea1 c\u1ea5u h\u00ecnh \u01b0u ti\u00ean an to\u00e0n cho ng\u01b0\u1eddi \u0111ang ch\u1ea1y OpenClaw tr\u00ean VPS Linux (\u1ea3nh ch\u1ee5p v\u1edbi OpenClaw 2026.9.4). Ch\u01b0a c\u00e0i OpenClaw th\u00ec xem <a href=\"https:\/\/tino.vn\/blog\/cai-dat-openclaw-tren-vps\/\">c\u00e0i \u0111\u1eb7t OpenClaw tr\u00ean VPS<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u01b0u \u00fd:<\/strong> sao l\u01b0u file c\u1ea5u h\u00ecnh OpenClaw tr\u01b0\u1edbc khi ch\u1ec9nh s\u1eeda. C\u1ea5u h\u00ecnh th\u1ef1c t\u1ebf c\u00f3 th\u1ec3 c\u1ea7n \u0111\u1ed5i tu\u1ef3 agent, Skill v\u00e0 c\u00f4ng c\u1ee5 \u0111ang d\u00f9ng.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_1:_Ki\u1ec3m_tra_OpenClaw_tr\u00ean_VPS\">B\u01b0\u1edbc 1: Ki\u1ec3m tra OpenClaw tr\u00ean VPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc ti\u00ean, SSH v\u00e0o VPS b\u1eb1ng Xshell, Terminal ho\u1eb7c c\u00f4ng c\u1ee5 SSH b\u1ea1n quen d\u00f9ng (xem <a href=\"https:\/\/tino.vn\/blog\/cach-ket-noi-vps\/\">c\u00e1ch k\u1ebft n\u1ed1i VPS<\/a>). Ki\u1ec3m tra OpenClaw:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu h\u1ec7 th\u1ed1ng tr\u1ea3 v\u1ec1 phi\u00ean b\u1ea3n OpenClaw, ti\u1ebfp t\u1ee5c ki\u1ec3m tra file c\u1ea5u h\u00ecnh \u0111ang d\u00f9ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw config file<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Th\u00f4ng th\u01b0\u1eddng file c\u1ea5u h\u00ecnh n\u1eb1m t\u1ea1i:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.openclaw\/openclaw.json<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"738\" height=\"356\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-kiem-tra-openclaw-che.webp\" alt=\"Terminal VPS ch\u1ea1y openclaw --version tr\u1ea3 v\u1ec1 OpenClaw 2026.9.4 v\u00e0 openclaw config file tr\u1ea3 v\u1ec1 \/root\/.openclaw\/openclaw.json; IP \u0111\u0103ng nh\u1eadp tr\u01b0\u1edbc \u0111\u00f3 \u0111\u00e3 \u0111\u01b0\u1ee3c che\" class=\"wp-image-131924\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-kiem-tra-openclaw-che.webp 738w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-kiem-tra-openclaw-che-300x145.webp 300w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00ean d\u00f9ng <code>openclaw config file<\/code> \u0111\u1ec3 bi\u1ebft ch\u00ednh x\u00e1c \u0111\u01b0\u1eddng d\u1eabn thay v\u00ec t\u1ef1 \u0111o\u00e1n. OpenClaw c\u00f3 c\u00e1c l\u1ec7nh <code>config get<\/code>, <code>config set<\/code>, <code>config patch<\/code>, <code>config validate<\/code> (<a href=\"https:\/\/docs.openclaw.ai\/cli\/config\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw CLI: config<\/a>), n\u00ean h\u01b0\u1edbng d\u1eabn d\u01b0\u1edbi \u0111\u00e2y kh\u00f4ng c\u1ea7n s\u1eeda tr\u1ef1c ti\u1ebfp file JSON b\u1eb1ng nano.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_2:_Ki\u1ec3m_tra_Docker_tr\u00ean_VPS\">B\u01b0\u1edbc 2: Ki\u1ec3m tra Docker tr\u00ean VPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sandbox Docker c\u1ea7n Docker Engine \u0111\u1ec3 t\u1ea1o container c\u00e1ch ly. Ki\u1ec3m tra b\u1eb1ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker info<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu hai l\u1ec7nh ch\u1ea1y b\u00ecnh th\u01b0\u1eddng, chuy\u1ec3n sang <strong>B\u01b0\u1edbc 3<\/strong>.<\/p>\n\n\n\n<h4 id=\"N\u1ebfu_VPS_ch\u01b0a_c\u00f3_Docker\">N\u1ebfu VPS ch\u01b0a c\u00f3 Docker<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra h\u1ec7 \u0111i\u1ec1u h\u00e0nh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/os-release<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"852\" height=\"297\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_2-3.png\" alt=\"L\u1ec7nh cat \/etc\/os-release tr\u00ean VPS cho th\u1ea5y Ubuntu 24.04 LTS (Noble Numbat)\" class=\"wp-image-130094\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_2-3.png 852w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_2-3-300x105.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_2-3-766x267.png 766w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi Ubuntu, c\u00e0i Docker Engine t\u1eeb repository ch\u00ednh th\u1ee9c c\u1ee7a Docker (<a href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\" target=\"_blank\" rel=\"noopener nofollow\">Docker: Install Docker Engine on Ubuntu<\/a>). C\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng v\u00e0 c\u00e0i g\u00f3i c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install -y ca-certificates curl<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"855\" height=\"413\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-4.png\" alt=\"K\u1ebft qu\u1ea3 sudo apt update v\u00e0 c\u00e0i ca-certificates, curl tr\u00ean Ubuntu 24.04\" class=\"wp-image-130095\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-4.png 855w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-4-300x145.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-4-766x370.png 766w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">T\u1ea1o th\u01b0 m\u1ee5c ch\u1ee9a kho\u00e1:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo install -m 0755 -d \/etc\/apt\/keyrings<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u1ea3i kho\u00e1 ch\u00ednh th\u1ee9c c\u1ee7a Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg \\\n-o \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1ea5p quy\u1ec1n \u0111\u1ecdc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Th\u00eam Docker repository:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list.d\/docker.sources &lt;&lt;EOF\nTypes: deb\nURIs: https:\/\/download.docker.com\/linux\/ubuntu\nSuites: $(. \/etc\/os-release &amp;&amp; echo \"${UBUNTU_CODENAME:-$VERSION_CODENAME}\")\nComponents: stable\nArchitectures: $(dpkg --print-architecture)\nSigned-By: \/etc\/apt\/keyrings\/docker.asc\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1eadp nh\u1eadt repository:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e0i Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1825\" height=\"543\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4.png\" alt=\"Qu\u00e1 tr\u00ecnh apt install docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin tr\u00ean VPS\" class=\"wp-image-130096\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4.png 1825w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4-300x89.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4-766x228.png 766w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4-1024x305.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-4-1536x457.jpg 1536w\" sizes=\"(max-width: 1825px) 100vw, 1825px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status docker<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1887\" height=\"468\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4.png\" alt=\"systemctl status docker b\u00e1o d\u1ecbch v\u1ee5 docker.service active (running)\" class=\"wp-image-130097\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4.png 1887w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4-300x74.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4-766x190.png 766w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4-1024x254.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_5-4-1536x381.jpg 1536w\" sizes=\"(max-width: 1887px) 100vw, 1887px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3 th\u1eed ch\u1ea1y container:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run hello-world<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu xu\u1ea5t hi\u1ec7n th\u00f4ng b\u00e1o <code>Hello from Docker!<\/code>, Docker \u0111\u00e3 ho\u1ea1t \u0111\u1ed9ng.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_3:_T\u1ea1o_Docker_image_d\u00e0nh_cho_OpenClaw_Sandbox\">B\u01b0\u1edbc 3: T\u1ea1o Docker image d\u00e0nh cho OpenClaw Sandbox<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw c\u1ea7n m\u1ed9t Docker image ri\u00eang \u0111\u1ec3 t\u1ea1o m\u00f4i tr\u01b0\u1eddng sandbox. OpenClaw kh\u00f4ng t\u1ef1 thay b\u1eb1ng m\u1ed9t image Debian tr\u1ed1ng n\u1ebfu image n\u00e0y ch\u01b0a c\u00f3, n\u00ean b\u1ea1n c\u1ea7n build image tr\u01b0\u1edbc khi b\u1eadt sandbox.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>C\u1eadp nh\u1eadt 24\/10\/2026: c\u00e1c b\u1ea3n OpenClaw m\u1edbi \u0111\u1ed5i image m\u1eb7c \u0111\u1ecbnh th\u00e0nh <code>openclaw-sandbox:trixie-slim<\/code> (Debian 13) (<a href=\"https:\/\/docs.openclaw.ai\/gateway\/sandboxing\/images-and-setup\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Images and setup<\/a>). \u1ea2nh ch\u1ee5p trong b\u00e0i d\u00f9ng <code>bookworm-slim<\/code>. C\u1ea5u h\u00ecnh \u1edf B\u01b0\u1edbc 4 khai b\u00e1o r\u00f5 t\u00ean image n\u00ean v\u1eabn ch\u1ea1y; n\u1ebfu c\u00e0i m\u1edbi, b\u1ea1n c\u00f3 th\u1ec3 thay <code>bookworm<\/code> b\u1eb1ng <code>trixie<\/code> \u1edf c\u1ea3 Dockerfile, l\u1ec7nh build v\u00e0 c\u1ea5u h\u00ecnh.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Image d\u00f9ng trong v\u00ed d\u1ee5 c\u00f3 t\u00ean:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw-sandbox:bookworm-slim<\/code><\/pre>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_3.1:_Ki\u1ec3m_tra_image_\u0111\u00e3_t\u1ed3n_t\u1ea1i_ch\u01b0a\">B\u01b0\u1edbc 3.1: Ki\u1ec3m tra image \u0111\u00e3 t\u1ed3n t\u1ea1i ch\u01b0a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images | grep openclaw-sandbox<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu xu\u1ea5t hi\u1ec7n d\u00f2ng t\u01b0\u01a1ng t\u1ef1:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw-sandbox   bookworm-slim   \u2026<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">image \u0111\u00e3 c\u00f3 s\u1eb5n, chuy\u1ec3n sang <strong>B\u01b0\u1edbc 4: B\u1eadt Sandbox cho OpenClaw<\/strong>. N\u1ebfu l\u1ec7nh kh\u00f4ng hi\u1ec7n k\u1ebft qu\u1ea3, ti\u1ebfp t\u1ee5c t\u1ea1o image.<\/p>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_3.2:_T\u1ea1o_Dockerfile_cho_sandbox\">B\u01b0\u1edbc 3.2: T\u1ea1o Dockerfile cho sandbox<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 tr\u00e1nh l\u1ed7i khi d\u00e1n kh\u1ed1i l\u1ec7nh nhi\u1ec1u d\u00f2ng v\u00e0o Xshell, g\u1ed9p th\u00e0nh m\u1ed9t l\u1ec7nh <code>printf<\/code>. <strong>Copy nguy\u00ean l\u1ec7nh v\u00e0 d\u00e1n v\u00e0o VPS:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf '%s\\n' 'FROM debian:bookworm-slim' 'ENV DEBIAN_FRONTEND=noninteractive' 'RUN apt-get update &amp;&amp; apt-get install -y --no-install-recommends bash ca-certificates curl git jq python3 ripgrep &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/*' 'RUN useradd --create-home --shell \/bin\/bash sandbox' 'USER sandbox' 'WORKDIR \/home\/sandbox' 'CMD [\"sleep\", \"infinity\"]' &gt; \/tmp\/openclaw-sandbox.Dockerfile<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y xong, VPS quay l\u1ea1i d\u1ea5u nh\u1eafc l\u1ec7nh (v\u00ed d\u1ee5 <code>root@server:~#<\/code>) v\u00e0 t\u1ea1o file <code>\/tmp\/openclaw-sandbox.Dockerfile<\/code>. N\u1ed9i dung t\u01b0\u01a1ng \u0111\u01b0\u01a1ng image m\u1eb7c \u0111\u1ecbnh m\u00e0 OpenClaw h\u01b0\u1edbng d\u1eabn cho b\u1ea3n c\u00e0i b\u1eb1ng npm.<\/p>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_3.3:_Ki\u1ec3m_tra_Dockerfile_v\u1eeba_t\u1ea1o\">B\u01b0\u1edbc 3.3: Ki\u1ec3m tra Dockerfile v\u1eeba t\u1ea1o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/tmp\/openclaw-sandbox.Dockerfile<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">K\u1ebft qu\u1ea3 c\u1ea7n c\u00f3 d\u1ea1ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM debian:bookworm-slim\nENV DEBIAN_FRONTEND=noninteractive\nRUN apt-get update &amp;&amp; apt-get install -y --no-install-recommends bash ca-certificates curl git jq python3 ripgrep &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/*\nRUN useradd --create-home --shell \/bin\/bash sandbox\nUSER sandbox\nWORKDIR \/home\/sandbox\nCMD [\"sleep\", \"infinity\"]<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"916\" height=\"422\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-3.png\" alt=\"N\u1ed9i dung \/tmp\/openclaw-sandbox.Dockerfile: FROM debian:bookworm-slim, c\u00e0i bash, curl, git, jq, python3, ripgrep, t\u1ea1o user sandbox\" class=\"wp-image-130098\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-3.png 916w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-3-300x138.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-3-766x353.png 766w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/figure>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_3.4:_Build_image_OpenClaw_Sandbox\">B\u01b0\u1edbc 3.4: Build image OpenClaw Sandbox<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ti\u1ebfp t\u1ee5c ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker build -t openclaw-sandbox:bookworm-slim -f \/tmp\/openclaw-sandbox.Dockerfile \/tmp<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1886\" height=\"447\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4.png\" alt=\"docker build t\u1ea1o image openclaw-sandbox:bookworm-slim t\u1eeb debian:bookworm-slim, k\u1ebft th\u00fac b\u1eb1ng naming to docker.io\/library\/openclaw-sandbox:bookworm-slim\" class=\"wp-image-130099\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4.png 1886w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4-300x71.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4-768x182.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4-1024x243.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_7-4-1536x364.jpg 1536w\" sizes=\"(max-width: 1886px) 100vw, 1886px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker t\u1ea3i Debian, c\u00e0i bash, curl, git, jq, python3, ripgrep r\u1ed3i t\u1ea1o image sandbox. Qu\u00e1 tr\u00ecnh m\u1ea5t v\u00e0i ph\u00fat tu\u1ef3 t\u1ed1c \u0111\u1ed9 m\u1ea1ng v\u00e0 c\u1ea5u h\u00ecnh VPS. Khi th\u00e0nh c\u00f4ng, cu\u1ed1i k\u1ebft qu\u1ea3 th\u01b0\u1eddng c\u00f3:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>=&gt; exporting to image\n=&gt; naming to docker.io\/library\/openclaw-sandbox:bookworm-slim<\/code><\/pre>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_3.5:_Ki\u1ec3m_tra_image_sau_khi_build\">B\u01b0\u1edbc 3.5: Ki\u1ec3m tra image sau khi build<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y l\u1ea1i:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images | grep openclaw-sandbox<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu th\u00e0nh c\u00f4ng, b\u1ea1n s\u1ebd th\u1ea5y t\u01b0\u01a1ng t\u1ef1:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw-sandbox   bookworm-slim   xxxxxxxxxxxx   \u2026<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"792\" height=\"72\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_8-3.png\" alt=\"docker images | grep openclaw-sandbox li\u1ec7t k\u00ea image openclaw-sandbox:bookworm-slim dung l\u01b0\u1ee3ng 309MB\" class=\"wp-image-130100\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_8-3.png 792w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_8-3-300x27.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_8-3-759x69.png 759w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_4:_B\u1eadt_Sandbox_cho_OpenClaw\">B\u01b0\u1edbc 4: B\u1eadt Sandbox cho OpenClaw<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw m\u1eb7c \u0111\u1ecbnh \u0111\u1ec3 <code>agents.defaults.sandbox.mode<\/code> l\u00e0 <code>off<\/code> (<a href=\"https:\/\/docs.openclaw.ai\/gateway\/sandboxing\/modes-scope-and-backend\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Modes, scope, and backend<\/a>), n\u00ean sandbox ch\u01b0a \u0111\u01b0\u1ee3c d\u00f9ng n\u1ebfu b\u1ea1n ch\u01b0a \u0111\u1ed5i c\u1ea5u h\u00ecnh. \u0110\u1ec3 kh\u00f4ng s\u1eeda tr\u1ef1c ti\u1ebfp openclaw.json, ta t\u1ea1o m\u1ed9t file c\u1ea5u h\u00ecnh b\u1ed5 sung r\u1ed3i gh\u00e9p v\u00e0o c\u1ea5u h\u00ecnh hi\u1ec7n t\u1ea1i.<\/p>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_4.1:_T\u1ea1o_file_c\u1ea5u_h\u00ecnh_sandbox\">B\u01b0\u1edbc 4.1: T\u1ea1o file c\u1ea5u h\u00ecnh sandbox<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &gt; ~\/openclaw-sandbox.patch.json5 &lt;&lt;'EOF'\n{\n  agents: {\n    defaults: {\n      sandbox: {\n        mode: \"all\",\n        backend: \"docker\",\n        scope: \"session\",\n        workspaceAccess: \"ro\",\n        docker: {\n          image: \"openclaw-sandbox:bookworm-slim\",\n          readOnlyRoot: true,\n          tmpfs: [\n            \"\/tmp\",\n            \"\/var\/tmp\",\n            \"\/run\"\n          ],\n          network: \"none\",\n          capDrop: [\n            \"ALL\"\n          ],\n          pidsLimit: 256,\n          memory: \"1g\",\n          memorySwap: \"2g\",\n          cpus: 1\n        }\n      }\n    }\n  }\n}\nEOF<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"994\" height=\"619\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_9-1.png\" alt=\"N\u1ed9i dung file ~\/openclaw-sandbox.patch.json5: mode all, backend docker, scope session, workspaceAccess ro, network none, capDrop ALL, pidsLimit 256, memory 1g, cpus 1\" class=\"wp-image-130101\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_9-1.png 994w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_9-1-300x187.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_9-1-768x478.png 768w\" sizes=\"(max-width: 994px) 100vw, 994px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh tr\u00ean t\u1ea1o file <strong>~\/openclaw-sandbox.patch.json5<\/strong> m\u00e0 kh\u00f4ng c\u1ea7n m\u1edf nano.<\/p>\n\n\n\n<h4 id=\"B\u01b0\u1edbc_4.2:_Ki\u1ec3m_tra_n\u1ed9i_dung_v\u1eeba_t\u1ea1o\">B\u01b0\u1edbc 4.2: Ki\u1ec3m tra n\u1ed9i dung v\u1eeba t\u1ea1o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat ~\/openclaw-sandbox.patch.json5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu to\u00e0n b\u1ed9 c\u1ea5u h\u00ecnh hi\u1ec7n \u0111\u1ea7y \u0111\u1ee7, ti\u1ebfp t\u1ee5c b\u01b0\u1edbc sau.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_5:_Ki\u1ec3m_tra_c\u1ea5u_h\u00ecnh_tr\u01b0\u1edbc_khi_\u00e1p_d\u1ee5ng\">B\u01b0\u1edbc 5: Ki\u1ec3m tra c\u1ea5u h\u00ecnh tr\u01b0\u1edbc khi \u00e1p d\u1ee5ng<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw h\u1ed7 tr\u1ee3 ch\u1ebf \u0111\u1ed9 <code>--dry-run<\/code>: ki\u1ec3m tra schema c\u1ee7a patch m\u00e0 ch\u01b0a ghi v\u00e0o c\u1ea5u h\u00ecnh \u0111ang d\u00f9ng. Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw config patch --file ~\/openclaw-sandbox.patch.json5 --dry-run<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"890\" height=\"160\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_10.png\" alt=\"openclaw config patch --dry-run b\u00e1o Dry run successful: 13 update(s) validated against ~\/.openclaw\/openclaw.json\" class=\"wp-image-130102\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_10.png 890w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_10-300x54.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_10-768x138.png 768w\" sizes=\"(max-width: 890px) 100vw, 890px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u1ebfu b\u00e1o th\u00e0nh c\u00f4ng v\u00e0 kh\u00f4ng l\u1ed7i schema, c\u1ea5u h\u00ecnh c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng.<\/li>\n\n\n<li>N\u1ebfu b\u00e1o l\u1ed7i, d\u1eebng l\u1ea1i v\u00e0 ki\u1ec3m tra n\u1ed9i dung file tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_6:_\u00c1p_d\u1ee5ng_c\u1ea5u_h\u00ecnh_Sandbox\">B\u01b0\u1edbc 6: \u00c1p d\u1ee5ng c\u1ea5u h\u00ecnh Sandbox<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Khi dry-run kh\u00f4ng c\u00f2n l\u1ed7i, ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw config patch --file ~\/openclaw-sandbox.patch.json5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh <strong>config patch<\/strong> <strong>gh\u00e9p c\u1ea5u h\u00ecnh sandbox v\u00e0o c\u1ea5u h\u00ecnh OpenClaw hi\u1ec7n c\u00f3<\/strong> thay v\u00ec thay c\u1ea3 file. C\u00e1c ph\u1ea7n kh\u00e1c nh\u01b0 model, API key, Telegram, Discord hay c\u1ea5u h\u00ecnh agent v\u1eabn gi\u1eef n\u1ebfu kh\u00f4ng tr\u00f9ng tr\u01b0\u1eddng \u0111ang patch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sau khi \u00e1p d\u1ee5ng, ki\u1ec3m tra:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw config get agents.defaults.sandbox<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n n\u00ean th\u1ea5y c\u00e1c gi\u00e1 tr\u1ecb nh\u01b0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mode: all\nbackend: docker\nscope: session\nworkspaceAccess: ro\n\u2026.<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1009\" height=\"618\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_11-1.png\" alt=\"openclaw config patch b\u00e1o Applied 13 config update(s), openclaw config get agents.defaults.sandbox in ra mode all, backend docker, image openclaw-sandbox:bookworm-slim\" class=\"wp-image-130103\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_11-1.png 1009w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_11-1-300x184.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_11-1-767x470.png 767w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ti\u1ebfp t\u1ee5c ki\u1ec3m tra to\u00e0n b\u1ed9 c\u1ea5u h\u00ecnh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw config validate<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu kh\u00f4ng c\u00f3 l\u1ed7i, sandbox \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1eadt trong c\u1ea5u h\u00ecnh. \u00dd ngh\u0129a t\u1eebng gi\u00e1 tr\u1ecb trong v\u00ed d\u1ee5:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>mode: &#8220;all&#8221;:<\/strong> m\u1ecdi session c\u1ee7a agent \u0111\u1ec1u ch\u1ea1y trong sandbox.<\/li>\n\n\n<li><strong>backend: &#8220;docker&#8221;:<\/strong> OpenClaw d\u00f9ng Docker l\u00e0m m\u00f4i tr\u01b0\u1eddng c\u00e1ch ly.<\/li>\n\n\n<li><strong>scope: &#8220;session&#8221;:<\/strong> m\u1ed7i session c\u00f3 sandbox ri\u00eang, ch\u1eb7t h\u01a1n m\u1eb7c \u0111\u1ecbnh <code>agent<\/code> (m\u1ed9t container cho m\u1ed7i agent).<\/li>\n\n\n<li><strong>workspaceAccess: &#8220;ro&#8221;:<\/strong> workspace ch\u00ednh c\u1ee7a agent ch\u1ec9 \u0111\u01b0\u1ee3c mount quy\u1ec1n \u0111\u1ecdc.<\/li>\n\n\n<li><strong>network: &#8220;none&#8221;:<\/strong> container sandbox kh\u00f4ng k\u1ebft n\u1ed1i ra Internet.<\/li>\n\n\n<li><strong>readOnlyRoot: true:<\/strong> filesystem g\u1ed1c c\u1ee7a container \u1edf ch\u1ebf \u0111\u1ed9 ch\u1ec9 \u0111\u1ecdc.<\/li>\n\n\n<li><strong>capDrop: [&#8220;ALL&#8221;]:<\/strong> b\u1ecf c\u00e1c Linux capability b\u1ed5 sung.<\/li>\n\n\n<li><strong>memory: &#8220;1g&#8221;, cpus: 1, pidsLimit: 256:<\/strong> container ch\u1ec9 d\u00f9ng RAM, CPU v\u00e0 s\u1ed1 ti\u1ebfn tr\u00ecnh trong gi\u1edbi h\u1ea1n \u0111\u00e3 \u0111\u1eb7t.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ba gi\u00e1 tr\u1ecb <code>network: \"none\"<\/code>, <code>readOnlyRoot: true<\/code>, <code>capDrop: [\"ALL\"]<\/code> c\u0169ng l\u00e0 m\u1eb7c \u0111\u1ecbnh c\u1ee7a Docker backend (<a href=\"https:\/\/docs.openclaw.ai\/gateway\/sandboxing\/docker-backend\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Docker backend<\/a>); ghi r\u00f5 trong patch \u0111\u1ec3 d\u1ec5 \u0111\u1ecdc l\u1ea1i sau n\u00e0y.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_7:_T\u1ea1o_l\u1ea1i_Sandbox_theo_c\u1ea5u_h\u00ecnh_m\u1edbi_(n\u1ebfu_tr\u01b0\u1edbc_\u0111\u00e2y_t\u1eebng_t\u1ea1o)\">B\u01b0\u1edbc 7: T\u1ea1o l\u1ea1i Sandbox theo c\u1ea5u h\u00ecnh m\u1edbi (n\u1ebfu tr\u01b0\u1edbc \u0111\u00e2y t\u1eebng t\u1ea1o)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu OpenClaw t\u1eebng t\u1ea1o sandbox tr\u01b0\u1edbc \u0111\u00e2y, container c\u0169 c\u00f3 th\u1ec3 v\u1eabn gi\u1eef c\u1ea5u h\u00ecnh c\u0169. Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw sandbox recreate --all<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu h\u1ec7 th\u1ed1ng h\u1ecfi x\u00e1c nh\u1eadn, ch\u1ecdn \u0111\u1ed3ng \u00fd. Mu\u1ed1n b\u1ecf qua c\u00e2u h\u1ecfi x\u00e1c nh\u1eadn:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw sandbox recreate --all --force<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw xo\u00e1 runtime sandbox c\u0169; runtime m\u1edbi \u0111\u01b0\u1ee3c t\u1ea1o t\u1ef1 \u0111\u1ed9ng \u1edf l\u1ea7n ti\u1ebfp theo agent c\u1ea7n sandbox. N\u1ebfu \u0111\u00e2y l\u00e0 l\u1ea7n \u0111\u1ea7u b\u1eadt sandbox, ch\u01b0a th\u1ea5y container n\u00e0o \u1edf b\u01b0\u1edbc n\u00e0y l\u00e0 b\u00ecnh th\u01b0\u1eddng.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_8:_G\u1eedi_m\u1ed9t_y\u00eau_c\u1ea7u_cho_OpenClaw_\u0111\u1ec3_t\u1ea1o_Sandbox\">B\u01b0\u1edbc 8: G\u1eedi m\u1ed9t y\u00eau c\u1ea7u cho OpenClaw \u0111\u1ec3 t\u1ea1o Sandbox<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sau khi b\u1eadt c\u1ea5u h\u00ecnh, quay l\u1ea1i k\u00eanh chat v\u1edbi OpenClaw v\u00e0 g\u1eedi m\u1ed9t y\u00eau c\u1ea7u c\u00f3 d\u00f9ng c\u00f4ng c\u1ee5, v\u00ed d\u1ee5:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>H\u00e3y ki\u1ec3m tra c\u00e1c file trong workspace hi\u1ec7n t\u1ea1i.<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1081\" height=\"577\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_12-1.png\" alt=\"Chat Telegram v\u1edbi OpenClaw: g\u1eedi y\u00eau c\u1ea7u ki\u1ec3m tra c\u00e1c file trong workspace, agent ch\u1ea1y Exec r\u1ed3i li\u1ec7t k\u00ea AGENTS.md, SOUL.md, IDENTITY.md, USER.md, th\u01b0 m\u1ee5c skills\" class=\"wp-image-130104\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_12-1.png 1081w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_12-1-300x160.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_12-1-766x409.jpg 766w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_12-1-1024x547.jpg 1024w\" sizes=\"(max-width: 1081px) 100vw, 1081px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ho\u1eb7c y\u00eau c\u1ea7u agent l\u00e0m m\u1ed9t t\u00e1c v\u1ee5 c\u1ea7n \u0111\u1ecdc file hay ch\u1ea1y c\u00f4ng c\u1ee5. Khi agent c\u1ea7n d\u00f9ng tool, OpenClaw t\u1ef1 t\u1ea1o container sandbox theo scope \u0111\u00e3 c\u1ea5u h\u00ecnh.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_9:_Ki\u1ec3m_tra_Sandbox_\u0111\u00e3_\u0111\u01b0\u1ee3c_t\u1ea1o_hay_ch\u01b0a\">B\u01b0\u1edbc 9: Ki\u1ec3m tra Sandbox \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o hay ch\u01b0a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw sandbox list<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu sandbox \u0111ang ho\u1ea1t \u0111\u1ed9ng, danh s\u00e1ch runtime s\u1ebd hi\u1ec7n ra.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1184\" height=\"371\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-sandbox-list-che.webp\" alt=\"openclaw sandbox list hi\u1ec7n 1 runtime openclaw-sbx-workspace \u0111ang running v\u1edbi image openclaw-sandbox:bookworm-slim, backend docker; m\u00e3 ng\u01b0\u1eddi d\u00f9ng Telegram trong session \u0111\u00e3 \u0111\u01b0\u1ee3c che\" class=\"wp-image-131925\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-sandbox-list-che.webp 1184w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-sandbox-list-che-300x94.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-sandbox-list-che-1024x321.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/cach-ly-sandbox-cho-ai-agent-tren-vps-sandbox-list-che-768x241.webp 768w\" sizes=\"(max-width: 1184px) 100vw, 1184px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ki\u1ec3m tra tr\u1ef1c ti\u1ebfp b\u1eb1ng Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps --filter \"name=openclaw-sbx-\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw m\u1eb7c \u0111\u1ecbnh \u0111\u1eb7t ti\u1ec1n t\u1ed1 <code>openclaw-sbx-<\/code> cho container sandbox Docker.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_10:_Ki\u1ec3m_tra_OpenClaw_c\u00f3_th\u1ef1c_s\u1ef1_s\u1eed_d\u1ee5ng_Sandbox_hay_kh\u00f4ng\">B\u01b0\u1edbc 10: Ki\u1ec3m tra OpenClaw c\u00f3 th\u1ef1c s\u1ef1 s\u1eed d\u1ee5ng Sandbox hay kh\u00f4ng<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 b\u01b0\u1edbc r\u1ea5t n\u00ean l\u00e0m. Ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw sandbox explain<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw hi\u1ec3n th\u1ecb sandbox mode, backend, scope, workspace access, Docker mounts v\u00e0 tool policy \u0111ang c\u00f3 hi\u1ec7u l\u1ef1c. B\u1ea1n c\u1ea7n ki\u1ec3m tra c\u00e1c gi\u00e1 tr\u1ecb ch\u00ednh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mode = all<\/code><\/li>\n\n\n<li><code>backend = docker<\/code><\/li>\n\n\n<li><code>scope = session<\/code><\/li>\n\n\n<li><code>workspaceAccess = ro<\/code><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1896\" height=\"759\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1.png\" alt=\"openclaw sandbox explain: Effective sandbox v\u1edbi runtime sandboxed, mode all, scope session, workspaceAccess ro, backend docker, danh s\u00e1ch tool \u0111\u01b0\u1ee3c allow v\u00e0 deny m\u1eb7c \u0111\u1ecbnh\" class=\"wp-image-130106\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1.png 1896w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1-300x120.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1-767x307.png 767w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1-1024x410.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_14-1-1536x615.jpg 1536w\" sizes=\"(max-width: 1896px) 100vw, 1896px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh <code>sandbox explain<\/code> cho bi\u1ebft c\u1ea5u h\u00ecnh sandbox <strong>th\u1ef1c s\u1ef1 \u0111ang c\u00f3 hi\u1ec7u l\u1ef1c<\/strong>, k\u1ec3 c\u1ea3 c\u00e1c kho\u00e1 c\u1ea5u h\u00ecnh c\u1ea7n s\u1eeda (Fix-it), thay v\u00ec ch\u1ec9 nh\u00ecn file c\u1ea5u h\u00ecnh (<a href=\"https:\/\/docs.openclaw.ai\/gateway\/sandboxing\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Sandboxing<\/a>).<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_11:_Ki\u1ec3m_tra_Agent_c\u00f3_b\u1ecb_gi\u1edbi_h\u1ea1n_quy\u1ec1n_hay_ch\u01b0a\">B\u01b0\u1edbc 11: Ki\u1ec3m tra Agent c\u00f3 b\u1ecb gi\u1edbi h\u1ea1n quy\u1ec1n hay ch\u01b0a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Khi sandbox \u0111\u00e3 ch\u1ea1y, th\u1eed v\u00e0i t\u00e1c v\u1ee5 \u0111\u01a1n gi\u1ea3n: y\u00eau c\u1ea7u agent \u0111\u1ecdc file trong workspace, r\u1ed3i y\u00eau c\u1ea7u ghi v\u00e0o workspace ch\u00ednh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>V\u1edbi workspaceAccess: &#8220;ro&#8221;:<\/strong> agent kh\u00f4ng \u0111\u01b0\u1ee3c s\u1eeda tr\u1ef1c ti\u1ebfp workspace ch\u00ednh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ti\u1ebfp t\u1ee5c th\u1eed m\u1ed9t t\u00e1c v\u1ee5 c\u1ea7n truy c\u1eadp m\u1ea1ng. <strong>V\u1edbi network: &#8220;none&#8221;:<\/strong> ti\u1ebfn tr\u00ecnh trong sandbox Docker kh\u00f4ng c\u00f3 k\u1ebft n\u1ed1i ra ngo\u00e0i.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_12:_Ch\u1ea1y_ki\u1ec3m_tra_b\u1ea3o_m\u1eadt_OpenClaw\">B\u01b0\u1edbc 12: Ch\u1ea1y ki\u1ec3m tra b\u1ea3o m\u1eadt OpenClaw<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sau khi ho\u00e0n th\u00e0nh, ch\u1ea1y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw security audit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra s\u00e2u h\u01a1n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw security audit --deep<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw khuy\u00ean ch\u1ea1y security audit sau khi \u0111\u1ed5i c\u1ea5u h\u00ecnh ho\u1eb7c tr\u01b0\u1edbc khi m\u1edf th\u00eam b\u1ec1 m\u1eb7t truy c\u1eadp m\u1ea1ng. Ch\u1ebf \u0111\u1ed9 <code>--deep<\/code> ki\u1ec3m tra th\u00eam Gateway \u0111ang ch\u1ea1y c\u00f9ng Plugin v\u00e0 Skill li\u00ean quan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cu\u1ed1i c\u00f9ng ki\u1ec3m tra l\u1ea1i b\u1eb1ng <code>openclaw sandbox explain<\/code> v\u00e0 <code>openclaw sandbox list<\/code>. N\u1ebfu th\u00f4ng tin \u0111\u1ec1u \u0111\u00fang, vi\u1ec7c <strong>c\u00e1ch ly sandbox cho OpenClaw tr\u00ean VPS<\/strong> \u0111\u00e3 xong.<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_sai_l\u1ea7m_th\u01b0\u1eddng_g\u1eb7p_khi_c\u00e1ch_ly_Sandbox_cho_AI_Agent_tr\u00ean_VPS\">Nh\u1eefng sai l\u1ea7m th\u01b0\u1eddng g\u1eb7p khi c\u00e1ch ly Sandbox cho AI Agent tr\u00ean VPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sai l\u1ea7m hay g\u1eb7p l\u00e0 ngh\u0129 ch\u1ea1y Docker l\u00e0 \u0111\u1ee7 an to\u00e0n, trong khi agent v\u1eabn \u0111\u01b0\u1ee3c c\u1ea5p qu\u00e1 nhi\u1ec1u quy\u1ec1n \u0111\u1ecdc ghi, m\u1ea1ng v\u00e0 c\u00f4ng c\u1ee5. Khi thi\u1ebft l\u1eadp sandbox cho OpenClaw hay agent t\u01b0\u01a1ng t\u1ef1, tr\u00e1nh c\u00e1c l\u1ed7i sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ch\u1ec9 ch\u1ea1y Docker r\u1ed3i cho l\u00e0 \u0111\u00e3 an to\u00e0n:<\/strong> Docker c\u00e1ch ly \u1ee9ng d\u1ee5ng, nh\u01b0ng v\u1eabn c\u1ea7n k\u1ebft h\u1ee3p tool policy, t\u01b0\u1eddng l\u1eeda, quy\u1ec1n file v\u00e0 sandbox.<\/li>\n\n\n<li><strong>C\u1ea5p quy\u1ec1n \u0111\u1ecdc\/ghi qu\u00e1 r\u1ed9ng:<\/strong> kh\u00f4ng cho agent truy c\u1eadp to\u00e0n b\u1ed9 <strong>\/root<\/strong>, <strong>\/home<\/strong> hay th\u01b0 m\u1ee5c h\u1ec7 th\u1ed1ng.<\/li>\n\n\n<li><strong>Cho ghi workspace khi kh\u00f4ng c\u1ea7n:<\/strong> agent ch\u1ec9 c\u1ea7n \u0111\u1ecdc th\u00ec d\u00f9ng <strong>workspaceAccess: &#8220;ro&#8221;<\/strong>.<\/li>\n\n\n<li><strong>M\u1edf Internet cho m\u1ecdi agent:<\/strong> t\u00e1c v\u1ee5 kh\u00f4ng c\u1ea7n m\u1ea1ng th\u00ec gi\u1eef <strong>network: &#8220;none&#8221;<\/strong>.<\/li>\n\n\n<li><strong>Kh\u00f4ng gi\u1edbi h\u1ea1n CPU v\u00e0 RAM:<\/strong> m\u1ed9t t\u00e1c v\u1ee5 l\u1ed7i c\u00f3 th\u1ec3 chi\u1ebfm h\u1ebft t\u00e0i nguy\u00ean VPS.<\/li>\n\n\n<li><strong>C\u1ea5p qu\u00e1 nhi\u1ec1u c\u00f4ng c\u1ee5:<\/strong> agent kh\u00f4ng c\u1ea7n ch\u1ea1y l\u1ec7nh th\u00ec kh\u00f4ng c\u1ea5p <strong>exec<\/strong>.<\/li>\n\n\n<li><strong>L\u01b0u API Key ho\u1eb7c SSH Key trong workspace:<\/strong> th\u00f4ng tin nh\u1ea1y c\u1ea3m c\u1ea7n qu\u1ea3n l\u00fd ri\u00eang.<\/li>\n\n\n<li><strong>Mount Docker socket v\u00e0o sandbox:<\/strong> r\u1ee7i ro cao v\u00ec agent c\u00f3 th\u1ec3 \u0111i\u1ec1u khi\u1ec3n Docker tr\u00ean m\u00e1y ch\u1ee7.<\/li>\n\n\n<li><strong>\u0110\u1ed5i c\u1ea5u h\u00ecnh m\u00e0 kh\u00f4ng t\u1ea1o l\u1ea1i sandbox:<\/strong> container c\u0169 v\u1eabn d\u00f9ng thi\u1ebft l\u1eadp tr\u01b0\u1edbc \u0111\u00f3.<\/li>\n\n\n<li><strong>Kh\u00f4ng ki\u1ec3m tra sau khi c\u1ea5u h\u00ecnh:<\/strong> d\u00f9ng <strong>openclaw sandbox explain<\/strong> v\u00e0 <strong>openclaw security audit &#8211;deep<\/strong> \u0111\u1ec3 x\u00e1c nh\u1eadn.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"Sandbox_c\u00f3_b\u1ea3o_v\u1ec7_AI_Agent_ho\u00e0n_to\u00e0n_kh\u00f4ng?\">Sandbox c\u00f3 b\u1ea3o v\u1ec7 AI Agent ho\u00e0n to\u00e0n kh\u00f4ng?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. T\u00e0i li\u1ec7u OpenClaw n\u00f3i r\u00f5 sandbox kh\u00f4ng ph\u1ea3i ranh gi\u1edbi b\u1ea3o m\u1eadt k\u00edn k\u1ebd, n\u00f3 ch\u1ec9 gi\u1edbi h\u1ea1n \u0111\u00e1ng k\u1ec3 quy\u1ec1n truy c\u1eadp file v\u00e0 ti\u1ebfn tr\u00ecnh khi m\u00f4 h\u00ecnh l\u00e0m sai. Sandbox l\u00e0 <strong>m\u1ed9t l\u1edbp<\/strong> trong h\u1ec7 th\u1ed1ng b\u1ea3o v\u1ec7. \u0110\u1ec3 b\u1ea3o v\u1ec7 AI Agent tr\u00ean VPS t\u1ed1t h\u01a1n, n\u00ean k\u1ebft h\u1ee3p:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>X\u00e1c th\u1ef1c OpenClaw Gateway.<\/li>\n\n\n<li>Gi\u1edbi h\u1ea1n ng\u01b0\u1eddi \u0111\u01b0\u1ee3c ph\u00e9p nh\u1eafn tin v\u1edbi agent.<\/li>\n\n\n<li>Ch\u1ec9 c\u1ea5p c\u00f4ng c\u1ee5 th\u1ef1c s\u1ef1 c\u1ea7n.<\/li>\n\n\n<li>D\u00f9ng sandbox cho thao t\u00e1c r\u1ee7i ro.<\/li>\n\n\n<li>Gi\u1edbi h\u1ea1n quy\u1ec1n \u0111\u1ecdc ghi file.<\/li>\n\n\n<li>Gi\u1edbi h\u1ea1n k\u1ebft n\u1ed1i Internet.<\/li>\n\n\n<li>Gi\u1edbi h\u1ea1n CPU, RAM v\u00e0 s\u1ed1 ti\u1ebfn tr\u00ecnh.<\/li>\n\n\n<li>Kh\u00f4ng l\u01b0u credential \u1edf ch\u1ed7 agent \u0111\u1ecdc \u0111\u01b0\u1ee3c d\u1ec5 d\u00e0ng.<\/li>\n\n\n<li>C\u1eadp nh\u1eadt OpenClaw v\u00e0 Docker th\u01b0\u1eddng xuy\u00ean.<\/li>\n\n\n<li>Ki\u1ec3m tra log v\u00e0 ch\u1ea1y security audit \u0111\u1ecbnh k\u1ef3.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hi\u1ec3u \u0111\u01a1n gi\u1ea3n: <strong>sandbox gi\u1ea3m ph\u1ea1m vi thi\u1ec7t h\u1ea1i n\u1ebfu AI Agent l\u00e0m sai, nh\u01b0ng kh\u00f4ng thay \u0111\u01b0\u1ee3c c\u00e1c bi\u1ec7n ph\u00e1p b\u1ea3o m\u1eadt kh\u00e1c.<\/strong> L\u1edbp m\u1ea1ng c\u00f3 th\u1ec3 b\u1ed5 sung b\u1eb1ng <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps-chay-ai-agent-bang-tailscale\/\">Tailscale cho VPS ch\u1ea1y AI Agent<\/a>, l\u1edbp h\u1ec7 \u0111i\u1ec1u h\u00e0nh theo <a href=\"https:\/\/tino.vn\/blog\/bao-mat-vps-ubuntu\/\">b\u1ea3o m\u1eadt VPS Ubuntu<\/a>.<\/p>\n\n\n\n<h2 id=\"Kinh_nghi\u1ec7m_b\u1ea3o_m\u1eadt_AI_Agent_tr\u00ean_VPS\">Kinh nghi\u1ec7m b\u1ea3o m\u1eadt AI Agent tr\u00ean VPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kinh nghi\u1ec7m c\u1ed1t l\u00f5i khi ch\u1ea1y OpenClaw tr\u00ean VPS l\u00e0 b\u1eaft \u0111\u1ea7u v\u1edbi \u00edt quy\u1ec1n r\u1ed3i m\u1edf d\u1ea7n. C\u00e1c nguy\u00ean t\u1eafc c\u1ee5 th\u1ec3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>B\u1eaft \u0111\u1ea7u v\u1edbi \u00edt quy\u1ec1n r\u1ed3i m\u1edf th\u00eam khi c\u1ea7n.<\/li>\n\n\n<li>\u01afu ti\u00ean <strong>workspaceAccess: &#8220;none&#8221;<\/strong> n\u1ebfu agent kh\u00f4ng c\u1ea7n workspace ch\u00ednh.<\/li>\n\n\n<li>D\u00f9ng <strong>workspaceAccess: &#8220;ro&#8221;<\/strong> n\u1ebfu agent ch\u1ec9 c\u1ea7n \u0111\u1ecdc.<\/li>\n\n\n<li>Ch\u1ec9 d\u00f9ng <strong>workspaceAccess: &#8220;rw&#8221;<\/strong> khi agent th\u1eadt s\u1ef1 c\u1ea7n s\u1eeda file.<\/li>\n\n\n<li>Gi\u1eef <strong>network: &#8220;none&#8221;<\/strong> n\u1ebfu t\u00e1c v\u1ee5 kh\u00f4ng c\u1ea7n Internet.<\/li>\n\n\n<li>D\u00f9ng <strong>scope: &#8220;agent&#8221;<\/strong> ho\u1eb7c <strong>&#8220;session&#8221;<\/strong> thay v\u00ec chia s\u1ebb m\u1ed9t sandbox cho nhi\u1ec1u phi\u00ean.<\/li>\n\n\n<li>Kh\u00f4ng c\u1ea5p <strong>exec<\/strong> n\u1ebfu agent kh\u00f4ng c\u1ea7n ch\u1ea1y l\u1ec7nh Linux.<\/li>\n\n\n<li>Kh\u00f4ng cho agent ti\u1ebfp c\u1eadn SSH Key ho\u1eb7c file <strong>.env<\/strong>.<\/li>\n\n\n<li>\u0110\u1eb7t gi\u1edbi h\u1ea1n CPU, RAM v\u00e0 process cho container.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Agent c\u1ea7n tr\u00ecnh duy\u1ec7t th\u00ec c\u00f3 th\u1ec3 t\u00e1ch tr\u00ecnh duy\u1ec7t ra container ri\u00eang nh\u01b0 h\u01b0\u1edbng d\u1eabn <a href=\"https:\/\/tino.vn\/blog\/trien-khai-browserless-sandbox-tren-vps\/\">tri\u1ec3n khai Browserless tr\u00ean VPS cho OpenClaw<\/a>.<\/p>\n\n\n\n<h2 id=\"Khi_n\u00e0o_n\u00ean_b\u1eadt_Sandbox_cho_OpenClaw?\">Khi n\u00e0o n\u00ean b\u1eadt Sandbox cho OpenClaw?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00ean b\u1eadt sandbox khi OpenClaw \u0111\u01b0\u1ee3c c\u1ea5p c\u00e1c kh\u1ea3 n\u0103ng nh\u01b0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ch\u1ea1y c\u00e2u l\u1ec7nh Linux.<\/li>\n\n\n<li>\u0110\u1ecdc file tr\u00ean VPS.<\/li>\n\n\n<li>S\u1eeda ho\u1eb7c t\u1ea1o file.<\/li>\n\n\n<li>Vi\u1ebft v\u00e0 ch\u1ea1y code.<\/li>\n\n\n<li>D\u00f9ng tr\u00ecnh duy\u1ec7t.<\/li>\n\n\n<li>Truy c\u1eadp website ho\u1eb7c API b\u00ean ngo\u00e0i.<\/li>\n\n\n<li>D\u00f9ng Skill ho\u1eb7c Plugin.<\/li>\n\n\n<li>X\u1eed l\u00fd file ng\u01b0\u1eddi d\u00f9ng g\u1eedi.<\/li>\n\n\n<li>Ph\u1ee5c v\u1ee5 nhi\u1ec1u ng\u01b0\u1eddi d\u00f9ng.<\/li>\n\n\n<li>Ch\u1ea1y t\u1ef1 \u0111\u1ed9ng 24\/7.<\/li>\n\n\n<li>L\u00e0m t\u00e1c v\u1ee5 m\u00e0 kh\u00f4ng c\u1ea7n x\u00e1c nh\u1eadn t\u1eebng b\u01b0\u1edbc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu OpenClaw ch\u1ec9 d\u00f9ng \u0111\u1ec3 tr\u00f2 chuy\u1ec7n v\u00e0 kh\u00f4ng \u0111\u01b0\u1ee3c c\u1ea5p c\u00f4ng c\u1ee5 t\u00e1c \u0111\u1ed9ng \u0111\u1ebfn h\u1ec7 th\u1ed1ng, nhu c\u1ea7u sandbox th\u1ea5p h\u01a1n.<\/p>\n\n\n\n<h2 id=\"K\u1ebft_lu\u1eadn\">K\u1ebft lu\u1eadn<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1ch ly sandbox l\u00e0 l\u1edbp n\u00ean c\u00f3 cho m\u1ecdi AI Agent \u0111\u01b0\u1ee3c ch\u1ea1y l\u1ec7nh, \u0111\u1ecdc ghi file hay d\u00f9ng tr\u00ecnh duy\u1ec7t tr\u00ean VPS. B\u1eaft \u0111\u1ea7u t\u1eeb c\u1ea5u h\u00ecnh t\u1ed1i gi\u1ea3n nh\u01b0 tr\u00ean (m\u1ea1ng t\u1eaft, workspace ch\u1ec9 \u0111\u1ecdc, gi\u1edbi h\u1ea1n t\u00e0i nguy\u00ean), ki\u1ec3m tra b\u1eb1ng <code>sandbox explain<\/code>, r\u1ed3i m\u1edf quy\u1ec1n d\u1ea7n theo nhu c\u1ea7u th\u1ef1c t\u1ebf.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">C\u1ea7n VPS \u0111\u1ec3 ch\u1ea1y OpenClaw v\u1edbi sandbox Docker? <a href=\"https:\/\/tino.vn\/vps-openclaw\">VPS OpenClaw c\u1ee7a Tino<\/a> c\u00f3 s\u1eb5n m\u00f4i tr\u01b0\u1eddng OpenClaw, b\u1ea1n v\u1eabn c\u00f3 quy\u1ec1n root \u0111\u1ec3 c\u00e0i Docker v\u00e0 c\u1ea5u h\u00ecnh sandbox nh\u01b0 tr\u00ean. C\u1ea5u h\u00ecnh v\u00e0 gi\u00e1 xem tr\u00ean trang s\u1ea3n ph\u1ea9m.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p\">Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"L\u00e0m_sao_ki\u1ec3m_tra_Sandbox_\u0111ang_\u00e1p_d\u1ee5ng_\u0111\u00fang_ch\u00ednh_s\u00e1ch_b\u1ea3o_m\u1eadt_\u0111\u00e3_c\u1ea5u_h\u00ecnh?\">L\u00e0m sao ki\u1ec3m tra Sandbox \u0111ang \u00e1p d\u1ee5ng \u0111\u00fang ch\u00ednh s\u00e1ch b\u1ea3o m\u1eadt \u0111\u00e3 c\u1ea5u h\u00ecnh?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">D\u00f9ng l\u1ec7nh <code>openclaw sandbox explain<\/code> \u0111\u1ec3 xem ph\u1ea1m vi c\u00e1ch ly, quy\u1ec1n truy c\u1eadp workspace v\u00e0 ch\u00ednh s\u00e1ch c\u00f4ng c\u1ee5 \u0111ang c\u00f3 hi\u1ec7u l\u1ef1c. Sau m\u1ed7i l\u1ea7n \u0111\u1ed5i c\u1ea5u h\u00ecnh, ch\u1ea1y <code>openclaw sandbox recreate --all<\/code> v\u00ec thay \u0111\u1ed5i kh\u00f4ng t\u1ef1 \u00e1p l\u00ean container \u0111ang ch\u1ea1y.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"N\u00ean_ch\u1ecdn_backend_Sandbox_n\u00e0o_cho_OpenClaw:_Docker,_SSH_hay_OpenShell?\">N\u00ean ch\u1ecdn backend Sandbox n\u00e0o cho OpenClaw: Docker, SSH hay OpenShell?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u00e1 nh\u00e2n v\u00e0 nh\u00f3m nh\u1ecf ch\u1ea1y tr\u00ean m\u1ed9t VPS n\u00ean d\u00f9ng Docker, l\u00e0 backend m\u1eb7c \u0111\u1ecbnh v\u00e0 d\u1ec5 duy tr\u00ec. SSH h\u1ee3p khi mu\u1ed1n \u0111\u1ea9y ph\u1ea7n th\u1ef1c thi c\u00f4ng c\u1ee5 sang m\u1ed9t m\u00e1y kh\u00e1c. <a href=\"https:\/\/docs.openclaw.ai\/gateway\/openshell\" target=\"_blank\" rel=\"noopener nofollow\">OpenShell<\/a> l\u00e0 backend sandbox \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd b\u1eb1ng CLI openshell, h\u1ee3p khi c\u1ea7n sandbox c\u1ee5c b\u1ed9 ho\u1eb7c tr\u00ean h\u1ea1 t\u1ea7ng ri\u00eang do OpenShell \u0111i\u1ec1u ph\u1ed1i.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Sandbox_c\u00f3_ng\u0103n_ch\u1eb7n_ho\u00e0n_to\u00e0n_t\u1ea5n_c\u00f4ng_prompt_injection_kh\u00f4ng?\">Sandbox c\u00f3 ng\u0103n ch\u1eb7n ho\u00e0n to\u00e0n t\u1ea5n c\u00f4ng prompt injection kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. Prompt injection nh\u1eafm v\u00e0o c\u00e1ch m\u00f4 h\u00ecnh hi\u1ec3u v\u0103n b\u1ea3n \u0111\u1ea7u v\u00e0o, n\u00ean sandbox kh\u00f4ng lo\u1ea1i b\u1ecf \u0111\u01b0\u1ee3c. Sandbox gi\u1edbi h\u1ea1n h\u1eadu qu\u1ea3 n\u1ebfu t\u1ea5n c\u00f4ng th\u00e0nh c\u00f4ng, b\u1eb1ng c\u00e1ch gi\u1eef l\u1ec7nh \u0111\u1ed9c h\u1ea1i trong m\u00f4i tr\u01b0\u1eddng c\u00e1ch ly thay v\u00ec \u1ea3nh h\u01b0\u1edfng to\u00e0n b\u1ed9 VPS.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"OpenClaw_Sandbox_c\u00f3_\u0111\u01b0\u1ee3c_b\u1eadt_m\u1eb7c_\u0111\u1ecbnh_kh\u00f4ng?\">OpenClaw Sandbox c\u00f3 \u0111\u01b0\u1ee3c b\u1eadt m\u1eb7c \u0111\u1ecbnh kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. Theo t\u00e0i li\u1ec7u OpenClaw, <code>agents.defaults.sandbox.mode<\/code> m\u1eb7c \u0111\u1ecbnh l\u00e0 <code>off<\/code>. Qu\u1ea3n tr\u1ecb vi\u00ean c\u1ea7n b\u1eadt sandbox n\u1ebfu mu\u1ed1n \u00e1p d\u1ee5ng cho agent.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"OpenClaw_Sandbox_c\u00f3_Internet_kh\u00f4ng?\">OpenClaw Sandbox c\u00f3 Internet kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Sandbox Docker m\u1eb7c \u0111\u1ecbnh d\u00f9ng <code>network: \"none\"<\/code>, t\u1ee9c kh\u00f4ng c\u00f3 k\u1ebft n\u1ed1i ra ngo\u00e0i. N\u1ebfu c\u00f4ng vi\u1ec7c c\u1ea7n Internet, c\u00f3 th\u1ec3 chuy\u1ec3n sang <code>bridge<\/code> ho\u1eb7c m\u1ea1ng ph\u00f9 h\u1ee3p sau khi c\u00e2n nh\u1eafc r\u1ee7i ro; <code>network: \"host\"<\/code> b\u1ecb ch\u1eb7n.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"L\u00e0m sao ki\u1ec3m tra Sandbox \u0111ang \u00e1p d\u1ee5ng \u0111\u00fang ch\u00ednh s\u00e1ch b\u1ea3o m\u1eadt \u0111\u00e3 c\u1ea5u h\u00ecnh?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>D\u00f9ng l\u1ec7nh openclaw sandbox explain \u0111\u1ec3 xem ph\u1ea1m vi c\u00e1ch ly, quy\u1ec1n truy c\u1eadp workspace v\u00e0 ch\u00ednh s\u00e1ch c\u00f4ng c\u1ee5 \u0111ang c\u00f3 hi\u1ec7u l\u1ef1c. Sau m\u1ed7i l\u1ea7n \u0111\u1ed5i c\u1ea5u h\u00ecnh, ch\u1ea1y openclaw sandbox recreate --all v\u00ec thay \u0111\u1ed5i kh\u00f4ng t\u1ef1 \u00e1p l\u00ean container \u0111ang ch\u1ea1y.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"N\u00ean ch\u1ecdn backend Sandbox n\u00e0o cho OpenClaw: Docker, SSH hay OpenShell?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00e1 nh\u00e2n v\u00e0 nh\u00f3m nh\u1ecf ch\u1ea1y tr\u00ean m\u1ed9t VPS n\u00ean d\u00f9ng Docker, l\u00e0 backend m\u1eb7c \u0111\u1ecbnh v\u00e0 d\u1ec5 duy tr\u00ec. SSH h\u1ee3p khi mu\u1ed1n \u0111\u1ea9y ph\u1ea7n th\u1ef1c thi c\u00f4ng c\u1ee5 sang m\u1ed9t m\u00e1y kh\u00e1c. <a>OpenShell<\/a> l\u00e0 backend sandbox \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd b\u1eb1ng CLI openshell, h\u1ee3p khi c\u1ea7n sandbox c\u1ee5c b\u1ed9 ho\u1eb7c tr\u00ean h\u1ea1 t\u1ea7ng ri\u00eang do OpenShell \u0111i\u1ec1u ph\u1ed1i.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Sandbox c\u00f3 ng\u0103n ch\u1eb7n ho\u00e0n to\u00e0n t\u1ea5n c\u00f4ng prompt injection kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng. Prompt injection nh\u1eafm v\u00e0o c\u00e1ch m\u00f4 h\u00ecnh hi\u1ec3u v\u0103n b\u1ea3n \u0111\u1ea7u v\u00e0o, n\u00ean sandbox kh\u00f4ng lo\u1ea1i b\u1ecf \u0111\u01b0\u1ee3c. Sandbox gi\u1edbi h\u1ea1n h\u1eadu qu\u1ea3 n\u1ebfu t\u1ea5n c\u00f4ng th\u00e0nh c\u00f4ng, b\u1eb1ng c\u00e1ch gi\u1eef l\u1ec7nh \u0111\u1ed9c h\u1ea1i trong m\u00f4i tr\u01b0\u1eddng c\u00e1ch ly thay v\u00ec \u1ea3nh h\u01b0\u1edfng to\u00e0n b\u1ed9 VPS.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"OpenClaw Sandbox c\u00f3 \u0111\u01b0\u1ee3c b\u1eadt m\u1eb7c \u0111\u1ecbnh kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng. Theo t\u00e0i li\u1ec7u OpenClaw, agents.defaults.sandbox.mode m\u1eb7c \u0111\u1ecbnh l\u00e0 off. Qu\u1ea3n tr\u1ecb vi\u00ean c\u1ea7n b\u1eadt sandbox n\u1ebfu mu\u1ed1n \u00e1p d\u1ee5ng cho agent.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"OpenClaw Sandbox c\u00f3 Internet kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Sandbox Docker m\u1eb7c \u0111\u1ecbnh d\u00f9ng network: \\\"none\\\", t\u1ee9c kh\u00f4ng c\u00f3 k\u1ebft n\u1ed1i ra ngo\u00e0i. N\u1ebfu c\u00f4ng vi\u1ec7c c\u1ea7n Internet, c\u00f3 th\u1ec3 chuy\u1ec3n sang bridge ho\u1eb7c m\u1ea1ng ph\u00f9 h\u1ee3p sau khi c\u00e2n nh\u1eafc r\u1ee7i ro; network: \\\"host\\\" b\u1ecb ch\u1eb7n.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e1ch ly sandbox cho AI Agent l\u00e0 ch\u1ea1y c\u00e1c c\u00f4ng c\u1ee5 c\u1ee7a agent (l\u1ec7nh shell, \u0111\u1ecdc ghi file, tr\u00ecnh duy\u1ec7t) trong m\u1ed9t m\u00f4i tr\u01b0\u1eddng b\u1ecb gi\u1edbi h\u1ea1n, th\u01b0\u1eddng l\u00e0 container Docker, \u0111\u1ec3 agent kh\u00f4ng ch\u1ea1m \u0111\u01b0\u1ee3c SSH key, file h\u1ec7 th\u1ed1ng hay ti\u1ebfn tr\u00ecnh kh\u00e1c tr\u00ean VPS. V\u1edbi OpenClaw, sandbox kh\u00f4ng b\u1eadt m\u1eb7c \u0111\u1ecbnh; b\u1ea1n [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":130112,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7724],"tags":[7709],"class_list":["post-130077","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-agent","tag-cach-ly-sandbox"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=130077"}],"version-history":[{"count":6,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130077\/revisions"}],"predecessor-version":[{"id":131967,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130077\/revisions\/131967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/130112"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=130077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=130077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=130077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}