You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
安全:「只读自动」不再放行能写文件、改系统的写法:以前只读自动模式靠「列出已知的危险选项」判断,GNU 命令允许把长选项缩写(sort --out=文件 就是 --output)、短选项可以直接带值(date -s2020-01-01 是改系统时间)、子命令也能缩写(ip l s dev eth0 down 就是 ip link set),hostname --file=… 则是从文件设主机名,这些写法会被当成只读直接执行。现在反过来:对有参数筛选的命令(sort、uniq、rg、tree、file、ss、blkid、lastlog、dmesg、journalctl、date、hostname、ip、systemctl 等)只放行明确列出的只读选项,长选项必须写全,不认识的参数、缩写、合并写法里没列出的字母一律要你确认;ip 只放行对象加缺省命令或完整的 show/list/ls。选项的值冒充子命令(如 systemctl -p show restart x、docker --config ps rm x)、echo x >/dev/null.log 这类写到名字相近文件的重定向也一并堵上。参数里带 $变量、$'…'、花括号、通配符这类要 shell 展开后才知道真实内容的写法(sort $'\x2do' out、sort {-o,out} in 展开后就是 sort -o),以及历史展开 !(!!、!$ 会在解析前拼入以前的命令)、printf -v 改 shell 变量,也一律要你确认;cat /var/log/*.log、ls $HOME 这类不看参数的命令和写在引号里的 '*.log' 不受影响。常见的只读用法(sort -k2 file、date +%F、hostname -I、ip a、ip -br link 等)照常自动执行。
AI 读文件时目标被移出对话,不会再继续读:list_dir、stat、read_file 以前在等连接期间如果这台服务器被移出对话(或用户点了停止),请求仍会连上去读并把内容交给智能体;写文件和执行命令早就有这道核对。现在三个读工具在连接返回后、读之前,以及读完、返回内容之前各核对一次,已被移出的直接拒绝;移出后又加回同一台服务器,旧请求也不会重新变有效。