dungnotnull/infisical-enhanced-secrets-intelligence-agent

GitHub: dungnotnull/infisical-enhanced-secrets-intelligence-agent

基于 Infisical 扩展的 AI 密钥情报平台,结合 ML 异常检测与 LLM 报告生成来保障凭证安全并简化合规审计。

Stars: 2 | Forks: 0

# Infisical-Enhanced:机密情报 Agent ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) ![Python](https://img.shields.io/badge/python-3.11-blue.svg) ![Docker](https://img.shields.io/badge/docker-ready-brightgreen.svg) ## 目录 - [概述](#overview) - [核心功能](#key-features) - [架构](#architecture) - [快速开始](#quick-start) - [前置条件](#prerequisites) - [Docker Compose (推荐)](#docker-compose-recommended) - [本地安装](#local-installation) - [使用说明](#usage) - [CLI 命令](#cli-commands) - [REST API](#rest-api) - [配置](#configuration) - [Prompt 模板](#prompt-templates) - [监控与告警](#monitoring--alerts) - [知识库更新](#knowledge-base-updates) - [贡献指南](#contributing) - [许可证](#license) - [鸣谢](#acknowledgements) ## 概述 Infisical-Enhanced(本项目)是 Infisical v0.82.7 的一个分支,增加了一个生产级的 AI 情报层。该 Agent 与 Infisical 并行运行,并持续执行以下操作: * 结合 ML 异常检测(BGE-large embeddings + RoBERTa-MNLI zero-shot 分类器)对访问事件进行评分。 * 通过 LLM(Claude、OpenAI、Ollama)生成自然语言的审计叙述,并支持流式传输。 * 使用正则表达式、信息熵以及 CodeT5+ 验证,扫描 git diff、目录和文件中的硬编码机密。 * 将配置与 SOC2、ISO27001 和 NIST 800-53 控制措施进行映射,生成包含修复指导的差距报告。 * 通过爬取 ArXiv、NVD、NIST 和 Infisical 发布版本,每周更新知识库(SECOND-KNOWLEDGE-BRAIN.md)。 * 暴露 REST API,供其他 Agent 或监控系统查询最新的异常评分。 所有组件均为松耦合、可独立测试,并旨在实现零漏报的安全保障。 ## 核心功能 - ML 异常检测 – 对 Infisical 审计日志进行实时评分,支持自定义阈值。 - LLM 驱动的报告 – 提供审计摘要、合规差距分析和机密扫描解释;支持长报告的流式传输。 - 机密扫描 – 分层检测(正则表达式 + 信息熵 + ML 验证),在标准开源仓库中误报率低于 5%。 - 合规映射 – 自动评估 SOC2 CC6/CC7/CC9、ISO27001 A.9/A.12/A.18、NIST 800-53 AC/AU/SI 系列。 - 持续学习 – 每周研究型爬虫会更新内部知识库,进而丰富合规控制措施的描述。 - REST API – 提供轻量级 endpoint(/api/v1/anomalies/latest)供外部调用。 - 可观测性 – 将结构化 JSON 日志写入 ./logs/agent.log,支持 webhook 告警(Slack/通用 HTTP),并进行 LLM 成本/使用量追踪。 - Docker 开箱即用 – 单条命令堆栈(docker compose up)即可拉起 Agent、Infisical、PostgreSQL 和 Redis。 - 可扩展 – 通过 InfisicalOrchestrator 提供插件架构;便于添加新模块或替换模型。 ## 架构 ``` User Trigger (CLI / Cron / Webhook / Git Hook) | v InfisicalOrchestrator <-- central decision loop | +------+-------+ | | v v AnomalyDetector AuditSummarizer <-- LLM generates reports | | v v SecretScanner ComplianceMapper <-- framework-specific gap analysis | | v v MemoryManager (SQLite + FAISS) <-- persists events, scans, reports | v HFModelManager (lazy loads BGE, RoBERTa, CodeT5+, BERT-NER, Cross-Encoder) | v LLMClient (Claude -> OpenAI -> Ollama fallback, prompt caching, retries, streaming) ``` 所有组件间的通信均通过定义良好的 Python 接口进行;除共享内存管理器外,不存在任何全局状态。 ## 快速开始 ### 前置条件 - Docker Engine >= 24.0 和 Docker Compose 插件(或独立的 docker-compose)。 - (可选)LLM 提供商的 API 密钥:ANTHROPIC_API_KEY、OPENAI_API_KEY。 - (可选)用于离线模式的本地 Ollama 实例。 ### Docker Compose (推荐) ``` # 克隆 repository git clone https://github.com/dungnotnull/infisical-enhanced-secrets-intelligence-agent.git cd infisical-enhanced-secrets-intelligence-agent # 复制 example environment 并根据需要进行调整 cp config/.env.example .env # 编辑 .env 以设置你的 API keys、webhook URLs 等 vim .env # 构建并启动 stack docker compose up -d --build # 验证服务是否健康 docker compose ps docker compose logs -f infisical-agent ``` infisical-agent 服务默认运行 serve 命令,并在 http://localhost:8780 上暴露 FastAPI API。 ### 本地安装 ``` # 创建 virtual environment python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装 dependencies pip install -r requirements.txt # 准备 environment cp config/.env.example .env vim .env # set required API keys # 创建 runtime directories mkdir -p data models logs reports # 运行一次性命令(示例:对过去 24 小时进行 anomaly detection) python -m agent.main anomaly --hours 24 # 启动 API server python -m agent.main serve --host 0.0.0.0 --port 8780 ``` ## 使用说明 ### CLI 命令 入口为 python -m agent.main(如果您安装了该包,则为 infisical-enhanced)。 | 命令 | 描述 | |---------|-------------| | scan | 检测 git diff、目录或文件中的硬编码机密。使用 --mode(git-diff、directory、ile)和 --path。 | | nomaly | 对 Infisical 访问日志运行 ML 异常检测。选项:--hours、--threshold、--workspace、--output。 | | audit | 生成 LLM 驱动的审计摘要。选项:--days、--format(markdown/json)、--workspace、--output。 | | compliance | 根据 SOC2/ISO27001/NIST 评估 Infisical 配置。选项:--framework(逗号分隔的列表)、--output、--workspace。 | | serve | 启动 FastAPI REST API 服务器。选项:--host、--port。 | | update_knowledge | 手动触发对 ArXiv、NVD、NIST 和 Infisical 发布的爬取,以更新 SECOND-KNOWLEDGE-BRAIN.md。 | 所有命令均接受 --config 以指向自定义的 gent_config.yaml,以及使用 --verbose 输出调试日志。 ### REST API 当 Agent 以服务器模式(serve)运行时,可使用以下 endpoint: * GET /health → {"status":"ok","version":"1.0.0"} * GET /api/v1/anomalies/latest → 包含最新异常检测结果的 JSON(默认基于过去 1 小时的回溯记录)。字段: { "total_events": 1243, "flagged_events": 5, "anomalies": [ { "actor": {"email":"alice@example.com"}, "metadata": {"secretPath":"prod/db-password"}, "anomaly_score":0.92, "severity":"HIGH", "createdAt":"2026-06-10T10:30:00Z" } ], "generated_at":"2026-06-10T11:00:00Z" } 该 API 旨在供其他 Agent、监控系统或内部仪表板调用。系统未内置身份验证;请根据需要将其置于反向代理、API 网关或网络策略的保护之后。 ## 配置 配置位于 config/agent_config.yaml 中,可通过环境变量进行覆盖(参见 config/.env.example)。主要部分: - **llm** – 提供商顺序、模型名称、最大重试次数、重试延迟、每日成本限额。 - **anomaly** – 阈值、评分权重、基线窗口、严重级别。 - **scanner** – 信息熵阈值、文件扩展名、需跳过的目录。 - **compliance** – 默认框架、审计保留期、token 过期阈值。 - **hf_models** – HuggingFace 模型注册表;可通过 model_overrides 进行覆盖。 - **knowledge_updater** – ArXiv 分类、时间表、最大结果数。 - **infisical** – API URL、超时时间、重试次数。 - **output** – 报告目录、webhook URL、Slack 频道。 ### .env 示例 ``` ANTHROPIC_API_KEY=your_anthropic_key_here OPENAI_API_KEY=your_openai_key_here OLLAMA_BASE_URL=http://host.docker.internal:11434 INFISICAL_SERVICE_TOKEN=your_infisical_service_token INFISICAL_WORKSPACE_ID=your_workspace_id ALERT_WEBHOOK_URL=https://hooks.slack.com/services/XXX/YYY/ZZZ SLACK_CHANNEL=#security-alerts LOG_LEVEL=INFO ``` ## Prompt 模板 LLM 的 Prompt 模板存储在 config/prompts.yaml 中。该文件使用 YAML 锚点进行复用;AuditSummarizer 会在运行时加载它们。如需自定义,请编辑 YAML 并重启 Agent。 ## 监控与告警 - **日志记录:** 结构化 JSON 日志将写入 ./logs/agent.log。每个日志条目包含时间戳、日志级别、logger 名称、消息以及上下文字段。 - **Webhook 告警:** 当异常检测运行标记了一个或多个事件时,编排器(orchestrator)可选择将 payload 发送到 output.webhook_url(或环境变量 ALERT_WEBHOOK_URL)中配置的 URL。Payload 包含总事件数、被标记的事件数以及异常样本。 - **LLM 使用量:** LLMClient.stats 属性返回调用次数和预估成本(美元)。可以对其进行抓取或记录以便于预算管理。 ## 知识库更新 ools/knowledge_updater.py 脚本通过 APScheduler 实现每周定时的爬取(当地时间周日 02:00)。它会抓取: - ArXiv 中 cs.CR 和 cs.DC 分类下、符合安全相关查询的最新论文。 - 与凭据暴露相关的高严重性 NVD CVE(CVSS >= 7.0,特定 CWE)。 - 最新的 Infisical GitHub 发布版本。 - NIST CSSC 出版物(可选)。 新条目会通过 URL 的 SHA-256 哈希值进行去重,并附加到 SECOND-KNOWLEDGE-BRAIN.md 中带有日期的标题下。调度程序在容器内运行;如需手动触发: ``` docker compose exec infisical-agent python -m agent.main update_knowledge ``` ## 许可证 本项目基于 MIT 许可证授权 – 详情请参阅 [LICENSE](LICENSE) 文件。 ## 鸣谢 - Infisical – 我们所增强的非常出色的开源机密管理器。 - HuggingFace – 在宽松许可下提供最先进的模型(BGE、RoBERTa、CodeT5+、BERT-NER)。 - Anthropic、OpenAI、Ollama – 为智能报告提供支持的 LLM 提供商。 - 开源社区 – 感谢无数的库(FastAPI、Transformers、Sentence-Transformers、Click、Pyyaml 等),正是它们让本项目成为可能。 *由 Infisical-Enhanced 团队充满 ❤️ 地构建。
标签:DevSecOps, StruQ, 上游代理, 人工智能, 合规报告, 异常检测, 搜索引擎查询, 机密检测, 测试用例, 用户模式Hook绕过, 请求拦截, 逆向工具