lumen-argus/lumen-argus

GitHub: lumen-argus/lumen-argus

一款面向AI编程工具的DLP代理,在请求到达AI服务商前拦截并扫描敏感信息、PII和专有代码,防止数据通过AI助手泄露。

Stars: 0 | Forks: 0

Python 3.11+ tests Minimal dependencies MIT License Documentation

# lumen-argus **AI 编程工具 DLP 代理** — 在请求到达 AI 提供商之前,扫描出站请求中的敏感信息、PII 和专有数据。 ``` Developer's AI Tool ──HTTP──> lumen-argus (localhost) ──HTTPS──> AI Provider API | +--------+--------+ | Detection Engine | | * Secrets | | * PII | | * Proprietary | +--------+--------+ Actions: block | alert | log ``` ## 问题所在 AI 编程助手在每次请求时都会将您的代码发送到外部 API。这带来了数据泄露风险: - **敏感信息** — 嵌入在代码或配置中的 API key、数据库凭证、私钥 - **PII** — 源代码、测试固件或日志中的客户数据、社会安全号码 (SSN)、信用卡号 - **专有代码** — 发送给第三方 AI 提供商的商业机密、未发布功能 lumen-argus 位于您的 AI 工具和提供商之间,扫描每一个出站请求并采取行动 — **在任何数据离开您的设备之前**。 ## 关键特性 - **34+ 种敏感信息模式**,配合 Shannon 熵分析 - **编码感知扫描** — 捕获 base64、hex、URL、Unicode 编码的敏感信息 - **响应扫描** — 检测 API 响应中的敏感信息和提示词注入 (异步,零延迟) - **MCP 代理** — 扫描 stdio、HTTP 和 WebSocket 传输上的 MCP 流量 (`lumen-argus mcp`) - **WebSocket 代理** — 同一端口上的双向帧扫描 (按需启用, `ws://localhost:8080/ws?url=ws://target`) - **8 种 PII 检测器**,带验证 (Luhn、SSN 范围、IBAN 校验和) - **专有代码** 检测 (文件模式 + 关键词匹配) - **< 50ms 扫描开销** (针对典型负载) - **极简依赖** — PyYAML + aiohttp,其余均为 stdlib - **会话追踪** — 识别每项发现背后的 WHO (谁)、WHICH project (哪个项目)、WHICH conversation (哪个对话) - **跨请求去重** — 3 层去重机制,消除对话历史中的冗余扫描 - **Web 仪表盘**,提供实时发现、图表、会话过滤和审计日志 - **通知渠道** — webhook、email、Slack、Teams、PagerDuty、OpsGenie、Jira - **数据库支持的规则引擎** — 通过 CLI 和仪表盘导入、导出、切换和管理检测规则。Aho-Corasick 预过滤器在 <50ms 内扫描 1,700+ 条规则 - **Pre-commit 扫描器** — 在敏感信息进入对话历史之前将其拦截 - **Relay + engine 分离** — 故障隔离的双进程架构;当 engine 崩溃时 relay 继续转发 (故障开放/关闭) - **保护开关** — `lumen-argus protection enable/disable/status`,用于托盘应用集成 - **热重载** — 通过 SIGHUP 更新配置,零停机 - **Docker 就绪** — 单条命令,升级后数据依然保留 ## 快速开始 **要求:** Python 3.11+ ``` pip install lumen-argus-proxy lumen-argus serve ``` 然后将您的 AI 工具指向该代理。**支持 27 种代理** — 自动检测并全部配置: | 已代理 (环境变量) | 已代理 (手动配置) | 仅检测 | |---|---|---| | Claude Code | Cursor | Windsurf | | GitHub Copilot CLI | GitHub Copilot (IDE) | Amazon Q | | Aider | Continue | Tabnine | | Codex CLI | Cody | Augment Code | | OpenCode | Cline | Gemini Code Assist | | Gemini CLI | Roo Code | Antigravity | | | Aide | Kiro | | | Droid | Trae | | | CodeBuddy | Qoder | | | Kilo Code | Kiro CLI | | | | Warp | ``` # 自动检测已安装的 AI 工具 lumen-argus detect # 自动配置所有检测到的工具 lumen-argus setup # 或手动配置: ANTHROPIC_BASE_URL=http://localhost:8080 claude OPENAI_BASE_URL=http://localhost:8080 aider GEMINI_BASE_URL=http://localhost:8080 gemini ``` **后台监控** — 自动检测并配置新工具: ``` # 作为前台 watch daemon 运行 lumen-argus watch --auto-configure # 或安装为系统服务 (launchd/systemd) lumen-argus watch --install --auto-configure ``` **Shell 钩子** — 在每次打开新 shell 时警告未配置的工具: ``` # 添加到你的 .zshrc / .bashrc (运行耗时 <100ms) eval "$(lumen-argus detect --check-quiet 2>/dev/null)" # 或自动安装: lumen-argus setup # offers to install the hook ``` **故障隔离模式** (relay + engine): ``` # 两个独立进程 — relay 可在 engine 崩溃后继续存活 lumen-argus engine --port 8090 & lumen-argus relay --port 8080 --engine http://localhost:8090 --fail-mode open # 或合并在一个进程中 lumen-argus serve --engine-port 8090 --fail-mode open # 开启/关闭保护 (用于 tray app 集成) lumen-argus protection enable lumen-argus protection disable lumen-argus protection status ``` **Docker:** ``` docker compose up -d ANTHROPIC_BASE_URL=http://localhost:8080 claude open http://localhost:8081 # dashboard ``` 多个会话 (包括混合提供商) 可以共享同一个代理实例。每个会话都会被自动追踪 — 代理从每个请求中提取账户、设备、项目和对话标识符。 该代理使用异步架构 以实现高并发和低内存占用。对 Python 3.13+ 的自由线程模式 线程安全。 ## CLI 输出 ``` lumen-argus — listening on http://127.0.0.1:8080 #1 POST /v1/messages opus-4-6 88.3k->1.5k 2312ms PASS #2 POST /v1/messages opus-4-6 90.1k->0.8k 1134ms ALERT aws_access_key (messages[4]) #3 POST /v1/messages opus-4-6 91.2k->2.1k 3412ms BLOCK private_key*3 shutdown — 3 requests | 1 blocked | 1 alerts | avg scan 12.3ms findings: aws_access_key, private_key*3 ``` ## 检测内容 ### 敏感信息 (34 种模式 + 熵分析) AWS key、GitHub token、Anthropic/OpenAI/Google API key、Stripe key、Slack token、JWT、数据库 URL、PEM 私钥、通用密码等。通过 Shannon 熵分析,靠近敏感信息相关关键词的高熵字符串也会被标记。重复的发现会自动合并。 ### PII (8 种带验证的模式) | 类型 | 验证方式 | |---|---| | Email | 域名格式检查 | | SSN (US) | 范围验证 (拒绝 000, 666, 900+) | | Credit Card | Luhn 算法 | | Phone (US/Intl) | 格式检查 | | IP Address | 排除私有/回环范围 | | IBAN | MOD-97 校验和 | | Passport (US) | 需要上下文 | ### 专有代码 - **文件模式黑名单** — `.pem`, `.key`, `.env`, `credentials.json` 等。 - **关键词检测** — `CONFIDENTIAL`, `TRADE SECRET`, `INTERNAL ONLY` 等。 ### 编码感知扫描 隐藏在编码背后的敏感信息会在扫描前被解码: | 编码 | 示例 | |---|---| | Base64 | `c2tfbGl2ZV8xMjM0...` → `sk_live_1234...` | | Hex | `736b5f6c6976655f...` → `sk_live_...` | | URL | `sk%5Flive%5F1234...` → `sk_live_1234...` | | Unicode | `\u0073\u006b\u005f...` → `sk_...` | 支持嵌套编码 (例如 URL 编码内的 base64,深度可配置)。每种编码类型均可从 Pipeline 仪表盘页面单独开关。发现位置会有标注:`messages[0].content[base64]`。 ### 响应扫描 API 响应会被异步扫描以检测敏感信息和提示词注入 — 对请求/响应周期的延迟影响为零。 | 检测 | 模式 | 描述 | |---|---|---| | **敏感信息** | 复用所有请求检测器 | 捕获模型输出中从上下文泄露的敏感信息 | | **注入** | 10 个社区 + Pro 扩展 | 检测提示词注入 (例如 "ignore previous instructions", `` 标签, 数据窃取尝试) | 注入模式作为规则存储在数据库中 (detector=`injection`) — 可在 Rules 仪表盘页面查看和配置。通过 Pipeline 页面启用:切换 `Response Secrets` 和/或 `Response Injection` 阶段。 ### MCP Server 扫描 用 DLP 扫描包装任何 MCP server — 工具调用参数和响应在 4 种传输模式上双向扫描: ``` # Stdio subprocess — 封装本地 MCP server lumen-argus mcp -- npx @modelcontextprotocol/server-filesystem /path # HTTP bridge — stdio 客户端, HTTP 上游 lumen-argus mcp --upstream http://localhost:3000/mcp # HTTP reverse proxy — 集中扫描 MCP 流量 lumen-argus mcp --listen :8089 --upstream http://mcp-server:3000 # WebSocket bridge — stdio 客户端, WS 上游 lumen-argus mcp --upstream ws://localhost:9000/mcp ``` ``` { "mcpServers": { "filesystem": { "command": "lumen-argus", "args": ["mcp", "--", "npx", "@modelcontextprotocol/server-filesystem", "/path"] } } } ``` **安全层** (默认全部启用): - **工具描述投毒检测** — 7 种模式类别 (注入标签、文件窃取、跨工具操纵、危险 exec、download+exec、脚本注入、命令注入) - **工具漂移检测** — SHA-256 基线检测会话间的定义变化 (防止rug-pull) - **混淆代理保护** — 追踪出站请求 ID,拒绝未请求的响应 - **会话绑定** — 根据首次 `tools/list` 的工具清单验证 `tools/call` (按需启用) - **环境限制** — 子进程模式剥离子进程环境中的敏感信息 可通过 `mcp:` 配置节或仪表盘 API 配置工具允许/阻止列表。基于 HTTP 的 MCP 会被主代理自动检测并扫描 — 无需配置。`lumen-argus mcp` 覆盖所有其他传输:用于本地 MCP server 的 stdio 子进程,用于远程 server 的 HTTP bridge,用于集中式企业扫描的 HTTP reverse proxy,以及用于基于 WS 的 MCP server 的 WebSocket bridge。 ## 规则引擎 检测规则存储在 SQLite 中 — 通过 CLI 或仪表盘 进行管理。首次运行时自动导入社区规则。 ``` lumen-argus rules import # import 53 community rules lumen-argus rules import --pro # import 1,800+ Pro rules (license required) lumen-argus rules list # show loaded rules lumen-argus rules export > backup.json # backup for migration ``` 规则支持三种来源:**import** (CLI, 模式只读)、**dashboard** (完整 CRUD, Pro)、**yaml** (配置管理, Kubernetes 风格协调)。每条规则具有层级 (`community`/`pro`/`custom`)、动作覆盖、启用/禁用开关和验证器。 ## 会话追踪 每个代理请求都会自动丰富会话上下文 — 无需配置。安全团队可以根据以下内容过滤发现: | 字段 | 来源 | 解答 | |---|---|---| | `account_id` | 提供商元数据 | WHO 泄露? | | `session_id` | 提供商元数据或派生指纹 | WHICH 对话? | | `device_id` | Claude Code 元数据 | WHICH 机器? | | `working_directory` | System prompt | WHICH 项目? | | `git_branch` | System prompt | WHICH 分支? | | `client_name` | 客户端注册表 | WHICH 工具? (标准化 ID, 例如 "cursor") | | `client_version` | User-Agent header | WHICH 版本? (例如 "0.45.1") | 27 种 AI CLI 代理通过客户端注册表自动检测 (`lumen-argus clients` 列表)。仪表盘发现项可按客户端、会话和账户过滤。 ## 跨请求去重 LLM API 请求包含完整的对话历史 — 每条先前的消息都会被重发。如果没有去重,同一个敏感信息会在每次请求时生成重复的发现。一个包含 5 个敏感信息的 50 条消息对话将产生约 250 条重复行;有了去重,它只产生 5 条。 | 层级 | 作用 | 影响 | |---|---|---| | **内容指纹** | 跳过已扫描的字段 (每个会话的 SHA-256 哈希集合) | 减少 80-95% 的扫描 CPU | | **发现 TTL 缓存** | 在 30 分钟窗口内抑制重复的数据库写入 | 约 0 次 重复 INSERT | | **存储唯一约束** | 对 `(content_hash, session_id)` 执行 `INSERT OR IGNORE` | 深度防御 | 无需配置 — 当会话追踪处于活动状态时自动工作。可通过 `dedup:` 配置节调整。 每个发现项追踪 `seen_count` — 包含该敏感信息的请求数量。仪表盘在多次看到的发现项上显示 `×N` 徽章。 **值哈希:** 每个匹配敏感信息的 HMAC-SHA-256 哈希作为 `value_hash` 存储在发现数据库中。支持跨会话追踪 ("此精确 key 出现在 5 个会话中") 而无需持久化原始敏感信息。默认启用,可通过 `analytics.hash_secrets: false` 禁用。 ## 性能 对于典型负载,扫描开销保持在 50ms 以下。连接池消除了冗余的 TLS 握手。 | 负载大小 | 中位扫描时间 | P95 | |---|---|---| | 1 KB | 0.2ms | 0.2ms | | 10 KB | 2.6ms | 2.7ms | | 100 KB | 25.3ms | 26.3ms | | 500 KB | 51.5ms | 53.7ms | | 1 MB | 52.3ms | 54.0ms | ## 仪表盘 内置 Web 仪表盘位于 `http://localhost:8081`: **社区页面:** Dashboard (快速统计卡片、严重性细分、带 7d/30d/90d 切换的趋势图、热门检测器、热门提供商、活动流、带严重性细分的近期会话、Pipeline 健康 status)、Findings (分页表格,带 8 个过滤器:严重性、检测器、动作、类型、提供商、客户端、时间范围、会话;CSV/JSON 导出)、Rules (分页规则列表,带搜索/过滤、统计标签、标签芯片、带启用开关的规则卡片、动作选择、添加/编辑/克隆/删除;从发现项深度链接的 URL 哈希;链接到规则分析的重叠徽章)、Rule Analysis (Crossfire 驱动的重叠检测 — 重复/子集/重叠卡片,带 Disable/Review/Dismiss 操作,带日志流的实时进度;`pip install lumen-argus[rules-analysis]`)、Allowlists (敏感信息/PII/路径白名单 — 合并的 YAML 配置 + API 条目,内联添加/删除,针对近期发现项的模式测试面板)、Audit (带搜索的日志查看器)、Pipeline (阶段配置 — 切换阶段、检测器、编码设置、默认动作)、Settings (代理配置、许可证激活)、Notifications (渠道管理)。 **Pro 页面:** MCP, Performance — 使用 Pro 许可证解锁。Pro 扩展了 Rules 页面,增加了 "Import Pro Rules" 按钮和 `redact` 动作。Pro 还在 Dashboard 中增加了 6 个分析图表:动作趋势 (堆叠面积图)、活动热力图 (小时 × 工作日)、热门账户、热门项目、检测覆盖率仪表和通知健康状况。 ### Dashboard API | 端点 | 描述 | |---|---| | `GET /api/v1/status` | 健康状态、运行时间、版本 | | `GET /api/v1/findings` | 分页发现项 (按严重性、检测器、动作、类型、提供商、客户端、天数、会话、账户过滤) | | `GET /api/v1/sessions` | 带有发现计数和元数据的会话 | | `GET /api/v1/sessions/dashboard` | 活跃会话 (最近 24h) 及其严重性细分 | | `GET /api/v1/stats` | 聚合统计,包括 `today_count`, `last_finding_time`, `by_client` (`?days=N` 用于趋势) | | `GET /api/v1/stats/advanced` | Pro 分析 (动作趋势、热力图、热门账户/项目) | | `GET /api/v1/config` | 当前配置 | | `PUT /api/v1/config` | 保存设置 (社区: 代理; Pro: 全部) | | `GET /api/v1/pipeline` | 带有统计信息的 Pipeline 阶段配置 | | `PUT /api/v1/pipeline` | 保存阶段开关、检测器动作、编码设置 | | `GET /api/v1/rules` | 分页规则 (按层级、检测器、严重性、启用状态、标签、搜索过滤) | | `POST /api/v1/rules` | 创建自定义规则 (动作: log/alert/block; Pro 增加 redact) | | `GET /api/v1/rules/stats` | 按层级、检测器、启用状态、标签统计规则 | | `GET /api/v1/rules/:name` | 单条规则详情 | | `PUT /api/v1/rules/:name` | 更新规则 (动作、启用状态、严重性等) | | `DELETE /api/v1/rules/:name` | 删除仪表盘创建的规则 | | `POST /api/v1/rules/:name/clone` | 将规则克隆到 custom 层级 | | `POST /api/v1/rules/bulk-update` | 批量更新规则 (每次请求最多 500 条) | | `GET /api/v1/rules/analysis` | 缓存的重叠分析结果 (需要 crossfire) | | `POST /api/v1/rules/analysis` | 触发新的重叠分析 (后台, 202) | | `GET /api/v1/rules/analysis/status` | 带有增量日志流的分析进度 | | `POST /api/v1/rules/analysis/dismiss` | 忽略一个重叠发现对 | | `GET /api/v1/allowlists` | 合并的白名单条目 (YAML 配置 + API 管理) | | `POST /api/v1/allowlists` | 添加白名单条目 (类型: secrets/pii/paths) | | `POST /api/v1/allowlists/test` | 针对值和近期发现项测试模式 | | `DELETE /api/v1/allowlists/:id` | 删除 API 管理的条目 | | `GET /api/v1/audit` | 审计日志条目 | | `GET /api/v1/live` | SSE 实时流 | | `GET /api/v1/notifications/channels` | 列出通知渠道 | | `POST /api/v1/notifications/channels` | 创建渠道 (强制限制) | [完整 API 参考](https://lumen-argus.github.io/lumen-argus/docs/reference/api-endpoints/) ## 通知渠道 通过 YAML (IaC 管理) 或仪表盘配置告警。社区版包含即发即弃的 Webhook。Pro 版增加 6 种渠道类型: | 渠道 | 配置 | |---------|--------| | **Webhook** | 任何 URL — 涵盖 Slack webhook、Discord、自定义端点 | | **Email** | 带 TLS 的 SMTP,身份验证 | | **Slack** | 原生集成 (Pro) | | **Teams** | Adaptive cards (Pro) | | **PagerDuty** | 事件路由 (Pro) | | **OpsGenie** | 团队路由 (Pro) | | **Jira** | 自动创建工单 (Pro) | **社区版:** 1 个 webhook 渠道,基本派发,可配置事件触发器。**Pro 版:** 无限渠道,7 种类型,带熔断器的重试,派发健康监控。 ``` notifications: - name: production-alerts type: webhook url: "https://hooks.slack.com/services/T00/B00/xxx" events: [block, alert] min_severity: high ``` YAML 渠道在启动/SIGHUP 时协调至 SQLite (Kubernetes 风格声明式)。 ## Pre-Commit 扫描器 在敏感信息进入 AI 对话历史之前将其捕获: ``` $ lumen-argus scan .env config/database.yml lumen-argus: .env — 3 finding(s) [CRITICAL] secrets: aws_secret_key [CRITICAL] secrets: database_url [HIGH] secrets: generic_password $ echo $? 1 ``` ``` # Git pre-commit hook echo 'lumen-argus scan --diff' > .git/hooks/pre-commit chmod +x .git/hooks/pre-commit # 针对分支扫描差异 (CI/PR 检查) lumen-argus scan --diff main # Baseline 管理 lumen-argus scan --create-baseline .lumen-argus-baseline.json src/ lumen-argus scan --baseline .lumen-argus-baseline.json src/ ``` | 退出码 | 含义 | CI 动作 | |-----------|---------|-----------| | 0 | 无发现 | 通过 | | 1 | `block` 发现 | 构建失败 | | 2 | `alert`/`redact` 发现 | 警告 | | 3 | `log` 发现 | 信息 | ## 配置 首次运行时在 `~/.lumen-argus/config.yaml` 创建默认配置: ``` proxy: port: 8080 bind: "127.0.0.1" timeout: 120 max_connections: 10 default_action: alert # log | alert | block detectors: secrets: enabled: true action: alert entropy_threshold: 4.5 pii: enabled: true action: alert proprietary: enabled: true action: alert allowlists: secrets: - "AKIAIOSFODNN7EXAMPLE" pii: - "*@example.com" paths: - "test/**" pipeline: stages: outbound_dlp: enabled: true encoding_decode: enabled: true base64: true hex: true url: true unicode: true max_depth: 2 custom_rules: - name: internal_api_token pattern: "itk_[a-zA-Z0-9]{32}" severity: critical action: block ``` **Pipeline 页面:** 从仪表盘配置扫描阶段 — 开关阶段、启用/禁用单个检测器、设置每个检测器的动作、配置编码解码设置。仅更改的设置会保存到数据库并通过热重载应用。为 Pro 扩展派发 `pipeline-rendered` 事件。 **热重载:** `kill -HUP $(pgrep -f lumen_argus)` — 更新白名单、动作、超时、端口/绑定和最大主体大小。零停机。 **项目覆盖:** 将 `.lumen-argus.yaml` 提交到您的 repo 根目录。项目配置只能比全局配置**更严格**。 ## 动作 | 动作 | 行为 | |---|---| | **log** | 记录在审计日志中,允许请求 | | **alert** | 日志 + 打印到终端,允许请求 | | **block** | 以 HTTP 400 拒绝 (`invalid_request_error`)。如果发现项仅存在于对话历史中,则剥离这些消息并转发清理后的请求 (记录为 `strip`)。 | | **redact** | 替换请求主体中的敏感值 (Pro) | 最高严重性的动作优先:`block > redact > alert > log`。 ## 监控 | 端点 | 格式 | 描述 | |----------|--------|-------------| | `/health` | JSON | 代理状态、运行时间、请求计数 (Pro 扩展了许可证/分析) | | `/metrics` | Prometheus | 按动作请求数、按类型发现数、扫描持续时间 (Pro 扩展了通知统计) | | `--format json` | JSONL | 用于日志聚合的结构化输出 | Pro 增加了跨越完整请求生命周期的 OpenTelemetry 追踪 — detector、redaction 和 notification span 嵌套在根 `proxy.request` span 下。 ## 软件包 来自单一 monorepo 的三个 PyPI 软件包: | 软件包 | 内容 | 大小 | 依赖 | |---------|------|------|-------------| | `lumen-argus-core` | 客户端注册表、检测引擎、设置向导 | 27KB | 零 (仅 stdlib) | | `lumen-argus-agent` | 轻量级工作站代理 CLI | 5KB | `lumen-argus-core` | | `lumen-argus-proxy` | 带仪表盘的完整代理服务器 | 245KB | `lumen-argus-core` + aiohttp + pyyaml | ``` # 个人开发者 — 完整 proxy pip install lumen-argus-proxy # 企业工作站 — 仅轻量级 agent pip install lumen-argus-agent lumen-argus-agent detect --audit --proxy-url https://argus.corp.io lumen-argus-agent setup --proxy-url https://argus.corp.io --non-interactive ``` ### 企业部署 K8s 上的中心代理,开发者机器上的轻量级代理: ``` # 开发者机器 (通过 Ansible/MDM) pip install lumen-argus-agent lumen-argus-agent enroll --server https://argus.corp.io --non-interactive # → 自动配置所有 AI 工具,启用保护,安装 watch daemon # 或使用桌面 tray app (macOS) — 捆绑两个 sidecar # 本地模式: 完整 proxy | 专用模式: 仅 agent (8MB vs 12MB 二进制文件) ``` Agent 命令:`detect`、`setup`、`watch`、`protection`、`clients`、`enroll`、`heartbeat`。 ## Docker ``` docker compose up -d # start ANTHROPIC_BASE_URL=http://localhost:8080 claude # connect open http://localhost:8081 # dashboard ``` 数据在容器重建期间保留在命名卷中。通过卷挂载自定义配置。 ## 扩展 通过 Python 入口点的插件系统: ``` [project.entry-points."lumen_argus.extensions"] my_plugin = "my_package:register" ``` ``` def register(registry): from my_package.detectors import MyDetector registry.add_detector(MyDetector()) ``` ## 安全 - 默认绑定到 `127.0.0.1` (仅限 Docker 使用 `--host 0.0.0.0`) - 本地 localhost 上为纯 HTTP,上游为 HTTPS — 无 TLS 拦截 - 所有敏感文件以 `0600` 权限创建 - 匹配值仅保留在内存中 — 绝不写入磁盘、日志或数据库 - 值哈希使用带有自动生成密钥的 HMAC-SHA-256 (`~/.lumen-argus/hmac.key`, 0600) — 没有密钥的数据库泄露毫无用处 - 连接池按主机划分范围 — 提供商之间无 auth header 泄露 - 仪表盘:会话认证 (HttpOnly, SameSite=Strict)、CSRF 双重提交、CRLF 安全重定向 - 插件 HTML 在客户端净化;插件 JS 受信任 (仅入口点) 请参阅 [SECURITY.md](SECURITY.md) 了解漏洞报告。 ## Pro 版 升级到 Pro 版以获取高级功能: - **脱敏** — 替换请求主体中的敏感信息,而不是拦截 - **1,800+ 种检测模式** — AI 生成、筛选并验证 - **基于 NLP 的 PII 检测** — 超越正则表达式 - **高级通知** — Slack, Teams, PagerDuty, Email, OpsGenie, Jira; 熔断器、重试、去重、派发历史 - **无限渠道** — 社区版仅允许 1 个 webhook 渠道 - **合规报告** — 审计导出、分析 - **OpenTelemetry 追踪** — 完整的请求生命周期 span,带有提供商、发现项、动作属性 ``` # 激活 Pro — 同一软件包,只需添加 license key export LUMEN_ARGUS_LICENSE_KEY=eyJ... lumen-argus serve ``` ## 许可证 MIT — [Artem Senenko](https://github.com/lumen-argus)
标签:AI安全, API安全, Chat Copilot, Copilot Security, DeepSeek, DLP, IP 地址批量处理, JSON输出, LLM应用, Outbound Filtering, PII检测, Prompt Injection Defense, Python, Secrets Management, StruQ, TCP/UDP协议, 中间人代理, 代理网关, 代码安全, 企业安全, 大模型安全, 对抗攻击, 恶意代码分类, 敏感信息检测, 数据合规, 无后门, 漏洞枚举, 熵值分析, 网络安全, 网络资产管理, 自定义请求头, 计算机取证, 请求拦截, 隐私保护