secagentx 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. secagentx-3.0.0/MANIFEST.in +9 -0
  2. secagentx-3.0.0/PKG-INFO +325 -0
  3. secagentx-3.0.0/README.md +280 -0
  4. secagentx-3.0.0/backend/__init__.py +1 -0
  5. secagentx-3.0.0/backend/__main__.py +3 -0
  6. secagentx-3.0.0/backend/agents/__init__.py +1 -0
  7. secagentx-3.0.0/backend/agents/alert_filter/__init__.py +1 -0
  8. secagentx-3.0.0/backend/agents/alert_filter/alert_filter_agent.py +88 -0
  9. secagentx-3.0.0/backend/agents/analyst.py +331 -0
  10. secagentx-3.0.0/backend/agents/base.py +553 -0
  11. secagentx-3.0.0/backend/agents/classifier_agent.py +134 -0
  12. secagentx-3.0.0/backend/agents/cot_engine.py +578 -0
  13. secagentx-3.0.0/backend/agents/intel.py +46 -0
  14. secagentx-3.0.0/backend/agents/knowledge/__init__.py +2 -0
  15. secagentx-3.0.0/backend/agents/knowledge/agentic_rag.py +928 -0
  16. secagentx-3.0.0/backend/agents/knowledge/knowledge_agent.py +47 -0
  17. secagentx-3.0.0/backend/agents/registry.py +148 -0
  18. secagentx-3.0.0/backend/agents/responder.py +51 -0
  19. secagentx-3.0.0/backend/agents/summary_agent.py +219 -0
  20. secagentx-3.0.0/backend/auto_ingestor.py +948 -0
  21. secagentx-3.0.0/backend/auto_patrol.py +452 -0
  22. secagentx-3.0.0/backend/cli_app.py +523 -0
  23. secagentx-3.0.0/backend/config/__init__.py +20 -0
  24. secagentx-3.0.0/backend/config/provider_profiles.py +416 -0
  25. secagentx-3.0.0/backend/config/runtime_settings.py +84 -0
  26. secagentx-3.0.0/backend/decision_fusion/__init__.py +32 -0
  27. secagentx-3.0.0/backend/decision_fusion/base.py +127 -0
  28. secagentx-3.0.0/backend/decision_fusion/dempster_shafer.py +419 -0
  29. secagentx-3.0.0/backend/decision_fusion/weighted_average.py +141 -0
  30. secagentx-3.0.0/backend/email_ingestor.py +588 -0
  31. secagentx-3.0.0/backend/errors.py +243 -0
  32. secagentx-3.0.0/backend/escalation.py +453 -0
  33. secagentx-3.0.0/backend/evaluation/__init__.py +7 -0
  34. secagentx-3.0.0/backend/evaluation/evaluator.py +197 -0
  35. secagentx-3.0.0/backend/evaluation/metrics.py +210 -0
  36. secagentx-3.0.0/backend/federation/__init__.py +22 -0
  37. secagentx-3.0.0/backend/federation/core.py +743 -0
  38. secagentx-3.0.0/backend/interface/__init__.py +1 -0
  39. secagentx-3.0.0/backend/interface/api_server.py +1830 -0
  40. secagentx-3.0.0/backend/interface/cli.py +671 -0
  41. secagentx-3.0.0/backend/knowledge/__init__.py +11 -0
  42. secagentx-3.0.0/backend/knowledge/compliance.py +101 -0
  43. secagentx-3.0.0/backend/knowledge/cve_db.py +100 -0
  44. secagentx-3.0.0/backend/knowledge/mitre_attack.py +457 -0
  45. secagentx-3.0.0/backend/knowledge/remediation.py +84 -0
  46. secagentx-3.0.0/backend/knowledge/threat_intel_kb.py +246 -0
  47. secagentx-3.0.0/backend/llm/__init__.py +1 -0
  48. secagentx-3.0.0/backend/llm/anthropic_compatible.py +191 -0
  49. secagentx-3.0.0/backend/llm/base.py +81 -0
  50. secagentx-3.0.0/backend/llm/deepseek.py +221 -0
  51. secagentx-3.0.0/backend/llm/fallback.py +268 -0
  52. secagentx-3.0.0/backend/llm/mock.py +204 -0
  53. secagentx-3.0.0/backend/llm/openai_compatible.py +51 -0
  54. secagentx-3.0.0/backend/llm/provider.py +217 -0
  55. secagentx-3.0.0/backend/llm/qwen.py +218 -0
  56. secagentx-3.0.0/backend/main.py +421 -0
  57. secagentx-3.0.0/backend/memory/__init__.py +1 -0
  58. secagentx-3.0.0/backend/memory/episodic_memory.py +132 -0
  59. secagentx-3.0.0/backend/memory/manager.py +204 -0
  60. secagentx-3.0.0/backend/memory/semantic_memory.py +156 -0
  61. secagentx-3.0.0/backend/memory/session_memory.py +102 -0
  62. secagentx-3.0.0/backend/ml_model/__init__.py +23 -0
  63. secagentx-3.0.0/backend/ml_model/pipeline.py +191 -0
  64. secagentx-3.0.0/backend/ml_model/trainer.py +627 -0
  65. secagentx-3.0.0/backend/models/__init__.py +1 -0
  66. secagentx-3.0.0/backend/models/event.py +62 -0
  67. secagentx-3.0.0/backend/models/message.py +58 -0
  68. secagentx-3.0.0/backend/models/output.py +1216 -0
  69. secagentx-3.0.0/backend/monitoring/metrics.py +184 -0
  70. secagentx-3.0.0/backend/orchestrator/__init__.py +17 -0
  71. secagentx-3.0.0/backend/orchestrator/agent_router.py +145 -0
  72. secagentx-3.0.0/backend/orchestrator/core.py +159 -0
  73. secagentx-3.0.0/backend/orchestrator/dynamic_weights.py +287 -0
  74. secagentx-3.0.0/backend/orchestrator/react_loop.py +1895 -0
  75. secagentx-3.0.0/backend/orchestrator/risk_model.py +494 -0
  76. secagentx-3.0.0/backend/orchestrator/risk_scorer.py +356 -0
  77. secagentx-3.0.0/backend/reasoner/__init__.py +19 -0
  78. secagentx-3.0.0/backend/reasoner/reasoner.py +316 -0
  79. secagentx-3.0.0/backend/runtime_assets.py +45 -0
  80. secagentx-3.0.0/backend/security/__init__.py +24 -0
  81. secagentx-3.0.0/backend/security/adversarial/__init__.py +13 -0
  82. secagentx-3.0.0/backend/security/adversarial/guard.py +121 -0
  83. secagentx-3.0.0/backend/security/adversarial/redteam.py +121 -0
  84. secagentx-3.0.0/backend/security/adversarial/scanner.py +208 -0
  85. secagentx-3.0.0/backend/security/audit.py +118 -0
  86. secagentx-3.0.0/backend/security/auth.py +283 -0
  87. secagentx-3.0.0/backend/security/circuit_breaker.py +212 -0
  88. secagentx-3.0.0/backend/security/dispatch.py +18 -0
  89. secagentx-3.0.0/backend/security/ratelimit.py +237 -0
  90. secagentx-3.0.0/backend/security/rbac.py +431 -0
  91. secagentx-3.0.0/backend/security/refresh_sessions.py +193 -0
  92. secagentx-3.0.0/backend/security/sanitizer.py +32 -0
  93. secagentx-3.0.0/backend/storage/__init__.py +1 -0
  94. secagentx-3.0.0/backend/storage/chroma_store.py +79 -0
  95. secagentx-3.0.0/backend/storage/database.py +296 -0
  96. secagentx-3.0.0/backend/storage/migrations/env.py +65 -0
  97. secagentx-3.0.0/backend/storage/migrations/versions/0001_initial_schema.py +101 -0
  98. secagentx-3.0.0/backend/storage/migrations/versions/0002_add_agent_logs_experiences.py +53 -0
  99. secagentx-3.0.0/backend/storage/migrations/versions/0003_add_conversation_owner.py +30 -0
  100. secagentx-3.0.0/backend/storage/models.py +194 -0
  101. secagentx-3.0.0/backend/storage/repositories/__init__.py +1 -0
  102. secagentx-3.0.0/backend/storage/repositories/asset_repo.py +86 -0
  103. secagentx-3.0.0/backend/storage/repositories/conversation_repo.py +216 -0
  104. secagentx-3.0.0/backend/storage/repositories/event_repo.py +76 -0
  105. secagentx-3.0.0/backend/storage/repositories/trajectory_repo.py +324 -0
  106. secagentx-3.0.0/backend/storage/retention.py +117 -0
  107. secagentx-3.0.0/backend/tools/__init__.py +16 -0
  108. secagentx-3.0.0/backend/tools/alert_filter.py +208 -0
  109. secagentx-3.0.0/backend/tools/aliyun_firewall.py +237 -0
  110. secagentx-3.0.0/backend/tools/aws_firewall.py +369 -0
  111. secagentx-3.0.0/backend/tools/base.py +445 -0
  112. secagentx-3.0.0/backend/tools/calling.py +207 -0
  113. secagentx-3.0.0/backend/tools/cve_search.py +77 -0
  114. secagentx-3.0.0/backend/tools/execution_engine.py +202 -0
  115. secagentx-3.0.0/backend/tools/firewall.py +387 -0
  116. secagentx-3.0.0/backend/tools/geoip.py +168 -0
  117. secagentx-3.0.0/backend/tools/log_analyzer.py +185 -0
  118. secagentx-3.0.0/backend/tools/ml_detector.py +226 -0
  119. secagentx-3.0.0/backend/tools/registry.py +38 -0
  120. secagentx-3.0.0/backend/tools/tencent_firewall.py +300 -0
  121. secagentx-3.0.0/backend/tools/threat_intel.py +732 -0
  122. secagentx-3.0.0/backend/tools/trust_checker.py +76 -0
  123. secagentx-3.0.0/backend/utils/__init__.py +5 -0
  124. secagentx-3.0.0/backend/utils/config_loader.py +164 -0
  125. secagentx-3.0.0/backend/utils/env.py +75 -0
  126. secagentx-3.0.0/backend/utils/logger.py +150 -0
  127. secagentx-3.0.0/backend/utils/text.py +32 -0
  128. secagentx-3.0.0/config.yaml +195 -0
  129. secagentx-3.0.0/frontend/dist/assets/AgentsView-DFqRplI8.css +1 -0
  130. secagentx-3.0.0/frontend/dist/assets/AgentsView-DJTpfQ87.js +1 -0
  131. secagentx-3.0.0/frontend/dist/assets/AttackChainView-BVfI-SC6.js +1 -0
  132. secagentx-3.0.0/frontend/dist/assets/ChatView-Bg4nIlQ0.css +1 -0
  133. secagentx-3.0.0/frontend/dist/assets/ChatView-CRndtmEC.js +38 -0
  134. secagentx-3.0.0/frontend/dist/assets/DashboardView-BXs4AWv8.js +1 -0
  135. secagentx-3.0.0/frontend/dist/assets/DashboardView-WnHWiqBW.css +1 -0
  136. secagentx-3.0.0/frontend/dist/assets/EventDetailView-DQk6Qp7-.js +1 -0
  137. secagentx-3.0.0/frontend/dist/assets/EventDetailView-Dj-a-zWr.css +1 -0
  138. secagentx-3.0.0/frontend/dist/assets/EventsView-8xh8uKO0.js +1 -0
  139. secagentx-3.0.0/frontend/dist/assets/EventsView-BHfFn66K.css +1 -0
  140. secagentx-3.0.0/frontend/dist/assets/KnowledgeView-C2N3v9bF.css +1 -0
  141. secagentx-3.0.0/frontend/dist/assets/KnowledgeView-D54ODoC9.js +11 -0
  142. secagentx-3.0.0/frontend/dist/assets/LoginView-CjvFmo7C.js +1 -0
  143. secagentx-3.0.0/frontend/dist/assets/LoginView-D14FzcsP.css +1 -0
  144. secagentx-3.0.0/frontend/dist/assets/SettingsView-JOJuoABi.js +1 -0
  145. secagentx-3.0.0/frontend/dist/assets/UsersView-DhMXZhir.js +1 -0
  146. secagentx-3.0.0/frontend/dist/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  147. secagentx-3.0.0/frontend/dist/assets/index-D9Su3fYY.css +1 -0
  148. secagentx-3.0.0/frontend/dist/assets/index-DBEjbyJR.js +4 -0
  149. secagentx-3.0.0/frontend/dist/assets/rolldown-runtime-DK3Fl9T5.js +1 -0
  150. secagentx-3.0.0/frontend/dist/assets/vendor-charts-Dh1nChzO.js +39 -0
  151. secagentx-3.0.0/frontend/dist/assets/vendor-icons-BTNgi7vU.js +1 -0
  152. secagentx-3.0.0/frontend/dist/assets/vendor-ui-Cdd65KTN.js +7367 -0
  153. secagentx-3.0.0/frontend/dist/assets/vendor-vue-CXKcZAmz.js +1 -0
  154. secagentx-3.0.0/frontend/dist/index.html +51 -0
  155. secagentx-3.0.0/frontend/index.html +46 -0
  156. secagentx-3.0.0/frontend/package-lock.json +2983 -0
  157. secagentx-3.0.0/frontend/package.json +37 -0
  158. secagentx-3.0.0/frontend/src/App.vue +231 -0
  159. secagentx-3.0.0/frontend/src/__tests__/chat.spec.js +468 -0
  160. secagentx-3.0.0/frontend/src/__tests__/http.spec.js +42 -0
  161. secagentx-3.0.0/frontend/src/__tests__/router.spec.js +94 -0
  162. secagentx-3.0.0/frontend/src/main.js +12 -0
  163. secagentx-3.0.0/frontend/src/router/index.js +117 -0
  164. secagentx-3.0.0/frontend/src/stores/chat.js +671 -0
  165. secagentx-3.0.0/frontend/src/styles/tokens.css +282 -0
  166. secagentx-3.0.0/frontend/src/utils/http.js +191 -0
  167. secagentx-3.0.0/frontend/src/views/AgentsView.vue +227 -0
  168. secagentx-3.0.0/frontend/src/views/AttackChainView.vue +210 -0
  169. secagentx-3.0.0/frontend/src/views/ChatView.vue +1107 -0
  170. secagentx-3.0.0/frontend/src/views/DashboardView.vue +514 -0
  171. secagentx-3.0.0/frontend/src/views/EventDetailView.vue +387 -0
  172. secagentx-3.0.0/frontend/src/views/EventsView.vue +253 -0
  173. secagentx-3.0.0/frontend/src/views/KnowledgeView.vue +883 -0
  174. secagentx-3.0.0/frontend/src/views/LoginView.vue +314 -0
  175. secagentx-3.0.0/frontend/src/views/SettingsView.vue +226 -0
  176. secagentx-3.0.0/frontend/src/views/UsersView.vue +235 -0
  177. secagentx-3.0.0/frontend/vite.config.js +55 -0
  178. secagentx-3.0.0/knowledge_data/compliance/regulations.json +383 -0
  179. secagentx-3.0.0/knowledge_data/cve/vulnerabilities.json +70720 -0
  180. secagentx-3.0.0/knowledge_data/mitre_attack/techniques.json +14097 -0
  181. secagentx-3.0.0/knowledge_data/remediation/remediation.json +574 -0
  182. secagentx-3.0.0/knowledge_data/threat_intel/actors.json +1602 -0
  183. secagentx-3.0.0/knowledge_data/threat_intel/malware.json +971 -0
  184. secagentx-3.0.0/pyproject.toml +88 -0
  185. secagentx-3.0.0/secagentx.egg-info/PKG-INFO +325 -0
  186. secagentx-3.0.0/secagentx.egg-info/SOURCES.txt +202 -0
  187. secagentx-3.0.0/secagentx.egg-info/dependency_links.txt +1 -0
  188. secagentx-3.0.0/secagentx.egg-info/entry_points.txt +2 -0
  189. secagentx-3.0.0/secagentx.egg-info/requires.txt +39 -0
  190. secagentx-3.0.0/secagentx.egg-info/top_level.txt +1 -0
  191. secagentx-3.0.0/setup.cfg +4 -0
  192. secagentx-3.0.0/setup.py +45 -0
  193. secagentx-3.0.0/tests/test_agents.py +129 -0
  194. secagentx-3.0.0/tests/test_api.py +280 -0
  195. secagentx-3.0.0/tests/test_auth_sessions.py +114 -0
  196. secagentx-3.0.0/tests/test_auto_modules.py +283 -0
  197. secagentx-3.0.0/tests/test_conversation_isolation.py +66 -0
  198. secagentx-3.0.0/tests/test_core_flow.py +128 -0
  199. secagentx-3.0.0/tests/test_dispatch_security.py +67 -0
  200. secagentx-3.0.0/tests/test_email_ingestor.py +376 -0
  201. secagentx-3.0.0/tests/test_federation.py +197 -0
  202. secagentx-3.0.0/tests/test_knowledge.py +180 -0
  203. secagentx-3.0.0/tests/test_rbac.py +130 -0
  204. secagentx-3.0.0/tests/test_security.py +183 -0
