终端安全拦截器

ShellGuard是一个智能终端安全层,能在执行前拦截危险的shell命令,使用AI分析风险并提供更安全的替代方案。

  • by Shyamyemuka
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Shyamyemuka/ShellGuard

使用说明

🛡️ 壳卫士

智能终端安全层在执行前拦截危险的shell命令,使用AI分析风险,并提出更安全的替代方案。

壳卫士 防止灾难性的终端错误,同时帮助您学习更安全的命令行实践。它拦截有风险的命令,用简单的英语解释后果,并保持完整的审计跟踪。


✨ 主要特点

  • 🖥️ 基于Web的终端 --带xterm.js的全功能浏览器终端
  • 🔍 实时拦截 --执行前捕获命令(安全命令<5ms)
  • 🤖 人工智能风险分析 --基于谷歌Gemini的结构化评分风险评估
  • 💡 更安全的替代品 --AI生成的安全命令可以实现相同的目标
  • 📝 审计跟踪 --完整的命令历史记录,包括时间戳和操作
  • 🏗️ Archestra MCP集成 --具有护栏和可观察性的代理编排
  • 🔒 硬块 --灾难性命令(如 rm -rf /)立即封锁
  • 🏖️ 沙盒模式 --用于安全部署的隔离执行环境

🚀 快速开始

先决条件

安装

  1. 克隆和配置

    git clone https://github.com/Shyamyemuka/ShellGuard.git
    cd ShellGuard
    cp .env.example .env
    # Add your GOOGLE_API_KEY to .env
    
  2. 启动后端

    cd backend
    pip install -r requirements.txt
    python main.py
    
  3. 启动前端 (新航站楼)

    cd frontend
    npm install
    npm run dev
    
  4. 打开 http://localhost:3000

Docker(替代方案)

docker-compose up --build

🎮 运作原理

  1. 类型 终端中的命令
  2. 安全命令 立即执行(<5ms)
  3. 危险命令 触发AI分析(1-3s)
  4. 警告覆盖层 显示风险和更安全的替代方案
  5. 选择 批准、使用安全的替代方案或取消
  6. 所有行动 记录以进行审计跟踪

示例

$ rm -rf /var/log/*

ShellGuard拦截并显示:

  • ⚠️ 高风险:递归强制删除
  • 后果:永久删除,无法撤消,系统日志丢失
  • 更安全的替代方案: find /var/log -type f -mtime +30 -delete
  • 行动: ✅ 批准|🔄 使用安全|❌ 取消

📚 文档


🛠️ 技术栈

组件 技术
前端 Next.js 14、xterm.js、顺风CSS
后端 FastAPI,Python 3.11+
AI 谷歌双子座1.5 Flash
代理平台 Archestra MCP
数据库 SQLite 3
部署 Docker,Docker编写

📜 许可证

MIT许可证-请参阅 许可证 了解详情。


🙏 致谢

建于❤️ 通过 彭纳队 哈克全部二月2025。

特别感谢:

  • 阿奇斯特拉 对于MCP平台
  • 谷歌双子座 用于AI分析
  • xterm.js 用于终端仿真器

仓库: github.com/Shyamyemuka/ShellGuard