命令安全与风险分类
了解 YeePilot 如何将命令分类为不同风险等级,并保护您的系统免受危险操作
YeePilot 在执行前评估每个命令并分配风险等级。这种多层安全系统确保您始终知道服务器上即将发生什么,并让您对任何可能造成损害的操作拥有最终决定权。
风险等级
AI 提议的每个命令被分为四个风险等级之一:
SAFE(安全 - 绿色)
仅读取的命令,在不做更改的情况下检查系统状态。
示例:
ls,cat,head,tail,lessps,top,htop,df,du,freewhoami,hostname,uname,uptimesystemctl status,journalctl(只读)ip addr,ss,netstat,ping,dig
SAFE 命令风险较低。根据您的安全模式,它们可能无需确认提示即可自动执行。
MODERATE(中等 - 黄色)
对系统进行更改但属于日常管理操作的命令。
示例:
apt install,apt update,yum installsystemctl restart,systemctl enablemkdir,cp,mv(到非系统路径)crontab -e,useraddufw allow,firewall-cmd
MODERATE 命令会向您显示其执行内容的摘要。根据您的安全模式,您可能需要在执行前确认。
DANGEROUS(危险 - 红色)
可能对系统造成重大或不可逆更改的命令。
示例:
- 对重要目录执行
rm -rf - 对系统文件执行
chmod/chown dd(磁盘写入操作)iptables规则更改- 编辑关键配置文件如
/etc/fstab、/etc/ssh/sshd_config mkfs(格式化文件系统)
DANGEROUS 命令无论安全模式如何,始终需要明确确认。YeePilot 会显示醒目的警告说明潜在影响。
BLOCKED(阻止 - 永不执行)
在任何情况下都不会被执行的命令。这些代表几乎总是恶意的或灾难性破坏性的操作。
YeePilot 包含 70+ 内置阻止模式,涵盖:
- 破坏性文件系统操作 --
rm -rf /、rm -rf /*、清除整个文件系统 - 反向 Shell -- bash、python、netcat 及其他反向 shell 技术
- 权限提升 -- 未经授权的 sudo 操纵、setuid 利用
- 容器逃逸 -- 试图突破容器隔离
- 历史操作 -- 清除或禁用 shell 历史以掩盖踪迹
- 加密矿工 -- 已知的挖矿软件和矿池连接
- 数据泄露 -- 将敏感文件传输到外部服务
- Fork 炸弹 --
:(){ :|:& };:及其变体
如果 AI 曾建议一个被阻止的命令,YeePilot 会立即拒绝并记录该尝试。在会话中没有方法可以覆盖被阻止的命令。
安全模式
YeePilot 提供三种安全模式来控制确认的处理方式:
严格模式
security:
mode: strict每个命令在执行前都需要确认,无论风险等级如何。这是最安全的设置,推荐用于生产服务器。
> Show disk usage
Proposed: df -h
Risk: SAFE
[Y/n] Confirm?适中模式(默认)
security:
mode: moderateSAFE 命令自动执行。MODERATE 和 DANGEROUS 命令需要确认。这是默认设置,在安全性和可用性之间取得平衡。
> Install nginx
Proposed: apt install -y nginx
Risk: MODERATE
[Y/n] Confirm?宽松模式
security:
mode: permissiveSAFE 和 MODERATE 命令自动执行。只有 DANGEROUS 命令需要确认。当您在开发或测试服务器上工作且速度比谨慎更重要时使用。
> Delete the old log files
Proposed: rm -rf /var/log/myapp/old/
Risk: DANGEROUS
[Y/n] Confirm? WARNING: This will permanently delete files.配置选项
在 ~/.yeepilot/config.yaml 中微调安全系统:
security:
mode: moderate # strict、moderate 或 permissive
require_confirmation: true # 确认的主开关
blocked_patterns: # 添加自定义阻止模式
- "curl.*|.*bash" # 阻止将 curl 输出传输给 bash
- "wget.*-O-.*|.*sh" # 阻止将 wget 输出传输给 sh添加自定义阻止模式
如果您的组织有特定的命令永远不应运行,将它们添加到 blocked_patterns 列表:
security:
blocked_patterns:
- "DROP DATABASE"
- "truncate.*production"
- "shutdown -h now"自定义模式是在内置的 70+ 模式之上添加的。您无法移除内置的阻止模式。
您始终拥有最终决定权
YeePilot 基于一个根本原则设计:人类操作员始终掌控一切。
- SAFE 和 MODERATE 命令可以根据您的安全模式自动批准,但您可以随时切换到严格模式以获得完全控制
- DANGEROUS 命令始终显示明确警告并等待您的明确批准
- BLOCKED 命令自动被拒绝,以防止提示词注入或 AI 幻觉
- 您可以随时按
n在确认提示处取消任何提议的命令,或按Ctrl+C取消
即使使用宽松模式,YeePilot 仍然会对每个命令进行分类并记录其风险等级。您可以随时查看审计日志,了解执行了什么以及原因。
提示词注入防护
YeePilot 的安全系统还能防御提示词注入攻击 -- 即恶意内容(在文件、日志或网页中)试图诱骗 AI 生成有害命令的尝试。即使注入的文本试图覆盖 AI 的指令,命令安全层也会独立地根据阻止模式列表和风险分类器评估每个提议的命令。安全系统独立于 AI 模型运行,提供纵深防御。