@@ -0,0 +1,9 @@
1
+ include config.yaml
2
+ recursive-include knowledge_data *.json
3
+ include frontend/index.html frontend/package.json frontend/package-lock.json frontend/vite.config.js
4
+ recursive-include frontend/src *
5
+ recursive-include frontend/public *
6
+ recursive-include frontend/dist *
7
+ prune frontend/node_modules
8
+ prune frontend/.vite
9
+ prune frontend/coverage
@@ -0,0 +1,325 @@
1
+ Metadata-Version: 2.4
2
+ Name: secagentx
3
+ Version: 3.0.0
4
+ Summary: AI 多智能体协同安全检测系统
5
+ License-Expression: MIT
6
+ Project-URL: Homepage, https://github.com/songruifeng1010/secagent
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: fastapi>=0.110.0
10
+ Requires-Dist: uvicorn[standard]>=0.29.0
11
+ Requires-Dist: websockets>=12.0
12
+ Requires-Dist: python-multipart>=0.0.9
13
+ Requires-Dist: sqlalchemy>=2.0.0
14
+ Requires-Dist: aiosqlite>=0.20.0
15
+ Requires-Dist: asyncpg>=0.29.0
16
+ Requires-Dist: httpx>=0.27.0
17
+ Requires-Dist: python-dotenv>=1.0.0
18
+ Requires-Dist: pyyaml>=6.0
19
+ Requires-Dist: pydantic>=2.0.0
20
+ Requires-Dist: pydantic-settings>=2.0.0
21
+ Requires-Dist: pyjwt>=2.8.0
22
+ Requires-Dist: bcrypt>=4.1.0
23
+ Requires-Dist: rich>=13.7.0
24
+ Requires-Dist: aiofiles>=23.2.0
25
+ Requires-Dist: numpy>=1.26.0
26
+ Requires-Dist: prometheus-client>=0.20.0
27
+ Requires-Dist: alembic>=1.13.0
28
+ Provides-Extra: credentials
29
+ Requires-Dist: keyring>=25.0.0; extra == "credentials"
30
+ Provides-Extra: dev
31
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
32
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
33
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
34
+ Requires-Dist: pytest-timeout>=2.3.0; extra == "dev"
35
+ Requires-Dist: build>=1.2.0; extra == "dev"
36
+ Provides-Extra: ml
37
+ Requires-Dist: chromadb>=0.5.0; extra == "ml"
38
+ Requires-Dist: sentence-transformers>=2.6.0; extra == "ml"
39
+ Requires-Dist: pandas>=2.0.0; extra == "ml"
40
+ Requires-Dist: scikit-learn>=1.3.0; extra == "ml"
41
+ Requires-Dist: xgboost>=2.0.0; extra == "ml"
42
+ Requires-Dist: lightgbm>=4.0.0; extra == "ml"
43
+ Requires-Dist: imbalanced-learn>=0.12.0; extra == "ml"
44
+ Requires-Dist: joblib>=1.3.0; extra == "ml"
45
+
46
+ # SecAgentX · 企业安全智能体 v3.0.0
47
+
48
+ 多智能体协同安全检测系统,支持 OpenAI / Anthropic 兼容协议及主流云端、本地模型,采用 **Agentic-RAG** 实现知识增强检索,并支持默认关闭、按需启用的自动威胁响应。
49
+
50
+ ## 安装 CLI
51
+
52
+ 推荐通过 Python 发行包安装;SecAgentX 的后端、预构建 Web、前端脚手架和知识库会一起进入 wheel,不需要用户再安装 Node 才能启动默认界面。
53
+
54
+ ```bash
55
+ # 正式发布到 PyPI 后
56
+ pipx install secagentx
57
+
58
+ # 直接从仓库安装(仓库需包含已构建的 frontend/dist)
59
+ pipx install "git+https://github.com/songruifeng1010/secagent.git"
60
+
61
+ secagentx onboard
62
+ secagentx
63
+ secagentx dashboard
64
+ ```
65
+
66
+ `npm` 只用于开发或定制 Vue 前端;CLI/后端的权威安装入口是 `pipx`/Python wheel,避免把 Python 服务伪装成 Node 包。
67
+
68
+ ## Windows CMD 源码快速开始
69
+
70
+ ```bat
71
+ cd /d C:\path\to\secagent
72
+ py -3 -m venv .venv
73
+ .venv\Scripts\python.exe -m pip install -r requirements.txt
74
+ .venv\Scripts\python.exe -m pip install -e . --no-deps
75
+
76
+ rem 首次选择厂商、填写 API Key,并进行真实连通验证
77
+ secagentx onboard
78
+
79
+ rem 终端多轮对话;也可直接运行项目内置的 secagentx.cmd
80
+ secagentx
81
+ secagentx ask "分析这条安全告警"
82
+
83
+ rem 启动并自动打开 Web 控制台
84
+ secagentx dashboard
85
+ ```
86
+
87
+ API Key 默认保存到 Windows 用户级 DPAPI 加密凭据库(安装可选 `keyring` 后也可使用系统 Keyring),不会写入项目或明文 JSON。只有 Provider 完成一次真实请求验证后才会成为活动配置。
88
+
89
+ 内置预设包括 DeepSeek、通义千问、OpenAI、Anthropic、Azure OpenAI、Gemini、OpenRouter、xAI、Kimi、Ollama 和 LM Studio;其他厂商可选择“自定义 OpenAI/Anthropic 兼容接口”,填写 API Base 与模型 ID。运行 `secagentx providers` 查看档案,`secagentx providers --use PROFILE_ID` 切换。
90
+
91
+ ---
92
+
93
+ ## 当前可用状态
94
+
95
+ | 维度 | 状态 | 备注 |
96
+ |------|:----:|------|
97
+ | 架构设计 | 可运行 | 多智能体协同 + 熔断器 + 审计日志;生产上线前仍需按环境压测和安全验收 |
98
+ | ML 模型 | 可选 | 需安装 `requirements-ml.txt`;仓库不附带预训练模型,指标不能替代生产数据验证 |
99
+ | 防火墙对接 | 适配器模式 | iptables / nftables / Cloud API 多种后端 |
100
+ | 告警接入 | Webhook / Kafka / Syslog | 三种接入方式均已实现 |
101
+ | 数据库 | PostgreSQL + SQLite | 环境变量切换,生产/开发灵活适配 |
102
+ | 认证安全 | JWT + RBAC + 脱敏 | 企业级安全体系 |
103
+ | 自动化 | 默认关闭 | 可配置自动闭环 / 封禁 / 升级 / 巡检,启用前应验证白名单和阈值 |
104
+ | Docker 部署 | 核心服务 | SecAgentX 应用 + PostgreSQL |
105
+ | 内置知识 | **1,674 NVD/CISA KEV + 365 MITRE + 14 合规 + 23 剧本** | 恶意 IP 缓存为可选下载数据,不是启动前置条件 |
106
+ | 自动化测试 | 后端 + 前端测试套件 | 含单元测试、集成测试、认证隔离和前端测试;以当前验收输出为准 |
107
+
108
+ ---
109
+
110
+ ## 生产部署(推荐 Docker)
111
+
112
+ ```bash
113
+ # 在项目根目录显式设置强凭据;Compose 不提供默认密码。
114
+ export SECAGENTX_PASSWORD='replace-with-a-strong-password'
115
+ export SECAGENTX_JWT_SECRET='replace-with-a-random-secret-at-least-32-chars'
116
+ export POSTGRES_PASSWORD='replace-with-a-strong-random-postgres-password'
117
+ docker compose up -d
118
+ # 访问 http://localhost:8000
119
+ ```
120
+
121
+ ## 开发模式启动
122
+
123
+ ```bash
124
+ # 核心运行时
125
+ pip install -r requirements.txt
126
+ # 开发、测试与 CI
127
+ pip install -r requirements-dev.txt
128
+ # 可选:向量化与机器学习能力
129
+ pip install -r requirements-ml.txt
130
+ # 可选:阿里云、腾讯云、AWS 防火墙适配器
131
+ pip install -r requirements-cloud.txt
132
+
133
+ # 首次启动前配置管理员凭据(示例值请替换)
134
+ export SECAGENTX_PASSWORD='replace-with-a-strong-password'
135
+
136
+ # 启动 API 服务
137
+ python3 -m backend.interface.api_server
138
+
139
+ # 启动前端(新终端)
140
+ cd frontend && npm ci && npm run dev
141
+ ```
142
+
143
+ ### 统一 CLI 与 Web 启动
144
+
145
+ CLI 与 Web 服务使用同一套 Agent、认证隔离和知识库代码,可交互运行,也可输出机器可读 JSON:
146
+
147
+ ```bash
148
+ # 首次配置(会验证 Provider 后再保存)
149
+ secagentx onboard
150
+
151
+ # 交互模式
152
+ secagentx
153
+
154
+ # 一次性查询
155
+ secagentx ask "什么是 SQL 注入?"
156
+
157
+ # 自动化脚本/CI 使用
158
+ secagentx ask "分析 45.33.32.156" --json
159
+
160
+ # 启动 Web;默认只监听 127.0.0.1
161
+ secagentx dashboard
162
+
163
+ # 诊断配置,--live 会发起一次真实模型请求
164
+ secagentx doctor
165
+ secagentx doctor --live
166
+ ```
167
+
168
+ 未配置真实 LLM Key 时可显式设置 `LLM_PROVIDER=mock` 验证启动链路;此模式只用于开发,不代表真实研判能力。Windows PowerShell 使用 `$env:LLM_PROVIDER='mock'`,Linux/macOS 使用 `export LLM_PROVIDER=mock`。
169
+
170
+ ### 搭建自己的前端
171
+
172
+ ```bat
173
+ secagentx ui init C:\work\my-secagentx-ui
174
+ cd /d C:\work\my-secagentx-ui
175
+ npm ci
176
+ npm run dev
177
+
178
+ rem 构建后让 SecAgentX 托管自定义界面
179
+ npm run build
180
+ secagentx dashboard --ui C:\work\my-secagentx-ui\dist
181
+ ```
182
+
183
+ `ui init` 不复制 `node_modules`、`dist` 或覆盖非空目录。监听非回环地址时必须显式添加 `--allow-remote`,并在企业环境配置 TLS 反向代理、防火墙和 `SECAGENTX_CORS_ORIGINS`。
184
+
185
+ ### 验证
186
+
187
+ ```bash
188
+ python -m compileall -q backend tests scripts
189
+ pytest -m "not slow" --timeout=60
190
+ cd frontend && npm test && npm run build
191
+ ```
192
+
193
+ 真实威胁 IP 缓存不是核心启动前置条件。网络可用时运行 `python scripts/update_threat_ips.py` 获取;若所有远程源失败,脚本会返回失败并保留已有缓存,不会写入空库。
194
+
195
+ ## 生产数据原则
196
+
197
+ 事件、资产和处置记录只来自 API/Webhook、日志接入器或数据库中的实际记录。空数据库会在 Web 中显示空状态,不会自动注入演示告警。MITRE ATT&CK 和 NVD/CISA KEV 为带来源的公开知识快照,合规/处置内容为静态参考指南,都不代表企业的实时业务数据。威胁情报未配置外部 API 时会明确标注覆盖不足。
198
+
199
+ ---
200
+
201
+ ## 架构
202
+
203
+ ```
204
+ 用户 (Web/CLI/Webhook)
205
+
206
+ ┌────────────┴────────────┐
207
+ │ TrueReAct 循环调度引擎 │ ← 活动模型 Provider
208
+ └────────────┬────────────┘
209
+
210
+ ┌─────────────────────┼─────────────────────┐
211
+ │ │ │ │
212
+ Analyst Intel Responder Knowledge
213
+ (统一 Provider) (统一 Provider) (统一 Provider) (Provider+RAG)
214
+ │ │ │ │
215
+ └───────────┴─────────────────┴─────────────┘
216
+
217
+ ┌──────────┴──────────┐
218
+ │ Tools (6 个安全工具) │
219
+ │ threat_intel / │ → iptables/Cloud API
220
+ │ firewall / geoip / │
221
+ │ cve_search / │
222
+ │ log_analyzer / │
223
+ │ alert_filter │
224
+ └──────────┬──────────┘
225
+
226
+ ┌─────────────────────┼─────────────────────┐
227
+ │ │ │
228
+ PostgreSQL/SQLite ChromaDB向量库 Docker Compose
229
+ (事件/用户/日志) (可选语义RAG) (应用 + PostgreSQL)
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 核心能力
235
+
236
+ | 能力 | 描述 |
237
+ |------|------|
238
+ | **多智能体协同** | Analyst / Intel / Responder / Knowledge / AlertFilter / Summary / Classifier 7 个 Agent |
239
+ | **多厂商 LLM** | OpenAI / Anthropic 兼容协议,云端和本地模型统一配置,保留旧版 Fallback 兼容 |
240
+ | **Agentic-RAG** | 知识增强检索,MITRE ATT&CK 全覆盖(365 技术 / 15 战术) |
241
+ | **威胁情报** | VirusTotal / AbuseIPDB / OTX 可选多源验证;缺 Key 时使用本地知识和离线适配器 |
242
+ | **ML 威胁检测** | 可选安装;训练与评估代码可用,实际效果需使用部署环境数据重新验证 |
243
+ | **防火墙封禁** | 默认禁用;显式配置 iptables / nftables / Cloud API,Mock 仅测试 |
244
+ | **自动处置** | 自动闭环 / 封禁 / 升级 / 巡检 / 数据保留,默认关闭 |
245
+ | **可解释风险评分** | 行为证据 / 威胁情报 / IP真实性 / 历史信誉 四维加减分,最终分数 + 危级,逐规则可审计 |
246
+ | **告警接入** | Webhook / Kafka / Syslog 三种方式 |
247
+ | **企业安全** | JWT 认证 + RBAC 权限 + 熔断器 + 审计日志 + 限流 |
248
+ | **跨区域联邦** | 多区域事件/IP 同步,mesh 拓扑 |
249
+
250
+ ---
251
+
252
+ ## 内置知识与可选数据
253
+
254
+ | 数据域 | 数据量 | 来源 | 真实性 |
255
+ |--------|:------:|------|:------:|
256
+ | 恶意 IP | 可选下载 | FireHOL / Darklist / Blocklist.de 等公开情报源 | 当前仓库不内置缓存,运行更新脚本获取 |
257
+ | MITRE ATT&CK 技术 | **365 个** | MITRE 官方 CTI | 官方数据 |
258
+ | MITRE ATT&CK 战术 | **15 个** | MITRE 官方 CTI | 官方数据 |
259
+ | NVD/CISA KEV | **1,674 条** (595 CRITICAL / 871 HIGH / 200 MEDIUM / 8 LOW) | NVD CVE API 2.0 | 官方可追溯快照 |
260
+ | 合规法规 | **14 项** | 等保2.0/网络安全法/GDPR/个保法等 | 真实法规 |
261
+ | 应急响应剧本 | **23 个** | 真实攻击场景(SSH爆破/勒索/C2/钓鱼等) | 真实场景 |
262
+ | APT 威胁组织 | **34 个** | 公开威胁情报 | 真实组织 |
263
+ | 恶意软件 | **47 个** | 公开威胁情报 | 真实恶意软件 |
264
+
265
+ ### 数据更新命令
266
+
267
+ ```bash
268
+ # 单独更新威胁 IP
269
+ python3 scripts/update_threat_ips.py
270
+ ```
271
+
272
+ ---
273
+
274
+ ## API 端点一览(51 个 HTTP/WebSocket 路由)
275
+
276
+ | 分类 | 端点 | 说明 |
277
+ |------|------|------|
278
+ | **认证** | `/api/auth/login`, `/api/auth/refresh` | JWT 登录/刷新 |
279
+ | **健康** | `/api/health`, `/api/stats`, `/api/metrics` | 系统状态 |
280
+ | **事件** | `/api/events`, `/api/events/{id}` | 安全事件 CRUD |
281
+ | **MITRE** | `/api/mitre/search`, `/api/mitre/technique/{id}`, `/api/mitre/kill-chain`, `/api/mitre/attack-flow` | ATT&CK 知识库 |
282
+ | **CVE** | `/api/cve/search`, `/api/cve/{id}`, `/api/cve/by-mitre/{tech_id}` | 漏洞库 |
283
+ | **合规** | `/api/compliance/search`, `/api/compliance/{name}` | 法规库 |
284
+ | **剧本** | `/api/remediation/search`, `/api/remediation/{scenario}` | 应急响应 |
285
+ | **Agent** | `/api/agents`, `/api/agents/runtime` | 智能体运行时 |
286
+ | **联邦** | `/api/federation/status`, `/api/federation/events`, `/api/federation/blacklist` | 跨区域同步 |
287
+ | **用户** | `/api/users`, `/api/users/{username}`, `/api/users/me` | 用户管理 |
288
+ | **WebSocket** | `/ws/chat` | 实时对话 |
289
+
290
+ ---
291
+
292
+ ## 项目结构
293
+
294
+ ```
295
+ secagentx/
296
+ ├── backend/
297
+ │ ├── agents/ # 7 个安全 Agent 实现
298
+ │ ├── orchestrator/ # TrueReAct 循环总调度
299
+ │ ├── tools/ # 6 个注册安全工具(含多种防火墙后端)
300
+ │ ├── llm/ # 多厂商 LLM 兼容层(OpenAI / Anthropic / Mock)
301
+ │ ├── ml_model/ # 可选 ML 训练与检测流水线
302
+ │ ├── knowledge/ # MITRE / CVE / 合规 / 剧本 / 威胁情报
303
+ │ ├── storage/ # PostgreSQL/SQLite + Chroma 向量库
304
+ │ ├── security/ # 认证/脱敏/熔断器/审计/限流
305
+ │ ├── federation/ # 跨区域联邦同步
306
+ │ └── interface/ # CLI + FastAPI + WebSocket
307
+ ├── frontend/ # Vue 3 + Naive UI + ECharts (10 视图)
308
+ ├── knowledge_data/ # 知识库数据 (1,674 KEV / 365 MITRE / 14 合规 / 23 剧本)
309
+ ├── Dockerfile # 前端构建 + Python 运行时多阶段镜像
310
+ ├── docker-compose.yml # SecAgentX + PostgreSQL 生产部署
311
+ ├── scripts/ # 运维/数据注入脚本
312
+ ├── tests/ # 后端单元与集成测试
313
+ └── data/ # 运行时 SQLite 数据库与可选缓存
314
+ ```
315
+
316
+ ---
317
+
318
+ ## 版本历史
319
+
320
+ | 版本 | 日期 | 说明 |
321
+ |:----:|:----:|------|
322
+ | v3.0.0 | 2026-08-22 | 统一 CLI/onboarding/dashboard、自定义 UI、多厂商 Provider、系统安全凭据与企业默认边界 |
323
+ | v2.1.0 | 2026-07-23 | ML 训练评估流水线 / 前后端路由联调 / 前端测试 |
324
+ | v2.0.0 | 2026-07-08 | 多 Agent + TrueReAct + Docker Compose |
325
+ | v1.1 | 2026-06-15 | 单 Agent + 基础 API + 前端初版 |
@@ -0,0 +1,280 @@
1
+ # SecAgentX · 企业安全智能体 v3.0.0
2
+
3
+ 多智能体协同安全检测系统,支持 OpenAI / Anthropic 兼容协议及主流云端、本地模型,采用 **Agentic-RAG** 实现知识增强检索,并支持默认关闭、按需启用的自动威胁响应。
4
+
5
+ ## 安装 CLI
6
+
7
+ 推荐通过 Python 发行包安装;SecAgentX 的后端、预构建 Web、前端脚手架和知识库会一起进入 wheel,不需要用户再安装 Node 才能启动默认界面。
8
+
9
+ ```bash
10
+ # 正式发布到 PyPI 后
11
+ pipx install secagentx
12
+
13
+ # 直接从仓库安装(仓库需包含已构建的 frontend/dist)
14
+ pipx install "git+https://github.com/songruifeng1010/secagent.git"
15
+
16
+ secagentx onboard
17
+ secagentx
18
+ secagentx dashboard
19
+ ```
20
+
21
+ `npm` 只用于开发或定制 Vue 前端;CLI/后端的权威安装入口是 `pipx`/Python wheel,避免把 Python 服务伪装成 Node 包。
22
+
23
+ ## Windows CMD 源码快速开始
24
+
25
+ ```bat
26
+ cd /d C:\path\to\secagent
27
+ py -3 -m venv .venv
28
+ .venv\Scripts\python.exe -m pip install -r requirements.txt
29
+ .venv\Scripts\python.exe -m pip install -e . --no-deps
30
+
31
+ rem 首次选择厂商、填写 API Key,并进行真实连通验证
32
+ secagentx onboard
33
+
34
+ rem 终端多轮对话;也可直接运行项目内置的 secagentx.cmd
35
+ secagentx
36
+ secagentx ask "分析这条安全告警"
37
+
38
+ rem 启动并自动打开 Web 控制台
39
+ secagentx dashboard
40
+ ```
41
+
42
+ API Key 默认保存到 Windows 用户级 DPAPI 加密凭据库(安装可选 `keyring` 后也可使用系统 Keyring),不会写入项目或明文 JSON。只有 Provider 完成一次真实请求验证后才会成为活动配置。
43
+
44
+ 内置预设包括 DeepSeek、通义千问、OpenAI、Anthropic、Azure OpenAI、Gemini、OpenRouter、xAI、Kimi、Ollama 和 LM Studio;其他厂商可选择“自定义 OpenAI/Anthropic 兼容接口”,填写 API Base 与模型 ID。运行 `secagentx providers` 查看档案,`secagentx providers --use PROFILE_ID` 切换。
45
+
46
+ ---
47
+
48
+ ## 当前可用状态
49
+
50
+ | 维度 | 状态 | 备注 |
51
+ |------|:----:|------|
52
+ | 架构设计 | 可运行 | 多智能体协同 + 熔断器 + 审计日志;生产上线前仍需按环境压测和安全验收 |
53
+ | ML 模型 | 可选 | 需安装 `requirements-ml.txt`;仓库不附带预训练模型,指标不能替代生产数据验证 |
54
+ | 防火墙对接 | 适配器模式 | iptables / nftables / Cloud API 多种后端 |
55
+ | 告警接入 | Webhook / Kafka / Syslog | 三种接入方式均已实现 |
56
+ | 数据库 | PostgreSQL + SQLite | 环境变量切换,生产/开发灵活适配 |
57
+ | 认证安全 | JWT + RBAC + 脱敏 | 企业级安全体系 |
58
+ | 自动化 | 默认关闭 | 可配置自动闭环 / 封禁 / 升级 / 巡检,启用前应验证白名单和阈值 |
59
+ | Docker 部署 | 核心服务 | SecAgentX 应用 + PostgreSQL |
60
+ | 内置知识 | **1,674 NVD/CISA KEV + 365 MITRE + 14 合规 + 23 剧本** | 恶意 IP 缓存为可选下载数据,不是启动前置条件 |
61
+ | 自动化测试 | 后端 + 前端测试套件 | 含单元测试、集成测试、认证隔离和前端测试;以当前验收输出为准 |
62
+
63
+ ---
64
+
65
+ ## 生产部署(推荐 Docker)
66
+
67
+ ```bash
68
+ # 在项目根目录显式设置强凭据;Compose 不提供默认密码。
69
+ export SECAGENTX_PASSWORD='replace-with-a-strong-password'
70
+ export SECAGENTX_JWT_SECRET='replace-with-a-random-secret-at-least-32-chars'
71
+ export POSTGRES_PASSWORD='replace-with-a-strong-random-postgres-password'
72
+ docker compose up -d
73
+ # 访问 http://localhost:8000
74
+ ```
75
+
76
+ ## 开发模式启动
77
+
78
+ ```bash
79
+ # 核心运行时
80
+ pip install -r requirements.txt
81
+ # 开发、测试与 CI
82
+ pip install -r requirements-dev.txt
83
+ # 可选:向量化与机器学习能力
84
+ pip install -r requirements-ml.txt
85
+ # 可选:阿里云、腾讯云、AWS 防火墙适配器
86
+ pip install -r requirements-cloud.txt
87
+
88
+ # 首次启动前配置管理员凭据(示例值请替换)
89
+ export SECAGENTX_PASSWORD='replace-with-a-strong-password'
90
+
91
+ # 启动 API 服务
92
+ python3 -m backend.interface.api_server
93
+
94
+ # 启动前端(新终端)
95
+ cd frontend && npm ci && npm run dev
96
+ ```
97
+
98
+ ### 统一 CLI 与 Web 启动
99
+
100
+ CLI 与 Web 服务使用同一套 Agent、认证隔离和知识库代码,可交互运行,也可输出机器可读 JSON:
101
+
102
+ ```bash
103
+ # 首次配置(会验证 Provider 后再保存)
104
+ secagentx onboard
105
+
106
+ # 交互模式
107
+ secagentx
108
+
109
+ # 一次性查询
110
+ secagentx ask "什么是 SQL 注入?"
111
+
112
+ # 自动化脚本/CI 使用
113
+ secagentx ask "分析 45.33.32.156" --json
114
+
115
+ # 启动 Web;默认只监听 127.0.0.1
116
+ secagentx dashboard
117
+
118
+ # 诊断配置,--live 会发起一次真实模型请求
119
+ secagentx doctor
120
+ secagentx doctor --live
121
+ ```
122
+
123
+ 未配置真实 LLM Key 时可显式设置 `LLM_PROVIDER=mock` 验证启动链路;此模式只用于开发,不代表真实研判能力。Windows PowerShell 使用 `$env:LLM_PROVIDER='mock'`,Linux/macOS 使用 `export LLM_PROVIDER=mock`。
124
+
125
+ ### 搭建自己的前端
126
+
127
+ ```bat
128
+ secagentx ui init C:\work\my-secagentx-ui
129
+ cd /d C:\work\my-secagentx-ui
130
+ npm ci
131
+ npm run dev
132
+
133
+ rem 构建后让 SecAgentX 托管自定义界面
134
+ npm run build
135
+ secagentx dashboard --ui C:\work\my-secagentx-ui\dist
136
+ ```
137
+
138
+ `ui init` 不复制 `node_modules`、`dist` 或覆盖非空目录。监听非回环地址时必须显式添加 `--allow-remote`,并在企业环境配置 TLS 反向代理、防火墙和 `SECAGENTX_CORS_ORIGINS`。
139
+
140
+ ### 验证
141
+
142
+ ```bash
143
+ python -m compileall -q backend tests scripts
144
+ pytest -m "not slow" --timeout=60
145
+ cd frontend && npm test && npm run build
146
+ ```
147
+
148
+ 真实威胁 IP 缓存不是核心启动前置条件。网络可用时运行 `python scripts/update_threat_ips.py` 获取;若所有远程源失败,脚本会返回失败并保留已有缓存,不会写入空库。
149
+
150
+ ## 生产数据原则
151
+
152
+ 事件、资产和处置记录只来自 API/Webhook、日志接入器或数据库中的实际记录。空数据库会在 Web 中显示空状态,不会自动注入演示告警。MITRE ATT&CK 和 NVD/CISA KEV 为带来源的公开知识快照,合规/处置内容为静态参考指南,都不代表企业的实时业务数据。威胁情报未配置外部 API 时会明确标注覆盖不足。
153
+
154
+ ---
155
+
156
+ ## 架构
157
+
158
+ ```
159
+ 用户 (Web/CLI/Webhook)
160
+
161
+ ┌────────────┴────────────┐
162
+ │ TrueReAct 循环调度引擎 │ ← 活动模型 Provider
163
+ └────────────┬────────────┘
164
+
165
+ ┌─────────────────────┼─────────────────────┐
166
+ │ │ │ │
167
+ Analyst Intel Responder Knowledge
168
+ (统一 Provider) (统一 Provider) (统一 Provider) (Provider+RAG)
169
+ │ │ │ │
170
+ └───────────┴─────────────────┴─────────────┘
171
+
172
+ ┌──────────┴──────────┐
173
+ │ Tools (6 个安全工具) │
174
+ │ threat_intel / │ → iptables/Cloud API
175
+ │ firewall / geoip / │
176
+ │ cve_search / │
177
+ │ log_analyzer / │
178
+ │ alert_filter │
179
+ └──────────┬──────────┘
180
+
181
+ ┌─────────────────────┼─────────────────────┐
182
+ │ │ │
183
+ PostgreSQL/SQLite ChromaDB向量库 Docker Compose
184
+ (事件/用户/日志) (可选语义RAG) (应用 + PostgreSQL)
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 核心能力
190
+
191
+ | 能力 | 描述 |
192
+ |------|------|
193
+ | **多智能体协同** | Analyst / Intel / Responder / Knowledge / AlertFilter / Summary / Classifier 7 个 Agent |
194
+ | **多厂商 LLM** | OpenAI / Anthropic 兼容协议,云端和本地模型统一配置,保留旧版 Fallback 兼容 |
195
+ | **Agentic-RAG** | 知识增强检索,MITRE ATT&CK 全覆盖(365 技术 / 15 战术) |
196
+ | **威胁情报** | VirusTotal / AbuseIPDB / OTX 可选多源验证;缺 Key 时使用本地知识和离线适配器 |
197
+ | **ML 威胁检测** | 可选安装;训练与评估代码可用,实际效果需使用部署环境数据重新验证 |
198
+ | **防火墙封禁** | 默认禁用;显式配置 iptables / nftables / Cloud API,Mock 仅测试 |
199
+ | **自动处置** | 自动闭环 / 封禁 / 升级 / 巡检 / 数据保留,默认关闭 |
200
+ | **可解释风险评分** | 行为证据 / 威胁情报 / IP真实性 / 历史信誉 四维加减分,最终分数 + 危级,逐规则可审计 |
201
+ | **告警接入** | Webhook / Kafka / Syslog 三种方式 |
202
+ | **企业安全** | JWT 认证 + RBAC 权限 + 熔断器 + 审计日志 + 限流 |
203
+ | **跨区域联邦** | 多区域事件/IP 同步,mesh 拓扑 |
204
+
205
+ ---
206
+
207
+ ## 内置知识与可选数据
208
+
209
+ | 数据域 | 数据量 | 来源 | 真实性 |
210
+ |--------|:------:|------|:------:|
211
+ | 恶意 IP | 可选下载 | FireHOL / Darklist / Blocklist.de 等公开情报源 | 当前仓库不内置缓存,运行更新脚本获取 |
212
+ | MITRE ATT&CK 技术 | **365 个** | MITRE 官方 CTI | 官方数据 |
213
+ | MITRE ATT&CK 战术 | **15 个** | MITRE 官方 CTI | 官方数据 |
214
+ | NVD/CISA KEV | **1,674 条** (595 CRITICAL / 871 HIGH / 200 MEDIUM / 8 LOW) | NVD CVE API 2.0 | 官方可追溯快照 |
215
+ | 合规法规 | **14 项** | 等保2.0/网络安全法/GDPR/个保法等 | 真实法规 |
216
+ | 应急响应剧本 | **23 个** | 真实攻击场景(SSH爆破/勒索/C2/钓鱼等) | 真实场景 |
217
+ | APT 威胁组织 | **34 个** | 公开威胁情报 | 真实组织 |
218
+ | 恶意软件 | **47 个** | 公开威胁情报 | 真实恶意软件 |
219
+
220
+ ### 数据更新命令
221
+
222
+ ```bash
223
+ # 单独更新威胁 IP
224
+ python3 scripts/update_threat_ips.py
225
+ ```
226
+
227
+ ---
228
+
229
+ ## API 端点一览(51 个 HTTP/WebSocket 路由)
230
+
231
+ | 分类 | 端点 | 说明 |
232
+ |------|------|------|
233
+ | **认证** | `/api/auth/login`, `/api/auth/refresh` | JWT 登录/刷新 |
234
+ | **健康** | `/api/health`, `/api/stats`, `/api/metrics` | 系统状态 |
235
+ | **事件** | `/api/events`, `/api/events/{id}` | 安全事件 CRUD |
236
+ | **MITRE** | `/api/mitre/search`, `/api/mitre/technique/{id}`, `/api/mitre/kill-chain`, `/api/mitre/attack-flow` | ATT&CK 知识库 |
237
+ | **CVE** | `/api/cve/search`, `/api/cve/{id}`, `/api/cve/by-mitre/{tech_id}` | 漏洞库 |
238
+ | **合规** | `/api/compliance/search`, `/api/compliance/{name}` | 法规库 |
239
+ | **剧本** | `/api/remediation/search`, `/api/remediation/{scenario}` | 应急响应 |
240
+ | **Agent** | `/api/agents`, `/api/agents/runtime` | 智能体运行时 |
241
+ | **联邦** | `/api/federation/status`, `/api/federation/events`, `/api/federation/blacklist` | 跨区域同步 |
242
+ | **用户** | `/api/users`, `/api/users/{username}`, `/api/users/me` | 用户管理 |
243
+ | **WebSocket** | `/ws/chat` | 实时对话 |
244
+
245
+ ---
246
+
247
+ ## 项目结构
248
+
249
+ ```
250
+ secagentx/
251
+ ├── backend/
252
+ │ ├── agents/ # 7 个安全 Agent 实现
253
+ │ ├── orchestrator/ # TrueReAct 循环总调度
254
+ │ ├── tools/ # 6 个注册安全工具(含多种防火墙后端)
255
+ │ ├── llm/ # 多厂商 LLM 兼容层(OpenAI / Anthropic / Mock)
256
+ │ ├── ml_model/ # 可选 ML 训练与检测流水线
257
+ │ ├── knowledge/ # MITRE / CVE / 合规 / 剧本 / 威胁情报
258
+ │ ├── storage/ # PostgreSQL/SQLite + Chroma 向量库
259
+ │ ├── security/ # 认证/脱敏/熔断器/审计/限流
260
+ │ ├── federation/ # 跨区域联邦同步
261
+ │ └── interface/ # CLI + FastAPI + WebSocket
262
+ ├── frontend/ # Vue 3 + Naive UI + ECharts (10 视图)
263
+ ├── knowledge_data/ # 知识库数据 (1,674 KEV / 365 MITRE / 14 合规 / 23 剧本)
264
+ ├── Dockerfile # 前端构建 + Python 运行时多阶段镜像
265
+ ├── docker-compose.yml # SecAgentX + PostgreSQL 生产部署
266
+ ├── scripts/ # 运维/数据注入脚本
267
+ ├── tests/ # 后端单元与集成测试
268
+ └── data/ # 运行时 SQLite 数据库与可选缓存
269
+ ```
270
+
271
+ ---
272
+
273
+ ## 版本历史
274
+
275
+ | 版本 | 日期 | 说明 |
276
+ |:----:|:----:|------|
277
+ | v3.0.0 | 2026-08-22 | 统一 CLI/onboarding/dashboard、自定义 UI、多厂商 Provider、系统安全凭据与企业默认边界 |
278
+ | v2.1.0 | 2026-07-23 | ML 训练评估流水线 / 前后端路由联调 / 前端测试 |
279
+ | v2.0.0 | 2026-07-08 | 多 Agent + TrueReAct + Docker Compose |
280
+ | v1.1 | 2026-06-15 | 单 Agent + 基础 API + 前端初版 |
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,3 @@
1
+ from backend.cli_app import main
2
+
3
+ raise SystemExit(main())
@@ -0,0 +1 @@
1
+