@panguard-ai/core 0.1.0

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 (233) hide show
  1. package/dist/adapters/adapter-registry.d.ts +150 -0
  2. package/dist/adapters/adapter-registry.d.ts.map +1 -0
  3. package/dist/adapters/adapter-registry.js +271 -0
  4. package/dist/adapters/adapter-registry.js.map +1 -0
  5. package/dist/adapters/base-adapter.d.ts +101 -0
  6. package/dist/adapters/base-adapter.d.ts.map +1 -0
  7. package/dist/adapters/base-adapter.js +160 -0
  8. package/dist/adapters/base-adapter.js.map +1 -0
  9. package/dist/adapters/defender-adapter.d.ts +90 -0
  10. package/dist/adapters/defender-adapter.d.ts.map +1 -0
  11. package/dist/adapters/defender-adapter.js +227 -0
  12. package/dist/adapters/defender-adapter.js.map +1 -0
  13. package/dist/adapters/index.d.ts +22 -0
  14. package/dist/adapters/index.d.ts.map +1 -0
  15. package/dist/adapters/index.js +23 -0
  16. package/dist/adapters/index.js.map +1 -0
  17. package/dist/adapters/syslog-adapter.d.ts +207 -0
  18. package/dist/adapters/syslog-adapter.d.ts.map +1 -0
  19. package/dist/adapters/syslog-adapter.js +432 -0
  20. package/dist/adapters/syslog-adapter.js.map +1 -0
  21. package/dist/adapters/types.d.ts +135 -0
  22. package/dist/adapters/types.d.ts.map +1 -0
  23. package/dist/adapters/types.js +13 -0
  24. package/dist/adapters/types.js.map +1 -0
  25. package/dist/adapters/wazuh-adapter.d.ts +120 -0
  26. package/dist/adapters/wazuh-adapter.d.ts.map +1 -0
  27. package/dist/adapters/wazuh-adapter.js +266 -0
  28. package/dist/adapters/wazuh-adapter.js.map +1 -0
  29. package/dist/ai/claude-provider.d.ts +66 -0
  30. package/dist/ai/claude-provider.d.ts.map +1 -0
  31. package/dist/ai/claude-provider.js +166 -0
  32. package/dist/ai/claude-provider.js.map +1 -0
  33. package/dist/ai/funnel-router.d.ts +75 -0
  34. package/dist/ai/funnel-router.d.ts.map +1 -0
  35. package/dist/ai/funnel-router.js +173 -0
  36. package/dist/ai/funnel-router.js.map +1 -0
  37. package/dist/ai/index.d.ts +77 -0
  38. package/dist/ai/index.d.ts.map +1 -0
  39. package/dist/ai/index.js +95 -0
  40. package/dist/ai/index.js.map +1 -0
  41. package/dist/ai/ollama-provider.d.ts +73 -0
  42. package/dist/ai/ollama-provider.d.ts.map +1 -0
  43. package/dist/ai/ollama-provider.js +200 -0
  44. package/dist/ai/ollama-provider.js.map +1 -0
  45. package/dist/ai/openai-provider.d.ts +70 -0
  46. package/dist/ai/openai-provider.d.ts.map +1 -0
  47. package/dist/ai/openai-provider.js +175 -0
  48. package/dist/ai/openai-provider.js.map +1 -0
  49. package/dist/ai/prompts/event-classifier.d.ts +25 -0
  50. package/dist/ai/prompts/event-classifier.d.ts.map +1 -0
  51. package/dist/ai/prompts/event-classifier.js +94 -0
  52. package/dist/ai/prompts/event-classifier.js.map +1 -0
  53. package/dist/ai/prompts/index.d.ts +13 -0
  54. package/dist/ai/prompts/index.d.ts.map +1 -0
  55. package/dist/ai/prompts/index.js +13 -0
  56. package/dist/ai/prompts/index.js.map +1 -0
  57. package/dist/ai/prompts/report-generator.d.ts +25 -0
  58. package/dist/ai/prompts/report-generator.d.ts.map +1 -0
  59. package/dist/ai/prompts/report-generator.js +131 -0
  60. package/dist/ai/prompts/report-generator.js.map +1 -0
  61. package/dist/ai/prompts/threat-analyzer.d.ts +26 -0
  62. package/dist/ai/prompts/threat-analyzer.d.ts.map +1 -0
  63. package/dist/ai/prompts/threat-analyzer.js +75 -0
  64. package/dist/ai/prompts/threat-analyzer.js.map +1 -0
  65. package/dist/ai/provider-base.d.ts +100 -0
  66. package/dist/ai/provider-base.d.ts.map +1 -0
  67. package/dist/ai/provider-base.js +166 -0
  68. package/dist/ai/provider-base.js.map +1 -0
  69. package/dist/ai/response-parser.d.ts +36 -0
  70. package/dist/ai/response-parser.d.ts.map +1 -0
  71. package/dist/ai/response-parser.js +195 -0
  72. package/dist/ai/response-parser.js.map +1 -0
  73. package/dist/ai/token-tracker.d.ts +72 -0
  74. package/dist/ai/token-tracker.d.ts.map +1 -0
  75. package/dist/ai/token-tracker.js +145 -0
  76. package/dist/ai/token-tracker.js.map +1 -0
  77. package/dist/ai/types.d.ts +138 -0
  78. package/dist/ai/types.d.ts.map +1 -0
  79. package/dist/ai/types.js +12 -0
  80. package/dist/ai/types.js.map +1 -0
  81. package/dist/cli/index.d.ts +146 -0
  82. package/dist/cli/index.d.ts.map +1 -0
  83. package/dist/cli/index.js +515 -0
  84. package/dist/cli/index.js.map +1 -0
  85. package/dist/cli/prompts.d.ts +58 -0
  86. package/dist/cli/prompts.d.ts.map +1 -0
  87. package/dist/cli/prompts.js +327 -0
  88. package/dist/cli/prompts.js.map +1 -0
  89. package/dist/cli/wizard.d.ts +58 -0
  90. package/dist/cli/wizard.d.ts.map +1 -0
  91. package/dist/cli/wizard.js +200 -0
  92. package/dist/cli/wizard.js.map +1 -0
  93. package/dist/discovery/firewall-checker.d.ts +28 -0
  94. package/dist/discovery/firewall-checker.d.ts.map +1 -0
  95. package/dist/discovery/firewall-checker.js +379 -0
  96. package/dist/discovery/firewall-checker.js.map +1 -0
  97. package/dist/discovery/index.d.ts +23 -0
  98. package/dist/discovery/index.d.ts.map +1 -0
  99. package/dist/discovery/index.js +29 -0
  100. package/dist/discovery/index.js.map +1 -0
  101. package/dist/discovery/network-scanner.d.ts +60 -0
  102. package/dist/discovery/network-scanner.d.ts.map +1 -0
  103. package/dist/discovery/network-scanner.js +640 -0
  104. package/dist/discovery/network-scanner.js.map +1 -0
  105. package/dist/discovery/os-detector.d.ts +24 -0
  106. package/dist/discovery/os-detector.d.ts.map +1 -0
  107. package/dist/discovery/os-detector.js +253 -0
  108. package/dist/discovery/os-detector.js.map +1 -0
  109. package/dist/discovery/osquery-provider.d.ts +127 -0
  110. package/dist/discovery/osquery-provider.d.ts.map +1 -0
  111. package/dist/discovery/osquery-provider.js +214 -0
  112. package/dist/discovery/osquery-provider.js.map +1 -0
  113. package/dist/discovery/risk-scorer.d.ts +66 -0
  114. package/dist/discovery/risk-scorer.d.ts.map +1 -0
  115. package/dist/discovery/risk-scorer.js +294 -0
  116. package/dist/discovery/risk-scorer.js.map +1 -0
  117. package/dist/discovery/security-tools.d.ts +31 -0
  118. package/dist/discovery/security-tools.d.ts.map +1 -0
  119. package/dist/discovery/security-tools.js +346 -0
  120. package/dist/discovery/security-tools.js.map +1 -0
  121. package/dist/discovery/service-detector.d.ts +28 -0
  122. package/dist/discovery/service-detector.d.ts.map +1 -0
  123. package/dist/discovery/service-detector.js +300 -0
  124. package/dist/discovery/service-detector.js.map +1 -0
  125. package/dist/discovery/types.d.ts +502 -0
  126. package/dist/discovery/types.d.ts.map +1 -0
  127. package/dist/discovery/types.js +12 -0
  128. package/dist/discovery/types.js.map +1 -0
  129. package/dist/discovery/user-auditor.d.ts +28 -0
  130. package/dist/discovery/user-auditor.d.ts.map +1 -0
  131. package/dist/discovery/user-auditor.js +385 -0
  132. package/dist/discovery/user-auditor.js.map +1 -0
  133. package/dist/i18n/config.d.ts +45 -0
  134. package/dist/i18n/config.d.ts.map +1 -0
  135. package/dist/i18n/config.js +135 -0
  136. package/dist/i18n/config.js.map +1 -0
  137. package/dist/i18n/index.d.ts +8 -0
  138. package/dist/i18n/index.d.ts.map +1 -0
  139. package/dist/i18n/index.js +8 -0
  140. package/dist/i18n/index.js.map +1 -0
  141. package/dist/index.d.ts +31 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +31 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/monitor/event-normalizer.d.ts +102 -0
  146. package/dist/monitor/event-normalizer.d.ts.map +1 -0
  147. package/dist/monitor/event-normalizer.js +195 -0
  148. package/dist/monitor/event-normalizer.js.map +1 -0
  149. package/dist/monitor/file-monitor.d.ts +90 -0
  150. package/dist/monitor/file-monitor.d.ts.map +1 -0
  151. package/dist/monitor/file-monitor.js +222 -0
  152. package/dist/monitor/file-monitor.js.map +1 -0
  153. package/dist/monitor/index.d.ts +147 -0
  154. package/dist/monitor/index.d.ts.map +1 -0
  155. package/dist/monitor/index.js +293 -0
  156. package/dist/monitor/index.js.map +1 -0
  157. package/dist/monitor/log-monitor.d.ts +102 -0
  158. package/dist/monitor/log-monitor.d.ts.map +1 -0
  159. package/dist/monitor/log-monitor.js +245 -0
  160. package/dist/monitor/log-monitor.js.map +1 -0
  161. package/dist/monitor/network-monitor.d.ts +103 -0
  162. package/dist/monitor/network-monitor.d.ts.map +1 -0
  163. package/dist/monitor/network-monitor.js +336 -0
  164. package/dist/monitor/network-monitor.js.map +1 -0
  165. package/dist/monitor/process-monitor.d.ts +108 -0
  166. package/dist/monitor/process-monitor.d.ts.map +1 -0
  167. package/dist/monitor/process-monitor.js +245 -0
  168. package/dist/monitor/process-monitor.js.map +1 -0
  169. package/dist/monitor/threat-intel-feeds.d.ts +141 -0
  170. package/dist/monitor/threat-intel-feeds.d.ts.map +1 -0
  171. package/dist/monitor/threat-intel-feeds.js +430 -0
  172. package/dist/monitor/threat-intel-feeds.js.map +1 -0
  173. package/dist/monitor/threat-intel.d.ts +83 -0
  174. package/dist/monitor/threat-intel.d.ts.map +1 -0
  175. package/dist/monitor/threat-intel.js +215 -0
  176. package/dist/monitor/threat-intel.js.map +1 -0
  177. package/dist/monitor/types.d.ts +65 -0
  178. package/dist/monitor/types.d.ts.map +1 -0
  179. package/dist/monitor/types.js +20 -0
  180. package/dist/monitor/types.js.map +1 -0
  181. package/dist/rules/index.d.ts +115 -0
  182. package/dist/rules/index.d.ts.map +1 -0
  183. package/dist/rules/index.js +244 -0
  184. package/dist/rules/index.js.map +1 -0
  185. package/dist/rules/rule-loader.d.ts +54 -0
  186. package/dist/rules/rule-loader.d.ts.map +1 -0
  187. package/dist/rules/rule-loader.js +167 -0
  188. package/dist/rules/rule-loader.js.map +1 -0
  189. package/dist/rules/sigma-matcher.d.ts +40 -0
  190. package/dist/rules/sigma-matcher.d.ts.map +1 -0
  191. package/dist/rules/sigma-matcher.js +447 -0
  192. package/dist/rules/sigma-matcher.js.map +1 -0
  193. package/dist/rules/sigma-parser.d.ts +36 -0
  194. package/dist/rules/sigma-parser.d.ts.map +1 -0
  195. package/dist/rules/sigma-parser.js +180 -0
  196. package/dist/rules/sigma-parser.js.map +1 -0
  197. package/dist/rules/types.d.ts +112 -0
  198. package/dist/rules/types.d.ts.map +1 -0
  199. package/dist/rules/types.js +11 -0
  200. package/dist/rules/types.js.map +1 -0
  201. package/dist/rules/yara-scanner.d.ts +103 -0
  202. package/dist/rules/yara-scanner.d.ts.map +1 -0
  203. package/dist/rules/yara-scanner.js +421 -0
  204. package/dist/rules/yara-scanner.js.map +1 -0
  205. package/dist/scoring/achievements.d.ts +76 -0
  206. package/dist/scoring/achievements.d.ts.map +1 -0
  207. package/dist/scoring/achievements.js +211 -0
  208. package/dist/scoring/achievements.js.map +1 -0
  209. package/dist/scoring/index.d.ts +3 -0
  210. package/dist/scoring/index.d.ts.map +1 -0
  211. package/dist/scoring/index.js +3 -0
  212. package/dist/scoring/index.js.map +1 -0
  213. package/dist/scoring/security-score.d.ts +60 -0
  214. package/dist/scoring/security-score.d.ts.map +1 -0
  215. package/dist/scoring/security-score.js +211 -0
  216. package/dist/scoring/security-score.js.map +1 -0
  217. package/dist/types.d.ts +71 -0
  218. package/dist/types.d.ts.map +1 -0
  219. package/dist/types.js +8 -0
  220. package/dist/types.js.map +1 -0
  221. package/dist/utils/index.d.ts +10 -0
  222. package/dist/utils/index.d.ts.map +1 -0
  223. package/dist/utils/index.js +9 -0
  224. package/dist/utils/index.js.map +1 -0
  225. package/dist/utils/logger.d.ts +38 -0
  226. package/dist/utils/logger.d.ts.map +1 -0
  227. package/dist/utils/logger.js +71 -0
  228. package/dist/utils/logger.js.map +1 -0
  229. package/dist/utils/validation.d.ts +35 -0
  230. package/dist/utils/validation.d.ts.map +1 -0
  231. package/dist/utils/validation.js +56 -0
  232. package/dist/utils/validation.js.map +1 -0
  233. package/package.json +60 -0
