@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.
- package/dist/adapters/adapter-registry.d.ts +150 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/adapters/adapter-registry.js +271 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/base-adapter.d.ts +101 -0
- package/dist/adapters/base-adapter.d.ts.map +1 -0
- package/dist/adapters/base-adapter.js +160 -0
- package/dist/adapters/base-adapter.js.map +1 -0
- package/dist/adapters/defender-adapter.d.ts +90 -0
- package/dist/adapters/defender-adapter.d.ts.map +1 -0
- package/dist/adapters/defender-adapter.js +227 -0
- package/dist/adapters/defender-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +22 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +23 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/syslog-adapter.d.ts +207 -0
- package/dist/adapters/syslog-adapter.d.ts.map +1 -0
- package/dist/adapters/syslog-adapter.js +432 -0
- package/dist/adapters/syslog-adapter.js.map +1 -0
- package/dist/adapters/types.d.ts +135 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +13 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/wazuh-adapter.d.ts +120 -0
- package/dist/adapters/wazuh-adapter.d.ts.map +1 -0
- package/dist/adapters/wazuh-adapter.js +266 -0
- package/dist/adapters/wazuh-adapter.js.map +1 -0
- package/dist/ai/claude-provider.d.ts +66 -0
- package/dist/ai/claude-provider.d.ts.map +1 -0
- package/dist/ai/claude-provider.js +166 -0
- package/dist/ai/claude-provider.js.map +1 -0
- package/dist/ai/funnel-router.d.ts +75 -0
- package/dist/ai/funnel-router.d.ts.map +1 -0
- package/dist/ai/funnel-router.js +173 -0
- package/dist/ai/funnel-router.js.map +1 -0
- package/dist/ai/index.d.ts +77 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +95 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/ollama-provider.d.ts +73 -0
- package/dist/ai/ollama-provider.d.ts.map +1 -0
- package/dist/ai/ollama-provider.js +200 -0
- package/dist/ai/ollama-provider.js.map +1 -0
- package/dist/ai/openai-provider.d.ts +70 -0
- package/dist/ai/openai-provider.d.ts.map +1 -0
- package/dist/ai/openai-provider.js +175 -0
- package/dist/ai/openai-provider.js.map +1 -0
- package/dist/ai/prompts/event-classifier.d.ts +25 -0
- package/dist/ai/prompts/event-classifier.d.ts.map +1 -0
- package/dist/ai/prompts/event-classifier.js +94 -0
- package/dist/ai/prompts/event-classifier.js.map +1 -0
- package/dist/ai/prompts/index.d.ts +13 -0
- package/dist/ai/prompts/index.d.ts.map +1 -0
- package/dist/ai/prompts/index.js +13 -0
- package/dist/ai/prompts/index.js.map +1 -0
- package/dist/ai/prompts/report-generator.d.ts +25 -0
- package/dist/ai/prompts/report-generator.d.ts.map +1 -0
- package/dist/ai/prompts/report-generator.js +131 -0
- package/dist/ai/prompts/report-generator.js.map +1 -0
- package/dist/ai/prompts/threat-analyzer.d.ts +26 -0
- package/dist/ai/prompts/threat-analyzer.d.ts.map +1 -0
- package/dist/ai/prompts/threat-analyzer.js +75 -0
- package/dist/ai/prompts/threat-analyzer.js.map +1 -0
- package/dist/ai/provider-base.d.ts +100 -0
- package/dist/ai/provider-base.d.ts.map +1 -0
- package/dist/ai/provider-base.js +166 -0
- package/dist/ai/provider-base.js.map +1 -0
- package/dist/ai/response-parser.d.ts +36 -0
- package/dist/ai/response-parser.d.ts.map +1 -0
- package/dist/ai/response-parser.js +195 -0
- package/dist/ai/response-parser.js.map +1 -0
- package/dist/ai/token-tracker.d.ts +72 -0
- package/dist/ai/token-tracker.d.ts.map +1 -0
- package/dist/ai/token-tracker.js +145 -0
- package/dist/ai/token-tracker.js.map +1 -0
- package/dist/ai/types.d.ts +138 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +12 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/cli/index.d.ts +146 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +515 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/prompts.d.ts +58 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +327 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/cli/wizard.d.ts +58 -0
- package/dist/cli/wizard.d.ts.map +1 -0
- package/dist/cli/wizard.js +200 -0
- package/dist/cli/wizard.js.map +1 -0
- package/dist/discovery/firewall-checker.d.ts +28 -0
- package/dist/discovery/firewall-checker.d.ts.map +1 -0
- package/dist/discovery/firewall-checker.js +379 -0
- package/dist/discovery/firewall-checker.js.map +1 -0
- package/dist/discovery/index.d.ts +23 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +29 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/network-scanner.d.ts +60 -0
- package/dist/discovery/network-scanner.d.ts.map +1 -0
- package/dist/discovery/network-scanner.js +640 -0
- package/dist/discovery/network-scanner.js.map +1 -0
- package/dist/discovery/os-detector.d.ts +24 -0
- package/dist/discovery/os-detector.d.ts.map +1 -0
- package/dist/discovery/os-detector.js +253 -0
- package/dist/discovery/os-detector.js.map +1 -0
- package/dist/discovery/osquery-provider.d.ts +127 -0
- package/dist/discovery/osquery-provider.d.ts.map +1 -0
- package/dist/discovery/osquery-provider.js +214 -0
- package/dist/discovery/osquery-provider.js.map +1 -0
- package/dist/discovery/risk-scorer.d.ts +66 -0
- package/dist/discovery/risk-scorer.d.ts.map +1 -0
- package/dist/discovery/risk-scorer.js +294 -0
- package/dist/discovery/risk-scorer.js.map +1 -0
- package/dist/discovery/security-tools.d.ts +31 -0
- package/dist/discovery/security-tools.d.ts.map +1 -0
- package/dist/discovery/security-tools.js +346 -0
- package/dist/discovery/security-tools.js.map +1 -0
- package/dist/discovery/service-detector.d.ts +28 -0
- package/dist/discovery/service-detector.d.ts.map +1 -0
- package/dist/discovery/service-detector.js +300 -0
- package/dist/discovery/service-detector.js.map +1 -0
- package/dist/discovery/types.d.ts +502 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +12 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/discovery/user-auditor.d.ts +28 -0
- package/dist/discovery/user-auditor.d.ts.map +1 -0
- package/dist/discovery/user-auditor.js +385 -0
- package/dist/discovery/user-auditor.js.map +1 -0
- package/dist/i18n/config.d.ts +45 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +135 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/index.d.ts +8 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +8 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/monitor/event-normalizer.d.ts +102 -0
- package/dist/monitor/event-normalizer.d.ts.map +1 -0
- package/dist/monitor/event-normalizer.js +195 -0
- package/dist/monitor/event-normalizer.js.map +1 -0
- package/dist/monitor/file-monitor.d.ts +90 -0
- package/dist/monitor/file-monitor.d.ts.map +1 -0
- package/dist/monitor/file-monitor.js +222 -0
- package/dist/monitor/file-monitor.js.map +1 -0
- package/dist/monitor/index.d.ts +147 -0
- package/dist/monitor/index.d.ts.map +1 -0
- package/dist/monitor/index.js +293 -0
- package/dist/monitor/index.js.map +1 -0
- package/dist/monitor/log-monitor.d.ts +102 -0
- package/dist/monitor/log-monitor.d.ts.map +1 -0
- package/dist/monitor/log-monitor.js +245 -0
- package/dist/monitor/log-monitor.js.map +1 -0
- package/dist/monitor/network-monitor.d.ts +103 -0
- package/dist/monitor/network-monitor.d.ts.map +1 -0
- package/dist/monitor/network-monitor.js +336 -0
- package/dist/monitor/network-monitor.js.map +1 -0
- package/dist/monitor/process-monitor.d.ts +108 -0
- package/dist/monitor/process-monitor.d.ts.map +1 -0
- package/dist/monitor/process-monitor.js +245 -0
- package/dist/monitor/process-monitor.js.map +1 -0
- package/dist/monitor/threat-intel-feeds.d.ts +141 -0
- package/dist/monitor/threat-intel-feeds.d.ts.map +1 -0
- package/dist/monitor/threat-intel-feeds.js +430 -0
- package/dist/monitor/threat-intel-feeds.js.map +1 -0
- package/dist/monitor/threat-intel.d.ts +83 -0
- package/dist/monitor/threat-intel.d.ts.map +1 -0
- package/dist/monitor/threat-intel.js +215 -0
- package/dist/monitor/threat-intel.js.map +1 -0
- package/dist/monitor/types.d.ts +65 -0
- package/dist/monitor/types.d.ts.map +1 -0
- package/dist/monitor/types.js +20 -0
- package/dist/monitor/types.js.map +1 -0
- package/dist/rules/index.d.ts +115 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +244 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/rule-loader.d.ts +54 -0
- package/dist/rules/rule-loader.d.ts.map +1 -0
- package/dist/rules/rule-loader.js +167 -0
- package/dist/rules/rule-loader.js.map +1 -0
- package/dist/rules/sigma-matcher.d.ts +40 -0
- package/dist/rules/sigma-matcher.d.ts.map +1 -0
- package/dist/rules/sigma-matcher.js +447 -0
- package/dist/rules/sigma-matcher.js.map +1 -0
- package/dist/rules/sigma-parser.d.ts +36 -0
- package/dist/rules/sigma-parser.d.ts.map +1 -0
- package/dist/rules/sigma-parser.js +180 -0
- package/dist/rules/sigma-parser.js.map +1 -0
- package/dist/rules/types.d.ts +112 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +11 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/yara-scanner.d.ts +103 -0
- package/dist/rules/yara-scanner.d.ts.map +1 -0
- package/dist/rules/yara-scanner.js +421 -0
- package/dist/rules/yara-scanner.js.map +1 -0
- package/dist/scoring/achievements.d.ts +76 -0
- package/dist/scoring/achievements.d.ts.map +1 -0
- package/dist/scoring/achievements.js +211 -0
- package/dist/scoring/achievements.js.map +1 -0
- package/dist/scoring/index.d.ts +3 -0
- package/dist/scoring/index.d.ts.map +1 -0
- package/dist/scoring/index.js +3 -0
- package/dist/scoring/index.js.map +1 -0
- package/dist/scoring/security-score.d.ts +60 -0
- package/dist/scoring/security-score.d.ts.map +1 -0
- package/dist/scoring/security-score.js +211 -0
- package/dist/scoring/security-score.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +38 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +71 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +56 -0
- package/dist/utils/validation.js.map +1 -0
- 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"}
|