imran7714/GIE
GitHub: imran7714/GIE
一套基于浏览器扩展与服务端的治理智能引擎,解决 LLM 场景下企业合规与数据泄露风险的可视化监控问题。
Stars: 0 | Forks: 0
# 🏛 治理智能引擎
## 快速开始
### 对于 IT 管理员 — 运行服务器
```
# 导航到 server 文件夹
cd server/
# 安装依赖(仅一次)
npm install
# 启动 server
node server.js
# Server 启动于 http://localhost:3000
# 在浏览器中打开该 URL 以查看所有违规
```
**环境变量(可选):**
```
PORT=8080 # Change port (default: 3000)
API_KEY=mysecret # Require API key from employees (recommended)
DATA_FILE=./logs.json # Where to persist logs (default: ./gie-logs.json)
MAX_LOGS=50000 # Max violations to store (default: 10000)
```
使用密钥的示例:
```
API_KEY=your-secret-key-here node server.js
```
### 对于员工 — 安装扩展
1. 打开 Chrome → `chrome://extensions`
2. 启用**开发者模式**(右上角开关)
3. 点击**加载已解压的扩展程序**
4. 选择 `gie-v3/` 文件夹 *(不要选 `server/` 子文件夹)*
5. GIE 图标将出现在您的工具栏中
**配置您的身份:**
1. 点击 GIE 工具栏图标
2. 进入 **⚙ 治理策略** 标签页
3. 展开 **👤 员工身份** — 填写您的姓名、部门
4. 展开 **🖥 管理服务器连接**
- 输入服务器 URL:`http://localhost:3000`(或您 IT 团队的 IP/主机名)
- 如果您的管理员设置了 API key,请在此输入
- 点击 **⚡ Ping 服务器** 以验证其是否可连接
5. 点击 **💾 保存治理策略**
大功告成。您触发的每项策略违规现在都会显示在管理员仪表板中。
## 架构
```
Employee 1 Browser Employee 2 Browser Employee N Browser
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ GIE Extension │ │ GIE Extension │ │ GIE Extension │
│ │ │ │ │ │
│ Detects violation│ │ Detects violation│ │ Detects violation│
│ → Shows red border │ → Shows red border │ → Shows red border
│ → Local audit log│ │ → Local audit log│ │ → Local audit log│
│ → POST /api/logs │ │ → POST /api/logs │ │ → POST /api/logs │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
└───────────────────────────┼────────────────────────────┘
│ HTTP POST
┌──────▼──────────┐
│ server/server.js │
│ (Node.js/Express)│
│ │
│ POST /api/logs │ ← receives from employees
│ GET / │ ← admin dashboard HTML
│ GET /api/stats │ ← aggregated stats
│ GET /api/events │ ← live SSE stream
│ GET /api/export │ ← CSV download
└──────────────────┘
```
**离线行为:** 如果无法连接服务器,违规记录将保存到扩展本地的 `gie_outbox` 队列中,并每 2 分钟自动重试一次。弹窗中的管理员仪表板标题会显示当前排队的违规记录数量。
## 管理员仪表板功能
- **实时更新** — 新违规记录会即时显示(Server-Sent Events,无需轮询)
- **员工侧边栏** — 点击任意员工,可按其违规记录筛选表格
- **KPI 栏** — 点击任意严重级别徽章,按级别筛选
- **可排序表格** — 点击任意列标题
- **可展开行** — 点击任意行查看完整详情(员工 ID、源 IP、违规标签)
- **导出 CSV** — 将所有可见的违规记录下载为电子表格
- **导出 PDF** — 打开一份适合打印的报告
- **全部清除** — 清空服务器日志(需确认)
## 安全说明
- 在生产环境中**设置 API key**:`API_KEY=secret node server.js` — 员工必须在其扩展设置中输入相同的密钥
- 服务器**仅存储违规元数据** — 绝不存储实际的敏感文本。仅包含类似 "Credit Card Number" 或 "UK National Insurance Number" 的标签
- 日志将持久化保存到服务器文件夹中的 `gie-logs.json` — 请定期备份此文件
- 若要在全公司部署,请将服务器运行在可从办公网络访问的 VM 上,并将 `DATA_FILE` 设置为已备份的路径
## 文件结构
```
gie-v3/ ← Load this folder in Chrome
├── manifest.json
├── engine.js ← Background: relay + outbox queue
├── dashboard.html ← Employee popup UI
├── dashboard.js ← Employee popup logic
├── modules/
│ ├── storage/audit.js ← v3: fires GIE_RELAY after each log()
│ ├── rules/
│ │ ├── rule-pii.js
│ │ ├── rule-financial.js
│ │ ├── rule-secrets.js
│ │ └── rule-ai.js ← Gemini Nano + regex AI detection
│ ├── ui/warning.js
│ └── platforms/
│ ├── platform-chatgpt.js
│ ├── platform-claude.js
│ ├── platform-gemini.js
│ └── platform-perplexity.js
└── server/ ← Run this separately on admin machine
├── package.json
├── server.js ← Express server + embedded admin dashboard
└── gie-logs.json ← Created automatically on first violation
```
## 故障排除
**Ping 服务器时提示“无法访问”**
- 检查服务器文件夹中是否正在运行 `node server.js`
- 检查您的防火墙是否放行了端口 3000(或您选择的 `PORT`)
- 如果员工位于不同的机器上,请使用服务器的 IP 地址而不是 `localhost`
**违规记录未显示在管理员仪表板中**
- 打开扩展弹窗 → ⚙ 治理策略 → 管理服务器 — 检查状态小部件
- 如果显示“离线”,说明违规记录正在排队,并在服务器恢复后同步
- 检查服务器控制台是否有传入请求日志
**“未授权 — API key 无效”错误**
- 确保服务器上的 `API_KEY` 环境变量与每个员工扩展设置中输入的内容完全一致
- 密钥区分大小写
**扩展未能检测到违规**
- 确保您正在使用受监控的平台之一(ChatGPT、Claude.ai、Gemini、Perplexity)
- 尝试输入测试用的 SSN(如 `123-45-6789`)或虚假的信用卡号 `4111-1111-1111-1111`
- 检查浏览器控制台是否有 `[GIE v3]` 日志消息
=======
# GIE
治理智能引擎 (GIE) 是一个最先进的 Manifest V3 浏览器扩展架构,旨在解决企业中因大语言模型 (LLM) 的快速采用而产生的严重安全真空问题。
标签:LLM管理, 企业安全, 合规治理, 数据防泄漏, 浏览器扩展, 网络资产管理, 自定义脚本