@dimzxzzx07/file-watcher 1.0.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/.env +13 -0
- package/.eslintrc.json +128 -0
- package/.prettierrc +18 -0
- package/Dimzxzzx07.png +0 -0
- package/README.md +1024 -0
- package/dist/core/BackupManager.d.ts +25 -0
- package/dist/core/BackupManager.d.ts.map +1 -0
- package/dist/core/BackupManager.js +290 -0
- package/dist/core/BackupManager.js.map +1 -0
- package/dist/core/IntegrityValidator.d.ts +18 -0
- package/dist/core/IntegrityValidator.d.ts.map +1 -0
- package/dist/core/IntegrityValidator.js +212 -0
- package/dist/core/IntegrityValidator.js.map +1 -0
- package/dist/core/SecurityManager.d.ts +40 -0
- package/dist/core/SecurityManager.d.ts.map +1 -0
- package/dist/core/SecurityManager.js +320 -0
- package/dist/core/SecurityManager.js.map +1 -0
- package/dist/core/WatcherEngine.d.ts +44 -0
- package/dist/core/WatcherEngine.d.ts.map +1 -0
- package/dist/core/WatcherEngine.js +470 -0
- package/dist/core/WatcherEngine.js.map +1 -0
- package/dist/crypto/HashGenerator.d.ts +26 -0
- package/dist/crypto/HashGenerator.d.ts.map +1 -0
- package/dist/crypto/HashGenerator.js +220 -0
- package/dist/crypto/HashGenerator.js.map +1 -0
- package/dist/crypto/KeyManager.d.ts +30 -0
- package/dist/crypto/KeyManager.d.ts.map +1 -0
- package/dist/crypto/KeyManager.js +235 -0
- package/dist/crypto/KeyManager.js.map +1 -0
- package/dist/crypto/SignatureValidator.d.ts +11 -0
- package/dist/crypto/SignatureValidator.d.ts.map +1 -0
- package/dist/crypto/SignatureValidator.js +102 -0
- package/dist/crypto/SignatureValidator.js.map +1 -0
- package/dist/detectors/AnomalyDetector.d.ts +24 -0
- package/dist/detectors/AnomalyDetector.d.ts.map +1 -0
- package/dist/detectors/AnomalyDetector.js +209 -0
- package/dist/detectors/AnomalyDetector.js.map +1 -0
- package/dist/detectors/InjectionDetector.d.ts +14 -0
- package/dist/detectors/InjectionDetector.d.ts.map +1 -0
- package/dist/detectors/InjectionDetector.js +204 -0
- package/dist/detectors/InjectionDetector.js.map +1 -0
- package/dist/detectors/PatternMatcher.d.ts +28 -0
- package/dist/detectors/PatternMatcher.d.ts.map +1 -0
- package/dist/detectors/PatternMatcher.js +283 -0
- package/dist/detectors/PatternMatcher.js.map +1 -0
- package/dist/guards/FileGuard.d.ts +35 -0
- package/dist/guards/FileGuard.d.ts.map +1 -0
- package/dist/guards/FileGuard.js +357 -0
- package/dist/guards/FileGuard.js.map +1 -0
- package/dist/guards/MemoryGuard.d.ts +28 -0
- package/dist/guards/MemoryGuard.d.ts.map +1 -0
- package/dist/guards/MemoryGuard.js +256 -0
- package/dist/guards/MemoryGuard.js.map +1 -0
- package/dist/guards/ProcessGuard.d.ts +25 -0
- package/dist/guards/ProcessGuard.d.ts.map +1 -0
- package/dist/guards/ProcessGuard.js +221 -0
- package/dist/guards/ProcessGuard.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +186 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +69 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/Constants.d.ts +407 -0
- package/dist/utils/Constants.d.ts.map +1 -0
- package/dist/utils/Constants.js +505 -0
- package/dist/utils/Constants.js.map +1 -0
- package/dist/utils/Logger.d.ts +45 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +285 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/Validator.d.ts +27 -0
- package/dist/utils/Validator.d.ts.map +1 -0
- package/dist/utils/Validator.js +245 -0
- package/dist/utils/Validator.js.map +1 -0
- package/favicon.png +0 -0
- package/jest.config.js +69 -0
- package/package.json +69 -0
- package/src/core/BackupManager.ts +305 -0
- package/src/core/IntegrityValidator.ts +200 -0
- package/src/core/SecurityManager.ts +348 -0
- package/src/core/WatcherEngine.ts +537 -0
- package/src/crypto/HashGenerator.ts +234 -0
- package/src/crypto/KeyManager.ts +249 -0
- package/src/crypto/SignatureValidator.ts +76 -0
- package/src/detectors/AnomalyDetector.ts +247 -0
- package/src/detectors/InjectionDetector.ts +233 -0
- package/src/detectors/PatternMatcher.ts +319 -0
- package/src/guards/FileGuard.ts +385 -0
- package/src/guards/MemoryGuard.ts +263 -0
- package/src/guards/ProcessGuard.ts +219 -0
- package/src/index.ts +189 -0
- package/src/types/index.ts +72 -0
- package/src/utils/Constants.ts +532 -0
- package/src/utils/Logger.ts +279 -0
- package/src/utils/Validator.ts +248 -0
- package/tests/setup.ts +80 -0
- package/tsconfig.json +42 -0
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUCCESS_MESSAGES = exports.ERROR_MESSAGES = exports.ENV_VARS = exports.EXIT_CODES = exports.LOG_LEVELS = exports.EVENT_TYPES = exports.PATHS = exports.TIMEOUTS = exports.REGEX_PATTERNS = exports.ALLOWED_EXTENSIONS = exports.SUSPICIOUS_EXTENSIONS = exports.SUSPICIOUS_STRINGS = exports.MAGIC_BYTES = exports.MIME_TYPES = exports.DEFAULT_CONFIG = exports.ERROR_CODES = exports.INTEGRITY_CHECKS = exports.QUARANTINE_ACTIONS = exports.SCAN_MODES = exports.BACKUP_MODES = exports.KEY_TYPES = exports.ENCRYPTION_ALGORITHMS = exports.MONITORING_MODES = exports.SEVERITY_LEVELS = exports.PATTERN_TYPES = exports.FILE_CATEGORIES = exports.ACTION_TYPES = exports.VIOLATION_TYPES = exports.ALERT_THRESHOLDS = exports.HASH_ALGORITHMS = exports.SECURITY_LEVELS = exports.VERSION = void 0;
|
|
4
|
+
exports.VERSION = '2.0.0';
|
|
5
|
+
exports.SECURITY_LEVELS = {
|
|
6
|
+
BASIC: 'basic',
|
|
7
|
+
ADVANCED: 'advanced',
|
|
8
|
+
PARANOID: 'paranoid'
|
|
9
|
+
};
|
|
10
|
+
exports.HASH_ALGORITHMS = {
|
|
11
|
+
SHA256: 'sha256',
|
|
12
|
+
SHA384: 'sha384',
|
|
13
|
+
SHA512: 'sha512',
|
|
14
|
+
BLAKE2B: 'blake2b512'
|
|
15
|
+
};
|
|
16
|
+
exports.ALERT_THRESHOLDS = {
|
|
17
|
+
LOW: 'low',
|
|
18
|
+
MEDIUM: 'medium',
|
|
19
|
+
HIGH: 'high',
|
|
20
|
+
CRITICAL: 'critical'
|
|
21
|
+
};
|
|
22
|
+
exports.VIOLATION_TYPES = {
|
|
23
|
+
HASH_MISMATCH: 'hash_mismatch',
|
|
24
|
+
SIGNATURE_INVALID: 'signature_invalid',
|
|
25
|
+
INJECTION_DETECTED: 'injection_detected',
|
|
26
|
+
PERMISSION_CHANGED: 'permission_changed',
|
|
27
|
+
METADATA_MODIFIED: 'metadata_modified',
|
|
28
|
+
QUARANTINE_TRIGGERED: 'quarantine_triggered',
|
|
29
|
+
SELF_MODIFICATION: 'self_modification',
|
|
30
|
+
MEMORY_TAMPER: 'memory_tamper',
|
|
31
|
+
PROCESS_HIJACK: 'process_hijack',
|
|
32
|
+
UNEXPECTED_FILE: 'unexpected_file',
|
|
33
|
+
BACKUP_CORRUPT: 'backup_corrupt',
|
|
34
|
+
ENCRYPTION_FAILED: 'encryption_failed',
|
|
35
|
+
DECRYPTION_FAILED: 'decryption_failed',
|
|
36
|
+
KEY_COMPROMISED: 'key_compromised',
|
|
37
|
+
INTEGRITY_CHECK_FAILED: 'integrity_check_failed',
|
|
38
|
+
QUARANTINE_VIOLATION: 'quarantine_violation',
|
|
39
|
+
ROLLBACK_FAILED: 'rollback_failed',
|
|
40
|
+
WATCHER_STOPPED: 'watcher_stopped',
|
|
41
|
+
CONFIG_MODIFIED: 'config_modified'
|
|
42
|
+
};
|
|
43
|
+
exports.ACTION_TYPES = {
|
|
44
|
+
ROLLBACK: 'rollback',
|
|
45
|
+
QUARANTINE: 'quarantine',
|
|
46
|
+
DELETE: 'delete',
|
|
47
|
+
ALERT: 'alert',
|
|
48
|
+
TERMINATE: 'terminate',
|
|
49
|
+
IGNORE: 'ignore',
|
|
50
|
+
RESTORE: 'restore',
|
|
51
|
+
ENCRYPT: 'encrypt',
|
|
52
|
+
DECRYPT: 'decrypt',
|
|
53
|
+
LOCK: 'lock',
|
|
54
|
+
UNLOCK: 'unlock',
|
|
55
|
+
BACKUP: 'backup',
|
|
56
|
+
SCAN: 'scan'
|
|
57
|
+
};
|
|
58
|
+
exports.FILE_CATEGORIES = {
|
|
59
|
+
EXECUTABLE: 'executable',
|
|
60
|
+
SCRIPT: 'script',
|
|
61
|
+
CONFIG: 'config',
|
|
62
|
+
DATA: 'data',
|
|
63
|
+
LOG: 'log',
|
|
64
|
+
TEMP: 'temp',
|
|
65
|
+
BACKUP: 'backup',
|
|
66
|
+
SYSTEM: 'system',
|
|
67
|
+
ENCRYPTED: 'encrypted',
|
|
68
|
+
QUARANTINED: 'quarantined',
|
|
69
|
+
ARCHIVE: 'archive',
|
|
70
|
+
DATABASE: 'database',
|
|
71
|
+
CACHE: 'cache',
|
|
72
|
+
LOCK: 'lock',
|
|
73
|
+
PID: 'pid',
|
|
74
|
+
SOCKET: 'socket',
|
|
75
|
+
PIPE: 'pipe',
|
|
76
|
+
DEVICE: 'device'
|
|
77
|
+
};
|
|
78
|
+
exports.PATTERN_TYPES = {
|
|
79
|
+
INJECTION: 'injection',
|
|
80
|
+
OBFUSCATION: 'obfuscation',
|
|
81
|
+
BACKDOOR: 'backdoor',
|
|
82
|
+
MALWARE: 'malware',
|
|
83
|
+
ANTI_DEBUG: 'anti_debug',
|
|
84
|
+
SELF_MODIFY: 'self_modify',
|
|
85
|
+
ENCODED: 'encoded',
|
|
86
|
+
MINIFIED: 'minified',
|
|
87
|
+
COMPRESSED: 'compressed',
|
|
88
|
+
ENCRYPTED: 'encrypted',
|
|
89
|
+
SHELLCODE: 'shellcode',
|
|
90
|
+
ROOTKIT: 'rootkit',
|
|
91
|
+
KEYLOGGER: 'keylogger',
|
|
92
|
+
RANSOMWARE: 'ransomware',
|
|
93
|
+
MINER: 'miner',
|
|
94
|
+
SPYWARE: 'spyware',
|
|
95
|
+
TROJAN: 'trojan',
|
|
96
|
+
WORM: 'worm',
|
|
97
|
+
VIRUS: 'virus'
|
|
98
|
+
};
|
|
99
|
+
exports.SEVERITY_LEVELS = {
|
|
100
|
+
INFO: 'info',
|
|
101
|
+
LOW: 'low',
|
|
102
|
+
MEDIUM: 'medium',
|
|
103
|
+
HIGH: 'high',
|
|
104
|
+
CRITICAL: 'critical',
|
|
105
|
+
EMERGENCY: 'emergency'
|
|
106
|
+
};
|
|
107
|
+
exports.MONITORING_MODES = {
|
|
108
|
+
REALTIME: 'realtime',
|
|
109
|
+
POLLING: 'polling',
|
|
110
|
+
HYBRID: 'hybrid',
|
|
111
|
+
PASSIVE: 'passive'
|
|
112
|
+
};
|
|
113
|
+
exports.ENCRYPTION_ALGORITHMS = {
|
|
114
|
+
AES_256_GCM: 'aes-256-gcm',
|
|
115
|
+
AES_256_CBC: 'aes-256-cbc',
|
|
116
|
+
CHACHA20: 'chacha20',
|
|
117
|
+
RSA_2048: 'rsa-2048',
|
|
118
|
+
RSA_4096: 'rsa-4096',
|
|
119
|
+
ECDSA: 'ecdsa',
|
|
120
|
+
ED25519: 'ed25519'
|
|
121
|
+
};
|
|
122
|
+
exports.KEY_TYPES = {
|
|
123
|
+
MASTER: 'master',
|
|
124
|
+
SESSION: 'session',
|
|
125
|
+
EPHEMERAL: 'ephemeral',
|
|
126
|
+
LONG_TERM: 'long_term',
|
|
127
|
+
BACKUP: 'backup',
|
|
128
|
+
RECOVERY: 'recovery'
|
|
129
|
+
};
|
|
130
|
+
exports.BACKUP_MODES = {
|
|
131
|
+
FULL: 'full',
|
|
132
|
+
INCREMENTAL: 'incremental',
|
|
133
|
+
DIFFERENTIAL: 'differential',
|
|
134
|
+
MIRROR: 'mirror'
|
|
135
|
+
};
|
|
136
|
+
exports.SCAN_MODES = {
|
|
137
|
+
QUICK: 'quick',
|
|
138
|
+
DEEP: 'deep',
|
|
139
|
+
HEURISTIC: 'heuristic',
|
|
140
|
+
SIGNATURE: 'signature',
|
|
141
|
+
BEHAVIORAL: 'behavioral',
|
|
142
|
+
MEMORY: 'memory',
|
|
143
|
+
FILESYSTEM: 'filesystem',
|
|
144
|
+
NETWORK: 'network'
|
|
145
|
+
};
|
|
146
|
+
exports.QUARANTINE_ACTIONS = {
|
|
147
|
+
ISOLATE: 'isolate',
|
|
148
|
+
ENCRYPT: 'encrypt',
|
|
149
|
+
DELETE: 'delete',
|
|
150
|
+
ANALYZE: 'analyze',
|
|
151
|
+
REPORT: 'report'
|
|
152
|
+
};
|
|
153
|
+
exports.INTEGRITY_CHECKS = {
|
|
154
|
+
HASH: 'hash',
|
|
155
|
+
SIGNATURE: 'signature',
|
|
156
|
+
METADATA: 'metadata',
|
|
157
|
+
PERMISSION: 'permission',
|
|
158
|
+
CONTENT: 'content',
|
|
159
|
+
STRUCTURE: 'structure',
|
|
160
|
+
ENTROPY: 'entropy',
|
|
161
|
+
TIMESTAMP: 'timestamp',
|
|
162
|
+
SIZE: 'size'
|
|
163
|
+
};
|
|
164
|
+
exports.ERROR_CODES = {
|
|
165
|
+
FILE_NOT_FOUND: 1000,
|
|
166
|
+
PERMISSION_DENIED: 1001,
|
|
167
|
+
FILE_TOO_LARGE: 1002,
|
|
168
|
+
INVALID_PATH: 1003,
|
|
169
|
+
FILE_LOCKED: 1004,
|
|
170
|
+
QUARANTINE_FAILED: 1005,
|
|
171
|
+
BACKUP_FAILED: 1006,
|
|
172
|
+
RESTORE_FAILED: 1007,
|
|
173
|
+
INTEGRITY_VIOLATION: 2000,
|
|
174
|
+
INJECTION_DETECTED: 2001,
|
|
175
|
+
MALWARE_DETECTED: 2002,
|
|
176
|
+
UNAUTHORIZED_ACCESS: 2003,
|
|
177
|
+
TAMPER_DETECTED: 2004,
|
|
178
|
+
DEBUGGER_DETECTED: 2005,
|
|
179
|
+
MEMORY_CORRUPTION: 2006,
|
|
180
|
+
PROCESS_HIJACK: 2007,
|
|
181
|
+
HASH_MISMATCH: 3000,
|
|
182
|
+
SIGNATURE_INVALID: 3001,
|
|
183
|
+
ENCRYPTION_FAILED: 3002,
|
|
184
|
+
DECRYPTION_FAILED: 3003,
|
|
185
|
+
KEY_NOT_FOUND: 3004,
|
|
186
|
+
KEY_EXPIRED: 3005,
|
|
187
|
+
KEY_REVOKED: 3006,
|
|
188
|
+
INVALID_CONFIG: 4000,
|
|
189
|
+
MISSING_CONFIG: 4001,
|
|
190
|
+
CONFIG_MODIFIED: 4002,
|
|
191
|
+
WATCHER_FAILED: 5000,
|
|
192
|
+
SCAN_FAILED: 5001,
|
|
193
|
+
VALIDATION_FAILED: 5002,
|
|
194
|
+
TIMEOUT: 5003,
|
|
195
|
+
OUT_OF_MEMORY: 5004
|
|
196
|
+
};
|
|
197
|
+
exports.DEFAULT_CONFIG = {
|
|
198
|
+
HASH_ALGORITHM: 'sha512',
|
|
199
|
+
MAX_FILE_SIZE: 10 * 1024 * 1024,
|
|
200
|
+
SCAN_INTERVAL: 60,
|
|
201
|
+
REALTIME_MONITORING: true,
|
|
202
|
+
AUTO_ROLLBACK: true,
|
|
203
|
+
QUARANTINE_ENABLED: true,
|
|
204
|
+
SIGNATURE_VERIFICATION: false,
|
|
205
|
+
INTEGRITY_LEVEL: 'advanced',
|
|
206
|
+
ALERT_THRESHOLD: 'medium',
|
|
207
|
+
ALLOWED_EXTENSIONS: ['.js', '.ts', '.json', '.txt', '.md', '.yml', '.yaml', '.xml', '.html', '.css'],
|
|
208
|
+
BACKUP_RETENTION_DAYS: 30,
|
|
209
|
+
MAX_BACKUPS_PER_FILE: 10,
|
|
210
|
+
QUARANTINE_RETENTION_DAYS: 90,
|
|
211
|
+
LOG_RETENTION_DAYS: 30,
|
|
212
|
+
MAX_LOG_SIZE: 10 * 1024 * 1024,
|
|
213
|
+
ENABLE_MEMORY_GUARD: true,
|
|
214
|
+
ENABLE_PROCESS_GUARD: true,
|
|
215
|
+
ENABLE_FILE_GUARD: true,
|
|
216
|
+
DEBUG_MODE: false
|
|
217
|
+
};
|
|
218
|
+
exports.MIME_TYPES = {
|
|
219
|
+
PLAIN: 'text/plain',
|
|
220
|
+
HTML: 'text/html',
|
|
221
|
+
CSS: 'text/css',
|
|
222
|
+
JAVASCRIPT: 'application/javascript',
|
|
223
|
+
TYPESCRIPT: 'application/typescript',
|
|
224
|
+
JSON: 'application/json',
|
|
225
|
+
XML: 'application/xml',
|
|
226
|
+
YAML: 'application/x-yaml',
|
|
227
|
+
MARKDOWN: 'text/markdown',
|
|
228
|
+
JPEG: 'image/jpeg',
|
|
229
|
+
PNG: 'image/png',
|
|
230
|
+
GIF: 'image/gif',
|
|
231
|
+
WEBP: 'image/webp',
|
|
232
|
+
SVG: 'image/svg+xml',
|
|
233
|
+
ICO: 'image/x-icon',
|
|
234
|
+
PDF: 'application/pdf',
|
|
235
|
+
DOC: 'application/msword',
|
|
236
|
+
DOCX: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
237
|
+
XLS: 'application/vnd.ms-excel',
|
|
238
|
+
XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
239
|
+
ZIP: 'application/zip',
|
|
240
|
+
GZIP: 'application/gzip',
|
|
241
|
+
TAR: 'application/x-tar',
|
|
242
|
+
RAR: 'application/vnd.rar',
|
|
243
|
+
_7Z: 'application/x-7z-compressed',
|
|
244
|
+
EXE: 'application/vnd.microsoft.portable-executable',
|
|
245
|
+
DLL: 'application/x-msdownload',
|
|
246
|
+
SO: 'application/x-sharedlib',
|
|
247
|
+
DMG: 'application/x-apple-diskimage',
|
|
248
|
+
DEB: 'application/vnd.debian.binary-package',
|
|
249
|
+
RPM: 'application/x-rpm',
|
|
250
|
+
MP3: 'audio/mpeg',
|
|
251
|
+
MP4: 'video/mp4',
|
|
252
|
+
WAV: 'audio/wav',
|
|
253
|
+
OGG: 'audio/ogg',
|
|
254
|
+
WEBM: 'video/webm',
|
|
255
|
+
TTF: 'font/ttf',
|
|
256
|
+
OTF: 'font/otf',
|
|
257
|
+
WOFF: 'font/woff',
|
|
258
|
+
WOFF2: 'font/woff2'
|
|
259
|
+
};
|
|
260
|
+
exports.MAGIC_BYTES = {
|
|
261
|
+
JPEG: 'ffd8ffe0',
|
|
262
|
+
PNG: '89504e47',
|
|
263
|
+
GIF: '47494638',
|
|
264
|
+
WEBP: '52494646',
|
|
265
|
+
BMP: '424d',
|
|
266
|
+
ICO: '00000100',
|
|
267
|
+
PDF: '25504446',
|
|
268
|
+
DOC: 'd0cf11e0',
|
|
269
|
+
XLS: 'd0cf11e0',
|
|
270
|
+
ZIP: '504b0304',
|
|
271
|
+
GZIP: '1f8b08',
|
|
272
|
+
TAR: '7573746172',
|
|
273
|
+
RAR: '52617221',
|
|
274
|
+
_7Z: '377abcaf',
|
|
275
|
+
ELF: '7f454c46',
|
|
276
|
+
PE: '4d5a',
|
|
277
|
+
MACHO: 'cafebabe',
|
|
278
|
+
MACHO_64: 'cffaedfe',
|
|
279
|
+
CLASS: 'cafebabe',
|
|
280
|
+
JAR: '504b0304',
|
|
281
|
+
SQLITE: '53514c697465',
|
|
282
|
+
JSON: '7b0a',
|
|
283
|
+
XML: '3c3f786d6c',
|
|
284
|
+
HTML: '3c68746d6c',
|
|
285
|
+
SVG: '3c737667'
|
|
286
|
+
};
|
|
287
|
+
exports.SUSPICIOUS_STRINGS = [
|
|
288
|
+
'eval(',
|
|
289
|
+
'Function(',
|
|
290
|
+
'setTimeout(',
|
|
291
|
+
'setInterval(',
|
|
292
|
+
'new Function(',
|
|
293
|
+
'require(',
|
|
294
|
+
'process.binding',
|
|
295
|
+
'process.dlopen',
|
|
296
|
+
'child_process',
|
|
297
|
+
'exec(',
|
|
298
|
+
'spawn(',
|
|
299
|
+
'fork(',
|
|
300
|
+
'vm.runIn',
|
|
301
|
+
'vm.create',
|
|
302
|
+
'String.fromCharCode',
|
|
303
|
+
'unescape(',
|
|
304
|
+
'escape(',
|
|
305
|
+
'decodeURI(',
|
|
306
|
+
'decodeURIComponent(',
|
|
307
|
+
'atob(',
|
|
308
|
+
'btoa(',
|
|
309
|
+
'Buffer.from(',
|
|
310
|
+
'new Buffer(',
|
|
311
|
+
'__defineGetter__',
|
|
312
|
+
'__defineSetter__',
|
|
313
|
+
'__lookupGetter__',
|
|
314
|
+
'__lookupSetter__',
|
|
315
|
+
'Object.defineProperty',
|
|
316
|
+
'Object.defineProperties',
|
|
317
|
+
'Reflect.set',
|
|
318
|
+
'Reflect.defineProperty',
|
|
319
|
+
'Proxy(',
|
|
320
|
+
'WeakMap',
|
|
321
|
+
'WeakSet',
|
|
322
|
+
'FinalizationRegistry',
|
|
323
|
+
'WebAssembly',
|
|
324
|
+
'SharedArrayBuffer',
|
|
325
|
+
'Atomics.',
|
|
326
|
+
'globalThis',
|
|
327
|
+
'this.constructor',
|
|
328
|
+
'__proto__',
|
|
329
|
+
'Object.setPrototypeOf',
|
|
330
|
+
'module.constructor',
|
|
331
|
+
'require.cache',
|
|
332
|
+
'module.children'
|
|
333
|
+
];
|
|
334
|
+
exports.SUSPICIOUS_EXTENSIONS = [
|
|
335
|
+
'.exe', '.dll', '.so', '.dylib', '.bin',
|
|
336
|
+
'.sh', '.bash', '.zsh', '.fish', '.ps1',
|
|
337
|
+
'.bat', '.cmd', '.vbs', '.js', '.jse',
|
|
338
|
+
'.vbe', '.wsf', '.wsc', '.wsh', '.msi',
|
|
339
|
+
'.msp', '.mst', '.app', '.deb', '.rpm',
|
|
340
|
+
'.apk', '.ipa', '.dmg', '.pkg', '.jar',
|
|
341
|
+
'.class', '.py', '.pyc', '.pyo', '.rb',
|
|
342
|
+
'.rbw', '.php', '.php3', '.php4', '.php5',
|
|
343
|
+
'.phtml', '.asp', '.aspx', '.cer', '.cfm',
|
|
344
|
+
'.jsp', '.jspx', '.pl', '.pm', '.cgi',
|
|
345
|
+
'.swf', '.flv', '.com', '.scr', '.cpl'
|
|
346
|
+
];
|
|
347
|
+
exports.ALLOWED_EXTENSIONS = [
|
|
348
|
+
'.txt', '.md', '.json', '.xml', '.yaml', '.yml',
|
|
349
|
+
'.html', '.htm', '.css', '.js', '.ts', '.jsx',
|
|
350
|
+
'.tsx', '.vue', '.svelte', '.php', '.py', '.rb',
|
|
351
|
+
'.java', '.c', '.cpp', '.h', '.hpp', '.cs',
|
|
352
|
+
'.go', '.rs', '.swift', '.kt', '.scala',
|
|
353
|
+
'.pdf', '.doc', '.docx', '.xls', '.xlsx',
|
|
354
|
+
'.ppt', '.pptx', '.jpg', '.jpeg', '.png',
|
|
355
|
+
'.gif', '.bmp', '.ico', '.svg', '.webp',
|
|
356
|
+
'.mp3', '.mp4', '.wav', '.ogg', '.flac',
|
|
357
|
+
'.zip', '.tar', '.gz', '.bz2', '.7z', '.rar'
|
|
358
|
+
];
|
|
359
|
+
exports.REGEX_PATTERNS = {
|
|
360
|
+
EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
|
|
361
|
+
URL: /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/,
|
|
362
|
+
IPV4: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
|
363
|
+
IPV6: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,
|
|
364
|
+
UUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,
|
|
365
|
+
HEX: /^[0-9a-fA-F]+$/,
|
|
366
|
+
BASE64: /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/,
|
|
367
|
+
PATH_TRAVERSAL: /(?:\.\.\/|\.\.\\)+/,
|
|
368
|
+
NULL_BYTE: /\0/,
|
|
369
|
+
CONTROL_CHARS: /[\x00-\x1F\x7F]/,
|
|
370
|
+
ZERO_WIDTH: /[\u200B-\u200D\uFEFF]/,
|
|
371
|
+
HIDDEN_FILE: /^\.[^.]+/,
|
|
372
|
+
DOUBLE_EXTENSION: /\.[^.]+\.[^.]+$/,
|
|
373
|
+
TEMP_FILE: /\.(tmp|temp|swp|bak|backup)$/i,
|
|
374
|
+
LOCK_FILE: /\.(lock|pid)$/i
|
|
375
|
+
};
|
|
376
|
+
exports.TIMEOUTS = {
|
|
377
|
+
WATCHER_START: 5000,
|
|
378
|
+
FILE_SCAN: 10000,
|
|
379
|
+
BACKUP_CREATE: 5000,
|
|
380
|
+
BACKUP_RESTORE: 5000,
|
|
381
|
+
ENCRYPTION: 3000,
|
|
382
|
+
DECRYPTION: 3000,
|
|
383
|
+
INTEGRITY_CHECK: 2000,
|
|
384
|
+
MEMORY_SCAN: 1000,
|
|
385
|
+
PROCESS_SCAN: 2000,
|
|
386
|
+
NETWORK_SCAN: 5000,
|
|
387
|
+
QUARANTINE: 3000,
|
|
388
|
+
ROLLBACK: 5000,
|
|
389
|
+
SHUTDOWN: 10000
|
|
390
|
+
};
|
|
391
|
+
exports.PATHS = {
|
|
392
|
+
BACKUP_DIR: '.secure_backup',
|
|
393
|
+
QUARANTINE_DIR: '.secure_quarantine',
|
|
394
|
+
LOGS_DIR: 'logs',
|
|
395
|
+
KEYS_DIR: '.keys',
|
|
396
|
+
CACHE_DIR: '.cache',
|
|
397
|
+
TEMP_DIR: '.tmp',
|
|
398
|
+
CONFIG_DIR: '.config',
|
|
399
|
+
REPORTS_DIR: 'reports'
|
|
400
|
+
};
|
|
401
|
+
exports.EVENT_TYPES = {
|
|
402
|
+
FILE_ADDED: 'file:added',
|
|
403
|
+
FILE_CHANGED: 'file:changed',
|
|
404
|
+
FILE_DELETED: 'file:deleted',
|
|
405
|
+
FILE_RESTORED: 'file:restored',
|
|
406
|
+
FILE_QUARANTINED: 'file:quarantined',
|
|
407
|
+
FILE_SCANNED: 'file:scanned',
|
|
408
|
+
SECURITY_ALERT: 'security:alert',
|
|
409
|
+
SECURITY_CRITICAL: 'security:critical',
|
|
410
|
+
SECURITY_VIOLATION: 'security:violation',
|
|
411
|
+
SECURITY_BREACH: 'security:breach',
|
|
412
|
+
INTEGRITY_CHECK: 'integrity:check',
|
|
413
|
+
INTEGRITY_PASS: 'integrity:pass',
|
|
414
|
+
INTEGRITY_FAIL: 'integrity:fail',
|
|
415
|
+
INTEGRITY_VIOLATION: 'integrity:violation',
|
|
416
|
+
SYSTEM_START: 'system:start',
|
|
417
|
+
SYSTEM_STOP: 'system:stop',
|
|
418
|
+
SYSTEM_ERROR: 'system:error',
|
|
419
|
+
SYSTEM_WARNING: 'system:warning',
|
|
420
|
+
SYSTEM_INFO: 'system:info',
|
|
421
|
+
WATCHER_START: 'watcher:start',
|
|
422
|
+
WATCHER_STOP: 'watcher:stop',
|
|
423
|
+
WATCHER_ERROR: 'watcher:error',
|
|
424
|
+
WATCHER_READY: 'watcher:ready',
|
|
425
|
+
BACKUP_CREATED: 'backup:created',
|
|
426
|
+
BACKUP_RESTORED: 'backup:restored',
|
|
427
|
+
BACKUP_FAILED: 'backup:failed',
|
|
428
|
+
BACKUP_VERIFIED: 'backup:verified',
|
|
429
|
+
SCAN_START: 'scan:start',
|
|
430
|
+
SCAN_COMPLETE: 'scan:complete',
|
|
431
|
+
SCAN_ERROR: 'scan:error',
|
|
432
|
+
SCAN_PROGRESS: 'scan:progress'
|
|
433
|
+
};
|
|
434
|
+
exports.LOG_LEVELS = {
|
|
435
|
+
DEBUG: 0,
|
|
436
|
+
INFO: 1,
|
|
437
|
+
WARNING: 2,
|
|
438
|
+
ERROR: 3,
|
|
439
|
+
CRITICAL: 4,
|
|
440
|
+
EMERGENCY: 5
|
|
441
|
+
};
|
|
442
|
+
exports.EXIT_CODES = {
|
|
443
|
+
SUCCESS: 0,
|
|
444
|
+
GENERAL_ERROR: 1,
|
|
445
|
+
INVALID_CONFIG: 2,
|
|
446
|
+
PERMISSION_DENIED: 3,
|
|
447
|
+
SECURITY_VIOLATION: 4,
|
|
448
|
+
MEMORY_ERROR: 5,
|
|
449
|
+
DISK_ERROR: 6,
|
|
450
|
+
NETWORK_ERROR: 7,
|
|
451
|
+
TIMEOUT: 8,
|
|
452
|
+
USER_INTERRUPT: 9,
|
|
453
|
+
FATAL_ERROR: 10
|
|
454
|
+
};
|
|
455
|
+
exports.ENV_VARS = {
|
|
456
|
+
NODE_ENV: 'NODE_ENV',
|
|
457
|
+
WATCH_DIR: 'WATCH_DIR',
|
|
458
|
+
HASH_ALGORITHM: 'HASH_ALGORITHM',
|
|
459
|
+
INTEGRITY_LEVEL: 'INTEGRITY_LEVEL',
|
|
460
|
+
AUTO_ROLLBACK: 'AUTO_ROLLBACK',
|
|
461
|
+
SCAN_INTERVAL: 'SCAN_INTERVAL',
|
|
462
|
+
MAX_FILE_SIZE: 'MAX_FILE_SIZE',
|
|
463
|
+
ALLOWED_EXTENSIONS: 'ALLOWED_EXTENSIONS',
|
|
464
|
+
QUARANTINE_ENABLED: 'QUARANTINE_ENABLED',
|
|
465
|
+
SIGNATURE_VERIFICATION: 'SIGNATURE_VERIFICATION',
|
|
466
|
+
ALERT_THRESHOLD: 'ALERT_THRESHOLD',
|
|
467
|
+
DEBUG_MODE: 'DEBUG_MODE',
|
|
468
|
+
LOG_LEVEL: 'LOG_LEVEL'
|
|
469
|
+
};
|
|
470
|
+
exports.ERROR_MESSAGES = {
|
|
471
|
+
FILE_NOT_FOUND: 'File not found',
|
|
472
|
+
PERMISSION_DENIED: 'Permission denied',
|
|
473
|
+
INVALID_PATH: 'Invalid file path',
|
|
474
|
+
FILE_TOO_LARGE: 'File exceeds maximum size',
|
|
475
|
+
INTEGRITY_VIOLATION: 'File integrity violation detected',
|
|
476
|
+
INJECTION_DETECTED: 'Code injection detected',
|
|
477
|
+
MALWARE_DETECTED: 'Malware detected',
|
|
478
|
+
BACKUP_FAILED: 'Backup operation failed',
|
|
479
|
+
RESTORE_FAILED: 'Restore operation failed',
|
|
480
|
+
ENCRYPTION_FAILED: 'Encryption failed',
|
|
481
|
+
DECRYPTION_FAILED: 'Decryption failed',
|
|
482
|
+
KEY_NOT_FOUND: 'Encryption key not found',
|
|
483
|
+
INVALID_CONFIG: 'Invalid configuration',
|
|
484
|
+
WATCHER_FAILED: 'File watcher failed to start',
|
|
485
|
+
SCAN_FAILED: 'Security scan failed',
|
|
486
|
+
MEMORY_CORRUPTION: 'Memory corruption detected',
|
|
487
|
+
PROCESS_HIJACK: 'Process hijacking attempt detected',
|
|
488
|
+
DEBUGGER_DETECTED: 'Debugger detected',
|
|
489
|
+
QUARANTINE_FAILED: 'Failed to quarantine file',
|
|
490
|
+
ROLLBACK_FAILED: 'Failed to rollback file',
|
|
491
|
+
UNKNOWN_ERROR: 'An unknown error occurred'
|
|
492
|
+
};
|
|
493
|
+
exports.SUCCESS_MESSAGES = {
|
|
494
|
+
WATCHER_STARTED: 'File watcher started successfully',
|
|
495
|
+
WATCHER_STOPPED: 'File watcher stopped successfully',
|
|
496
|
+
FILE_PROTECTED: 'File protected successfully',
|
|
497
|
+
FILE_RESTORED: 'File restored successfully',
|
|
498
|
+
BACKUP_CREATED: 'Backup created successfully',
|
|
499
|
+
SCAN_COMPLETE: 'Security scan completed',
|
|
500
|
+
INTEGRITY_PASS: 'Integrity check passed',
|
|
501
|
+
QUARANTINE_SUCCESS: 'File quarantined successfully',
|
|
502
|
+
ENCRYPTION_SUCCESS: 'File encrypted successfully',
|
|
503
|
+
DECRYPTION_SUCCESS: 'File decrypted successfully'
|
|
504
|
+
};
|
|
505
|
+
//# sourceMappingURL=Constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/utils/Constants.ts"],"names":[],"mappings":"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","sourcesContent":["export const VERSION = '2.0.0';\n\nexport const SECURITY_LEVELS = {\n BASIC: 'basic',\n ADVANCED: 'advanced',\n PARANOID: 'paranoid'\n} as const;\n\nexport const HASH_ALGORITHMS = {\n SHA256: 'sha256',\n SHA384: 'sha384',\n SHA512: 'sha512',\n BLAKE2B: 'blake2b512'\n} as const;\n\nexport const ALERT_THRESHOLDS = {\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n CRITICAL: 'critical'\n} as const;\n\nexport const VIOLATION_TYPES = {\n HASH_MISMATCH: 'hash_mismatch',\n SIGNATURE_INVALID: 'signature_invalid',\n INJECTION_DETECTED: 'injection_detected',\n PERMISSION_CHANGED: 'permission_changed',\n METADATA_MODIFIED: 'metadata_modified',\n QUARANTINE_TRIGGERED: 'quarantine_triggered',\n SELF_MODIFICATION: 'self_modification',\n MEMORY_TAMPER: 'memory_tamper',\n PROCESS_HIJACK: 'process_hijack',\n UNEXPECTED_FILE: 'unexpected_file',\n BACKUP_CORRUPT: 'backup_corrupt',\n ENCRYPTION_FAILED: 'encryption_failed',\n DECRYPTION_FAILED: 'decryption_failed',\n KEY_COMPROMISED: 'key_compromised',\n INTEGRITY_CHECK_FAILED: 'integrity_check_failed',\n QUARANTINE_VIOLATION: 'quarantine_violation',\n ROLLBACK_FAILED: 'rollback_failed',\n WATCHER_STOPPED: 'watcher_stopped',\n CONFIG_MODIFIED: 'config_modified'\n} as const;\n\nexport const ACTION_TYPES = {\n ROLLBACK: 'rollback',\n QUARANTINE: 'quarantine',\n DELETE: 'delete',\n ALERT: 'alert',\n TERMINATE: 'terminate',\n IGNORE: 'ignore',\n RESTORE: 'restore',\n ENCRYPT: 'encrypt',\n DECRYPT: 'decrypt',\n LOCK: 'lock',\n UNLOCK: 'unlock',\n BACKUP: 'backup',\n SCAN: 'scan'\n} as const;\n\nexport const FILE_CATEGORIES = {\n EXECUTABLE: 'executable',\n SCRIPT: 'script',\n CONFIG: 'config',\n DATA: 'data',\n LOG: 'log',\n TEMP: 'temp',\n BACKUP: 'backup',\n SYSTEM: 'system',\n ENCRYPTED: 'encrypted',\n QUARANTINED: 'quarantined',\n ARCHIVE: 'archive',\n DATABASE: 'database',\n CACHE: 'cache',\n LOCK: 'lock',\n PID: 'pid',\n SOCKET: 'socket',\n PIPE: 'pipe',\n DEVICE: 'device'\n} as const;\n\nexport const PATTERN_TYPES = {\n INJECTION: 'injection',\n OBFUSCATION: 'obfuscation',\n BACKDOOR: 'backdoor',\n MALWARE: 'malware',\n ANTI_DEBUG: 'anti_debug',\n SELF_MODIFY: 'self_modify',\n ENCODED: 'encoded',\n MINIFIED: 'minified',\n COMPRESSED: 'compressed',\n ENCRYPTED: 'encrypted',\n SHELLCODE: 'shellcode',\n ROOTKIT: 'rootkit',\n KEYLOGGER: 'keylogger',\n RANSOMWARE: 'ransomware',\n MINER: 'miner',\n SPYWARE: 'spyware',\n TROJAN: 'trojan',\n WORM: 'worm',\n VIRUS: 'virus'\n} as const;\n\nexport const SEVERITY_LEVELS = {\n INFO: 'info',\n LOW: 'low',\n MEDIUM: 'medium',\n HIGH: 'high',\n CRITICAL: 'critical',\n EMERGENCY: 'emergency'\n} as const;\n\nexport const MONITORING_MODES = {\n REALTIME: 'realtime',\n POLLING: 'polling',\n HYBRID: 'hybrid',\n PASSIVE: 'passive'\n} as const;\n\nexport const ENCRYPTION_ALGORITHMS = {\n AES_256_GCM: 'aes-256-gcm',\n AES_256_CBC: 'aes-256-cbc',\n CHACHA20: 'chacha20',\n RSA_2048: 'rsa-2048',\n RSA_4096: 'rsa-4096',\n ECDSA: 'ecdsa',\n ED25519: 'ed25519'\n} as const;\n\nexport const KEY_TYPES = {\n MASTER: 'master',\n SESSION: 'session',\n EPHEMERAL: 'ephemeral',\n LONG_TERM: 'long_term',\n BACKUP: 'backup',\n RECOVERY: 'recovery'\n} as const;\n\nexport const BACKUP_MODES = {\n FULL: 'full',\n INCREMENTAL: 'incremental',\n DIFFERENTIAL: 'differential',\n MIRROR: 'mirror'\n} as const;\n\nexport const SCAN_MODES = {\n QUICK: 'quick',\n DEEP: 'deep',\n HEURISTIC: 'heuristic',\n SIGNATURE: 'signature',\n BEHAVIORAL: 'behavioral',\n MEMORY: 'memory',\n FILESYSTEM: 'filesystem',\n NETWORK: 'network'\n} as const;\n\nexport const QUARANTINE_ACTIONS = {\n ISOLATE: 'isolate',\n ENCRYPT: 'encrypt',\n DELETE: 'delete',\n ANALYZE: 'analyze',\n REPORT: 'report'\n} as const;\n\nexport const INTEGRITY_CHECKS = {\n HASH: 'hash',\n SIGNATURE: 'signature',\n METADATA: 'metadata',\n PERMISSION: 'permission',\n CONTENT: 'content',\n STRUCTURE: 'structure',\n ENTROPY: 'entropy',\n TIMESTAMP: 'timestamp',\n SIZE: 'size'\n} as const;\n\nexport const ERROR_CODES = {\n FILE_NOT_FOUND: 1000,\n PERMISSION_DENIED: 1001,\n FILE_TOO_LARGE: 1002,\n INVALID_PATH: 1003,\n FILE_LOCKED: 1004,\n QUARANTINE_FAILED: 1005,\n BACKUP_FAILED: 1006,\n RESTORE_FAILED: 1007,\n INTEGRITY_VIOLATION: 2000,\n INJECTION_DETECTED: 2001,\n MALWARE_DETECTED: 2002,\n UNAUTHORIZED_ACCESS: 2003,\n TAMPER_DETECTED: 2004,\n DEBUGGER_DETECTED: 2005,\n MEMORY_CORRUPTION: 2006,\n PROCESS_HIJACK: 2007,\n HASH_MISMATCH: 3000,\n SIGNATURE_INVALID: 3001,\n ENCRYPTION_FAILED: 3002,\n DECRYPTION_FAILED: 3003,\n KEY_NOT_FOUND: 3004,\n KEY_EXPIRED: 3005,\n KEY_REVOKED: 3006,\n INVALID_CONFIG: 4000,\n MISSING_CONFIG: 4001,\n CONFIG_MODIFIED: 4002,\n WATCHER_FAILED: 5000,\n SCAN_FAILED: 5001,\n VALIDATION_FAILED: 5002,\n TIMEOUT: 5003,\n OUT_OF_MEMORY: 5004\n} as const;\n\nexport const DEFAULT_CONFIG = {\n HASH_ALGORITHM: 'sha512',\n MAX_FILE_SIZE: 10 * 1024 * 1024,\n SCAN_INTERVAL: 60,\n REALTIME_MONITORING: true,\n AUTO_ROLLBACK: true,\n QUARANTINE_ENABLED: true,\n SIGNATURE_VERIFICATION: false,\n INTEGRITY_LEVEL: 'advanced',\n ALERT_THRESHOLD: 'medium',\n ALLOWED_EXTENSIONS: ['.js', '.ts', '.json', '.txt', '.md', '.yml', '.yaml', '.xml', '.html', '.css'],\n BACKUP_RETENTION_DAYS: 30,\n MAX_BACKUPS_PER_FILE: 10,\n QUARANTINE_RETENTION_DAYS: 90,\n LOG_RETENTION_DAYS: 30,\n MAX_LOG_SIZE: 10 * 1024 * 1024,\n ENABLE_MEMORY_GUARD: true,\n ENABLE_PROCESS_GUARD: true,\n ENABLE_FILE_GUARD: true,\n DEBUG_MODE: false\n} as const;\n\nexport const MIME_TYPES = {\n PLAIN: 'text/plain',\n HTML: 'text/html',\n CSS: 'text/css',\n JAVASCRIPT: 'application/javascript',\n TYPESCRIPT: 'application/typescript',\n JSON: 'application/json',\n XML: 'application/xml',\n YAML: 'application/x-yaml',\n MARKDOWN: 'text/markdown',\n JPEG: 'image/jpeg',\n PNG: 'image/png',\n GIF: 'image/gif',\n WEBP: 'image/webp',\n SVG: 'image/svg+xml',\n ICO: 'image/x-icon',\n PDF: 'application/pdf',\n DOC: 'application/msword',\n DOCX: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n XLS: 'application/vnd.ms-excel',\n XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ZIP: 'application/zip',\n GZIP: 'application/gzip',\n TAR: 'application/x-tar',\n RAR: 'application/vnd.rar',\n _7Z: 'application/x-7z-compressed',\n EXE: 'application/vnd.microsoft.portable-executable',\n DLL: 'application/x-msdownload',\n SO: 'application/x-sharedlib',\n DMG: 'application/x-apple-diskimage',\n DEB: 'application/vnd.debian.binary-package',\n RPM: 'application/x-rpm',\n MP3: 'audio/mpeg',\n MP4: 'video/mp4',\n WAV: 'audio/wav',\n OGG: 'audio/ogg',\n WEBM: 'video/webm',\n TTF: 'font/ttf',\n OTF: 'font/otf',\n WOFF: 'font/woff',\n WOFF2: 'font/woff2'\n} as const;\n\nexport const MAGIC_BYTES: Record<string, string> = {\n JPEG: 'ffd8ffe0',\n PNG: '89504e47',\n GIF: '47494638',\n WEBP: '52494646',\n BMP: '424d',\n ICO: '00000100',\n PDF: '25504446',\n DOC: 'd0cf11e0',\n XLS: 'd0cf11e0',\n ZIP: '504b0304',\n GZIP: '1f8b08',\n TAR: '7573746172',\n RAR: '52617221',\n _7Z: '377abcaf',\n ELF: '7f454c46',\n PE: '4d5a',\n MACHO: 'cafebabe',\n MACHO_64: 'cffaedfe',\n CLASS: 'cafebabe',\n JAR: '504b0304',\n SQLITE: '53514c697465',\n JSON: '7b0a',\n XML: '3c3f786d6c',\n HTML: '3c68746d6c',\n SVG: '3c737667'\n} as const;\n\nexport const SUSPICIOUS_STRINGS = [\n 'eval(',\n 'Function(',\n 'setTimeout(',\n 'setInterval(',\n 'new Function(',\n 'require(',\n 'process.binding',\n 'process.dlopen',\n 'child_process',\n 'exec(',\n 'spawn(',\n 'fork(',\n 'vm.runIn',\n 'vm.create',\n 'String.fromCharCode',\n 'unescape(',\n 'escape(',\n 'decodeURI(',\n 'decodeURIComponent(',\n 'atob(',\n 'btoa(',\n 'Buffer.from(',\n 'new Buffer(',\n '__defineGetter__',\n '__defineSetter__',\n '__lookupGetter__',\n '__lookupSetter__',\n 'Object.defineProperty',\n 'Object.defineProperties',\n 'Reflect.set',\n 'Reflect.defineProperty',\n 'Proxy(',\n 'WeakMap',\n 'WeakSet',\n 'FinalizationRegistry',\n 'WebAssembly',\n 'SharedArrayBuffer',\n 'Atomics.',\n 'globalThis',\n 'this.constructor',\n '__proto__',\n 'Object.setPrototypeOf',\n 'module.constructor',\n 'require.cache',\n 'module.children'\n] as const;\n\nexport const SUSPICIOUS_EXTENSIONS = [\n '.exe', '.dll', '.so', '.dylib', '.bin',\n '.sh', '.bash', '.zsh', '.fish', '.ps1',\n '.bat', '.cmd', '.vbs', '.js', '.jse',\n '.vbe', '.wsf', '.wsc', '.wsh', '.msi',\n '.msp', '.mst', '.app', '.deb', '.rpm',\n '.apk', '.ipa', '.dmg', '.pkg', '.jar',\n '.class', '.py', '.pyc', '.pyo', '.rb',\n '.rbw', '.php', '.php3', '.php4', '.php5',\n '.phtml', '.asp', '.aspx', '.cer', '.cfm',\n '.jsp', '.jspx', '.pl', '.pm', '.cgi',\n '.swf', '.flv', '.com', '.scr', '.cpl'\n] as const;\n\nexport const ALLOWED_EXTENSIONS = [\n '.txt', '.md', '.json', '.xml', '.yaml', '.yml',\n '.html', '.htm', '.css', '.js', '.ts', '.jsx',\n '.tsx', '.vue', '.svelte', '.php', '.py', '.rb',\n '.java', '.c', '.cpp', '.h', '.hpp', '.cs',\n '.go', '.rs', '.swift', '.kt', '.scala',\n '.pdf', '.doc', '.docx', '.xls', '.xlsx',\n '.ppt', '.pptx', '.jpg', '.jpeg', '.png',\n '.gif', '.bmp', '.ico', '.svg', '.webp',\n '.mp3', '.mp4', '.wav', '.ogg', '.flac',\n '.zip', '.tar', '.gz', '.bz2', '.7z', '.rar'\n] as const;\n\nexport const REGEX_PATTERNS = {\n EMAIL: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\n URL: /^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/,\n IPV4: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,\n IPV6: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,\n UUID: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,\n HEX: /^[0-9a-fA-F]+$/,\n BASE64: /^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/,\n PATH_TRAVERSAL: /(?:\\.\\.\\/|\\.\\.\\\\)+/,\n NULL_BYTE: /\\0/,\n CONTROL_CHARS: /[\\x00-\\x1F\\x7F]/,\n ZERO_WIDTH: /[\\u200B-\\u200D\\uFEFF]/,\n HIDDEN_FILE: /^\\.[^.]+/,\n DOUBLE_EXTENSION: /\\.[^.]+\\.[^.]+$/,\n TEMP_FILE: /\\.(tmp|temp|swp|bak|backup)$/i,\n LOCK_FILE: /\\.(lock|pid)$/i\n} as const;\n\nexport const TIMEOUTS = {\n WATCHER_START: 5000,\n FILE_SCAN: 10000,\n BACKUP_CREATE: 5000,\n BACKUP_RESTORE: 5000,\n ENCRYPTION: 3000,\n DECRYPTION: 3000,\n INTEGRITY_CHECK: 2000,\n MEMORY_SCAN: 1000,\n PROCESS_SCAN: 2000,\n NETWORK_SCAN: 5000,\n QUARANTINE: 3000,\n ROLLBACK: 5000,\n SHUTDOWN: 10000\n} as const;\n\nexport const PATHS = {\n BACKUP_DIR: '.secure_backup',\n QUARANTINE_DIR: '.secure_quarantine',\n LOGS_DIR: 'logs',\n KEYS_DIR: '.keys',\n CACHE_DIR: '.cache',\n TEMP_DIR: '.tmp',\n CONFIG_DIR: '.config',\n REPORTS_DIR: 'reports'\n} as const;\n\nexport const EVENT_TYPES = {\n FILE_ADDED: 'file:added',\n FILE_CHANGED: 'file:changed',\n FILE_DELETED: 'file:deleted',\n FILE_RESTORED: 'file:restored',\n FILE_QUARANTINED: 'file:quarantined',\n FILE_SCANNED: 'file:scanned',\n SECURITY_ALERT: 'security:alert',\n SECURITY_CRITICAL: 'security:critical',\n SECURITY_VIOLATION: 'security:violation',\n SECURITY_BREACH: 'security:breach',\n INTEGRITY_CHECK: 'integrity:check',\n INTEGRITY_PASS: 'integrity:pass',\n INTEGRITY_FAIL: 'integrity:fail',\n INTEGRITY_VIOLATION: 'integrity:violation',\n SYSTEM_START: 'system:start',\n SYSTEM_STOP: 'system:stop',\n SYSTEM_ERROR: 'system:error',\n SYSTEM_WARNING: 'system:warning',\n SYSTEM_INFO: 'system:info',\n WATCHER_START: 'watcher:start',\n WATCHER_STOP: 'watcher:stop',\n WATCHER_ERROR: 'watcher:error',\n WATCHER_READY: 'watcher:ready',\n BACKUP_CREATED: 'backup:created',\n BACKUP_RESTORED: 'backup:restored',\n BACKUP_FAILED: 'backup:failed',\n BACKUP_VERIFIED: 'backup:verified',\n SCAN_START: 'scan:start',\n SCAN_COMPLETE: 'scan:complete',\n SCAN_ERROR: 'scan:error',\n SCAN_PROGRESS: 'scan:progress'\n} as const;\n\nexport const LOG_LEVELS = {\n DEBUG: 0,\n INFO: 1,\n WARNING: 2,\n ERROR: 3,\n CRITICAL: 4,\n EMERGENCY: 5\n} as const;\n\nexport const EXIT_CODES = {\n SUCCESS: 0,\n GENERAL_ERROR: 1,\n INVALID_CONFIG: 2,\n PERMISSION_DENIED: 3,\n SECURITY_VIOLATION: 4,\n MEMORY_ERROR: 5,\n DISK_ERROR: 6,\n NETWORK_ERROR: 7,\n TIMEOUT: 8,\n USER_INTERRUPT: 9,\n FATAL_ERROR: 10\n} as const;\n\nexport const ENV_VARS = {\n NODE_ENV: 'NODE_ENV',\n WATCH_DIR: 'WATCH_DIR',\n HASH_ALGORITHM: 'HASH_ALGORITHM',\n INTEGRITY_LEVEL: 'INTEGRITY_LEVEL',\n AUTO_ROLLBACK: 'AUTO_ROLLBACK',\n SCAN_INTERVAL: 'SCAN_INTERVAL',\n MAX_FILE_SIZE: 'MAX_FILE_SIZE',\n ALLOWED_EXTENSIONS: 'ALLOWED_EXTENSIONS',\n QUARANTINE_ENABLED: 'QUARANTINE_ENABLED',\n SIGNATURE_VERIFICATION: 'SIGNATURE_VERIFICATION',\n ALERT_THRESHOLD: 'ALERT_THRESHOLD',\n DEBUG_MODE: 'DEBUG_MODE',\n LOG_LEVEL: 'LOG_LEVEL'\n} as const;\n\nexport const ERROR_MESSAGES = {\n FILE_NOT_FOUND: 'File not found',\n PERMISSION_DENIED: 'Permission denied',\n INVALID_PATH: 'Invalid file path',\n FILE_TOO_LARGE: 'File exceeds maximum size',\n INTEGRITY_VIOLATION: 'File integrity violation detected',\n INJECTION_DETECTED: 'Code injection detected',\n MALWARE_DETECTED: 'Malware detected',\n BACKUP_FAILED: 'Backup operation failed',\n RESTORE_FAILED: 'Restore operation failed',\n ENCRYPTION_FAILED: 'Encryption failed',\n DECRYPTION_FAILED: 'Decryption failed',\n KEY_NOT_FOUND: 'Encryption key not found',\n INVALID_CONFIG: 'Invalid configuration',\n WATCHER_FAILED: 'File watcher failed to start',\n SCAN_FAILED: 'Security scan failed',\n MEMORY_CORRUPTION: 'Memory corruption detected',\n PROCESS_HIJACK: 'Process hijacking attempt detected',\n DEBUGGER_DETECTED: 'Debugger detected',\n QUARANTINE_FAILED: 'Failed to quarantine file',\n ROLLBACK_FAILED: 'Failed to rollback file',\n UNKNOWN_ERROR: 'An unknown error occurred'\n} as const;\n\nexport const SUCCESS_MESSAGES = {\n WATCHER_STARTED: 'File watcher started successfully',\n WATCHER_STOPPED: 'File watcher stopped successfully',\n FILE_PROTECTED: 'File protected successfully',\n FILE_RESTORED: 'File restored successfully',\n BACKUP_CREATED: 'Backup created successfully',\n SCAN_COMPLETE: 'Security scan completed',\n INTEGRITY_PASS: 'Integrity check passed',\n QUARANTINE_SUCCESS: 'File quarantined successfully',\n ENCRYPTION_SUCCESS: 'File encrypted successfully',\n DECRYPTION_SUCCESS: 'File decrypted successfully'\n} as const;"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = 0,
|
|
3
|
+
INFO = 1,
|
|
4
|
+
WARNING = 2,
|
|
5
|
+
ERROR = 3,
|
|
6
|
+
CRITICAL = 4,
|
|
7
|
+
EMERGENCY = 5
|
|
8
|
+
}
|
|
9
|
+
export declare class Logger {
|
|
10
|
+
private static instance;
|
|
11
|
+
private readonly logDir;
|
|
12
|
+
private readonly logFile;
|
|
13
|
+
private readonly errorLogFile;
|
|
14
|
+
private readonly securityLogFile;
|
|
15
|
+
private currentLogLevel;
|
|
16
|
+
private readonly maxLogSize;
|
|
17
|
+
private readonly maxLogFiles;
|
|
18
|
+
private logQueue;
|
|
19
|
+
private isWriting;
|
|
20
|
+
private constructor();
|
|
21
|
+
static getInstance(): Logger;
|
|
22
|
+
private initializeLogging;
|
|
23
|
+
private initializeLogFile;
|
|
24
|
+
private startLogProcessor;
|
|
25
|
+
private processLogQueue;
|
|
26
|
+
private writeLog;
|
|
27
|
+
private rotateLogIfNeeded;
|
|
28
|
+
private rotateLog;
|
|
29
|
+
private formatLogEntry;
|
|
30
|
+
private queueLog;
|
|
31
|
+
private getConsoleMethod;
|
|
32
|
+
debug(message: string, metadata?: any): void;
|
|
33
|
+
info(message: string, metadata?: any): void;
|
|
34
|
+
warning(message: string, metadata?: any): void;
|
|
35
|
+
error(message: string, metadata?: any): void;
|
|
36
|
+
critical(message: string, metadata?: any): void;
|
|
37
|
+
emergency(message: string, metadata?: any): void;
|
|
38
|
+
setLogLevel(level: LogLevel): void;
|
|
39
|
+
getLogs(level?: LogLevel, limit?: number): Promise<string[]>;
|
|
40
|
+
getSecurityLogs(limit?: number): Promise<string[]>;
|
|
41
|
+
clearLogs(): Promise<void>;
|
|
42
|
+
private fileExists;
|
|
43
|
+
getStatus(): any;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=Logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"AAGA,oBAAY,QAAQ;IAChB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,SAAS,IAAI;CAChB;AAED,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO;WAUO,WAAW,IAAI,MAAM;YAOrB,iBAAiB;YAajB,iBAAiB;IAY/B,OAAO,CAAC,iBAAiB;YAMX,eAAe;YA0Bf,QAAQ;YAiBR,iBAAiB;YAWjB,SAAS;IAevB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,gBAAgB;IAgBjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAM3C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAM9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAM5C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAMhD,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK5B,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBjE,eAAe,CAAC,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASvD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAYzB,UAAU;IASjB,SAAS,IAAI,GAAG;CAU1B"}
|