092f3b78f2
http/db 类工具的子进程是瘦壳(纯计算),危险操作全在受信任主进程, 套容器是纯开销无隔离收益。调整为: - 开发者预写工具:移除 spec 的 sandbox: profile: stdio,回默认 local 本地执行(仍保留 env_clear + 白名单注入) - tool_manager 产出的工具:spec_yaml 自动写 sandbox: profile: stdio, 不受信任代码(LLM 提供 rust_code)默认进 stdio 容器 - tool_manager 编译:仍走 builder 容器 - 移除 ias-network-runner Dockerfile(当前无工具直接联网) - executor docker 分支仅保留 stdio/builder,删 network 分支 验证:datetime 本地执行 +08:00;tool_manager 产出工具 spec 含 sandbox: profile: stdio 且容器内执行成功;25 测试通过。
17 lines
628 B
Bash
Executable File
17 lines
628 B
Bash
Executable File
#!/usr/bin/env bash
|
||
# 构建沙箱基础镜像。
|
||
# - ias-stdio-runner : 运行 tool_manager 产出的不受信任工具(无网络只读)
|
||
# - ias-tool-builder : tool_manager 编译 Rust 工具(离线)
|
||
# 无需为每个工具单独写 Dockerfile。
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")" # docker/
|
||
|
||
echo "=== 构建 ias-stdio-runner(无网络只读容器)==="
|
||
docker build -t ias-stdio-runner -f Dockerfile.stdio-runner .
|
||
|
||
echo "=== 构建 ias-tool-builder(Rust 编译容器)==="
|
||
docker build -t ias-tool-builder -f Dockerfile.tool-builder .
|
||
|
||
echo "=== 完成 ==="
|
||
docker images | grep -E '^ias-(stdio|tool)'
|