@@ -0,0 +1,502 @@
1
+ /**
2
+ * Discovery engine type definitions
3
+ * 環境偵察引擎型別定義
4
+ *
5
+ * Defines all interfaces used by the environment discovery engine for
6
+ * system scanning, risk assessment, and security posture evaluation.
7
+ * 定義環境偵察引擎所使用的所有介面,用於系統掃描、風險評估和安全態勢評估。
8
+ *
9
+ * @module @panguard-ai/core/discovery/types
10
+ */
11
+ import type { Language, Severity } from '../types.js';
12
+ /**
13
+ * Configuration for the discovery engine
14
+ * 偵察引擎配置
15
+ */
16
+ export interface DiscoveryConfig {
17
+ /**
18
+ * Scan depth - 'quick' for fast overview, 'full' for comprehensive scan
19
+ * 掃描深度 - 'quick' 快速概覽,'full' 全面掃描
20
+ */
21
+ depth: 'quick' | 'full';
22
+ /**
23
+ * Language for output and descriptions
24
+ * 輸出和描述的語言
25
+ */
26
+ lang: Language;
27
+ }
28
+ /**
29
+ * Operating system information
30
+ * 作業系統資訊
31
+ */
32
+ export interface OSInfo {
33
+ /**
34
+ * OS platform identifier (e.g. 'darwin', 'linux', 'win32')
35
+ * 作業系統平台識別碼(例如 'darwin'、'linux'、'win32')
36
+ */
37
+ platform: string;
38
+ /**
39
+ * OS distribution name (e.g. 'macOS', 'Ubuntu', 'Windows 11')
40
+ * 作業系統發行版名稱(例如 'macOS'、'Ubuntu'、'Windows 11')
41
+ */
42
+ distro: string;
43
+ /**
44
+ * OS version string
45
+ * 作業系統版本字串
46
+ */
47
+ version: string;
48
+ /**
49
+ * CPU architecture (e.g. 'x64', 'arm64')
50
+ * CPU 架構(例如 'x64'、'arm64')
51
+ */
52
+ arch: string;
53
+ /**
54
+ * Kernel version string
55
+ * 核心版本字串
56
+ */
57
+ kernel: string;
58
+ /**
59
+ * System hostname
60
+ * 系統主機名稱
61
+ */
62
+ hostname: string;
63
+ /**
64
+ * System uptime in seconds
65
+ * 系統運行時間(秒)
66
+ */
67
+ uptime: number;
68
+ /**
69
+ * Latest patch or update level identifier
70
+ * 最新修補程式或更新等級識別碼
71
+ */
72
+ patchLevel: string;
73
+ }
74
+ /**
75
+ * Network interface information
76
+ * 網路介面資訊
77
+ */
78
+ export interface NetworkInterface {
79
+ /**
80
+ * Interface name (e.g. 'eth0', 'en0', 'Wi-Fi')
81
+ * 介面名稱(例如 'eth0'、'en0'、'Wi-Fi')
82
+ */
83
+ name: string;
84
+ /**
85
+ * IP address assigned to the interface
86
+ * 分配給介面的 IP 位址
87
+ */
88
+ ip: string;
89
+ /**
90
+ * MAC (hardware) address
91
+ * MAC(硬體)位址
92
+ */
93
+ mac: string;
94
+ /**
95
+ * Network mask
96
+ * 網路遮罩
97
+ */
98
+ netmask: string;
99
+ /**
100
+ * Whether this is an internal/loopback interface
101
+ * 是否為內部/迴路介面
102
+ */
103
+ internal: boolean;
104
+ }
105
+ /**
106
+ * Information about an open port
107
+ * 開放埠資訊
108
+ */
109
+ export interface PortInfo {
110
+ /**
111
+ * Port number
112
+ * 埠號
113
+ */
114
+ port: number;
115
+ /**
116
+ * Protocol (e.g. 'tcp', 'udp')
117
+ * 協定(例如 'tcp'、'udp')
118
+ */
119
+ protocol: string;
120
+ /**
121
+ * Port state (e.g. 'LISTEN', 'ESTABLISHED')
122
+ * 埠狀態(例如 'LISTEN'、'ESTABLISHED')
123
+ */
124
+ state: string;
125
+ /**
126
+ * Process ID using this port
127
+ * 使用此埠的行程 ID
128
+ */
129
+ pid: number | undefined;
130
+ /**
131
+ * Process name using this port
132
+ * 使用此埠的行程名稱
133
+ */
134
+ process: string;
135
+ /**
136
+ * Service name associated with this port
137
+ * 與此埠關聯的服務名稱
138
+ */
139
+ service: string;
140
+ }
141
+ /**
142
+ * Active network connection information
143
+ * 活躍網路連線資訊
144
+ */
145
+ export interface ActiveConnection {
146
+ /**
147
+ * Local IP address
148
+ * 本地 IP 位址
149
+ */
150
+ localAddress: string;
151
+ /**
152
+ * Local port number
153
+ * 本地埠號
154
+ */
155
+ localPort: number;
156
+ /**
157
+ * Remote IP address
158
+ * 遠端 IP 位址
159
+ */
160
+ remoteAddress: string;
161
+ /**
162
+ * Remote port number
163
+ * 遠端埠號
164
+ */
165
+ remotePort: number;
166
+ /**
167
+ * Connection state (e.g. 'ESTABLISHED', 'TIME_WAIT')
168
+ * 連線狀態(例如 'ESTABLISHED'、'TIME_WAIT')
169
+ */
170
+ state: string;
171
+ /**
172
+ * Process ID owning this connection
173
+ * 擁有此連線的行程 ID
174
+ */
175
+ pid: number | undefined;
176
+ /**
177
+ * Process name owning this connection
178
+ * 擁有此連線的行程名稱
179
+ */
180
+ process: string;
181
+ }
182
+ /**
183
+ * Aggregated network information
184
+ * 彙總網路資訊
185
+ */
186
+ export interface NetworkInfo {
187
+ /**
188
+ * Detected network interfaces
189
+ * 偵測到的網路介面
190
+ */
191
+ interfaces: NetworkInterface[];
192
+ /**
193
+ * Open / listening ports
194
+ * 開放/監聽埠
195
+ */
196
+ openPorts: PortInfo[];
197
+ /**
198
+ * Active network connections
199
+ * 活躍網路連線
200
+ */
201
+ activeConnections: ActiveConnection[];
202
+ /**
203
+ * Default gateway IP address
204
+ * 預設閘道 IP 位址
205
+ */
206
+ gateway: string;
207
+ /**
208
+ * DNS server addresses
209
+ * DNS 伺服器位址
210
+ */
211
+ dns: string[];
212
+ }
213
+ /**
214
+ * Running service information
215
+ * 執行中服務資訊
216
+ */
217
+ export interface ServiceInfo {
218
+ /**
219
+ * Service identifier / name
220
+ * 服務識別碼/名稱
221
+ */
222
+ name: string;
223
+ /**
224
+ * Human-readable display name
225
+ * 人類可讀的顯示名稱
226
+ */
227
+ displayName: string;
228
+ /**
229
+ * Current service status
230
+ * 目前服務狀態
231
+ */
232
+ status: 'running' | 'stopped' | 'unknown';
233
+ /**
234
+ * Process ID of the service (if running)
235
+ * 服務的行程 ID(如果正在執行)
236
+ */
237
+ pid?: number;
238
+ /**
239
+ * Service start type (e.g. 'auto', 'manual', 'disabled')
240
+ * 服務啟動類型(例如 'auto'、'manual'、'disabled')
241
+ */
242
+ startType?: string;
243
+ /**
244
+ * Service description
245
+ * 服務描述
246
+ */
247
+ description?: string;
248
+ }
249
+ /**
250
+ * Security tool type classification
251
+ * 安全工具類型分類
252
+ */
253
+ export type SecurityToolType = 'antivirus' | 'edr' | 'firewall' | 'ids' | 'siem' | 'other';
254
+ /**
255
+ * Detected security tool information
256
+ * 偵測到的安全工具資訊
257
+ */
258
+ export interface SecurityTool {
259
+ /**
260
+ * Tool name
261
+ * 工具名稱
262
+ */
263
+ name: string;
264
+ /**
265
+ * Vendor / manufacturer
266
+ * 廠商/製造商
267
+ */
268
+ vendor: string;
269
+ /**
270
+ * Tool version (if detectable)
271
+ * 工具版本(如果可偵測)
272
+ */
273
+ version?: string;
274
+ /**
275
+ * Whether the tool is currently running
276
+ * 工具是否正在執行
277
+ */
278
+ running: boolean;
279
+ /**
280
+ * Security tool category
281
+ * 安全工具類別
282
+ */
283
+ type: SecurityToolType;
284
+ }
285
+ /**
286
+ * Firewall rule definition
287
+ * 防火牆規則定義
288
+ */
289
+ export interface FirewallRule {
290
+ /**
291
+ * Rule name or identifier
292
+ * 規則名稱或識別碼
293
+ */
294
+ name: string;
295
+ /**
296
+ * Traffic direction
297
+ * 流量方向
298
+ */
299
+ direction: 'in' | 'out';
300
+ /**
301
+ * Rule action
302
+ * 規則動作
303
+ */
304
+ action: 'allow' | 'block';
305
+ /**
306
+ * Network protocol (e.g. 'tcp', 'udp', 'any')
307
+ * 網路協定(例如 'tcp'、'udp'、'any')
308
+ */
309
+ protocol?: string;
310
+ /**
311
+ * Port number or range
312
+ * 埠號或範圍
313
+ */
314
+ port?: string;
315
+ /**
316
+ * Whether the rule is enabled
317
+ * 規則是否已啟用
318
+ */
319
+ enabled: boolean;
320
+ }
321
+ /**
322
+ * Firewall status information
323
+ * 防火牆狀態資訊
324
+ */
325
+ export interface FirewallStatus {
326
+ /**
327
+ * Whether the firewall is enabled
328
+ * 防火牆是否已啟用
329
+ */
330
+ enabled: boolean;
331
+ /**
332
+ * Firewall product name
333
+ * 防火牆產品名稱
334
+ */
335
+ product: string;
336
+ /**
337
+ * Active firewall rules
338
+ * 啟用中的防火牆規則
339
+ */
340
+ rules: FirewallRule[];
341
+ }
342
+ /**
343
+ * System update status
344
+ * 系統更新狀態
345
+ */
346
+ export interface UpdateStatus {
347
+ /**
348
+ * Last time updates were checked (ISO timestamp)
349
+ * 上次檢查更新的時間(ISO 時間戳)
350
+ */
351
+ lastCheck?: string;
352
+ /**
353
+ * Number of pending updates
354
+ * 待安裝更新數量
355
+ */
356
+ pendingUpdates: number;
357
+ /**
358
+ * Whether automatic updates are enabled
359
+ * 是否已啟用自動更新
360
+ */
361
+ autoUpdateEnabled: boolean;
362
+ }
363
+ /**
364
+ * User account information
365
+ * 使用者帳號資訊
366
+ */
367
+ export interface UserInfo {
368
+ /**
369
+ * Username / login name
370
+ * 使用者名稱/登入名稱
371
+ */
372
+ username: string;
373
+ /**
374
+ * User ID (numeric, on UNIX systems)
375
+ * 使用者 ID(數字,於 UNIX 系統上)
376
+ */
377
+ uid?: string;
378
+ /**
379
+ * Whether the user has administrator privileges
380
+ * 使用者是否具有管理員權限
381
+ */
382
+ isAdmin: boolean;
383
+ /**
384
+ * Last login timestamp (ISO string or descriptive)
385
+ * 上次登入時間戳(ISO 字串或描述性)
386
+ */
387
+ lastLogin?: string;
388
+ /**
389
+ * Password age in days
390
+ * 密碼使用天數
391
+ */
392
+ passwordAge?: number;
393
+ /**
394
+ * Default shell (on UNIX systems)
395
+ * 預設 shell(於 UNIX 系統上)
396
+ */
397
+ shell?: string;
398
+ }
399
+ /**
400
+ * Individual risk factor identified during discovery
401
+ * 偵察期間識別的個別風險因素
402
+ */
403
+ export interface RiskFactor {
404
+ /**
405
+ * Risk category identifier
406
+ * 風險類別識別碼
407
+ */
408
+ category: string;
409
+ /**
410
+ * Human-readable risk description
411
+ * 人類可讀的風險描述
412
+ */
413
+ description: string;
414
+ /**
415
+ * Numeric risk score (0-25 per factor)
416
+ * 數值風險評分(每個因素 0-25)
417
+ */
418
+ score: number;
419
+ /**
420
+ * Severity classification
421
+ * 嚴重性分類
422
+ */
423
+ severity: Severity;
424
+ /**
425
+ * Additional details about this risk factor
426
+ * 關於此風險因素的額外詳情
427
+ */
428
+ details?: string;
429
+ }
430
+ /**
431
+ * Complete environment discovery result
432
+ * 完整的環境偵察結果
433
+ */
434
+ export interface DiscoveryResult {
435
+ /**
436
+ * Operating system information
437
+ * 作業系統資訊
438
+ */
439
+ os: OSInfo;
440
+ /**
441
+ * System hostname
442
+ * 系統主機名稱
443
+ */
444
+ hostname: string;
445
+ /**
446
+ * Network information
447
+ * 網路資訊
448
+ */
449
+ network: NetworkInfo;
450
+ /**
451
+ * Open / listening ports (convenience alias for network.openPorts)
452
+ * 開放/監聽埠(network.openPorts 的便捷別名)
453
+ */
454
+ openPorts: PortInfo[];
455
+ /**
456
+ * Detected running services
457
+ * 偵測到的執行中服務
458
+ */
459
+ services: ServiceInfo[];
460
+ /**
461
+ * Security posture information
462
+ * 安全態勢資訊
463
+ */
464
+ security: {
465
+ /**
466
+ * Detected security tools
467
+ * 偵測到的安全工具
468
+ */
469
+ existingTools: SecurityTool[];
470
+ /**
471
+ * Firewall status
472
+ * 防火牆狀態
473
+ */
474
+ firewall: FirewallStatus;
475
+ /**
476
+ * System update status
477
+ * 系統更新狀態
478
+ */
479
+ updates: UpdateStatus;
480
+ /**
481
+ * User accounts
482
+ * 使用者帳號
483
+ */
484
+ users: UserInfo[];
485
+ };
486
+ /**
487
+ * Identified risk factors / vulnerabilities
488
+ * 已識別的風險因素/弱點
489
+ */
490
+ vulnerabilities: RiskFactor[];
491
+ /**
492
+ * Overall risk score (0-100)
493
+ * 總體風險評分(0-100)
494
+ */
495
+ riskScore: number;
496
+ /**
497
+ * Discovery timestamp (ISO 8601)
498
+ * 偵察時間戳(ISO 8601)
499
+ */
500
+ discoveredAt: string;
501
+ }
502
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Discovery engine type definitions
3
+ * 環境偵察引擎型別定義
4
+ *
5
+ * Defines all interfaces used by the environment discovery engine for
6
+ * system scanning, risk assessment, and security posture evaluation.
7
+ * 定義環境偵察引擎所使用的所有介面,用於系統掃描、風險評估和安全態勢評估。
8
+ *
9
+ * @module @panguard-ai/core/discovery/types
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * User account auditor
3
+ * 使用者帳號稽核
4
+ *
5
+ * Audits local user accounts to identify administrators, inactive accounts,
6
+ * and other user-related security concerns across macOS, Linux, and Windows.
7
+ * 稽核本地使用者帳號以識別管理員、非活躍帳號和其他跨 macOS、Linux 和 Windows 的使用者相關安全問題。
8
+ *
9
+ * @module @panguard-ai/core/discovery/user-auditor
10
+ */
11
+ import type { UserInfo } from './types.js';
12
+ /**
13
+ * Audit all local user accounts on the current platform
14
+ * 稽核目前平台上所有本地使用者帳號
15
+ *
16
+ * Dispatches to platform-specific auditing methods:
17
+ * - macOS: dscl . -list /Users + dscl . -read /Users/username
18
+ * - Linux: /etc/passwd + /etc/group
19
+ * - Windows: net user + net localgroup administrators
20
+ * 分派到平台特定的稽核方法:
21
+ * - macOS:dscl . -list /Users + dscl . -read /Users/username
22
+ * - Linux:/etc/passwd + /etc/group
23
+ * - Windows:net user + net localgroup administrators
24
+ *
25
+ * @returns Array of audited user accounts / 已稽核的使用者帳號陣列
26
+ */
27
+ export declare function auditUsers(): Promise<UserInfo[]>;
28
+ //# sourceMappingURL=user-auditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-auditor.d.ts","sourceRoot":"","sources":["../../src/discovery/user-auditor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA8W3C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgCtD"}