@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.
Files changed (100) hide show
  1. package/.env +13 -0
  2. package/.eslintrc.json +128 -0
  3. package/.prettierrc +18 -0
  4. package/Dimzxzzx07.png +0 -0
  5. package/README.md +1024 -0
  6. package/dist/core/BackupManager.d.ts +25 -0
  7. package/dist/core/BackupManager.d.ts.map +1 -0
  8. package/dist/core/BackupManager.js +290 -0
  9. package/dist/core/BackupManager.js.map +1 -0
  10. package/dist/core/IntegrityValidator.d.ts +18 -0
  11. package/dist/core/IntegrityValidator.d.ts.map +1 -0
  12. package/dist/core/IntegrityValidator.js +212 -0
  13. package/dist/core/IntegrityValidator.js.map +1 -0
  14. package/dist/core/SecurityManager.d.ts +40 -0
  15. package/dist/core/SecurityManager.d.ts.map +1 -0
  16. package/dist/core/SecurityManager.js +320 -0
  17. package/dist/core/SecurityManager.js.map +1 -0
  18. package/dist/core/WatcherEngine.d.ts +44 -0
  19. package/dist/core/WatcherEngine.d.ts.map +1 -0
  20. package/dist/core/WatcherEngine.js +470 -0
  21. package/dist/core/WatcherEngine.js.map +1 -0
  22. package/dist/crypto/HashGenerator.d.ts +26 -0
  23. package/dist/crypto/HashGenerator.d.ts.map +1 -0
  24. package/dist/crypto/HashGenerator.js +220 -0
  25. package/dist/crypto/HashGenerator.js.map +1 -0
  26. package/dist/crypto/KeyManager.d.ts +30 -0
  27. package/dist/crypto/KeyManager.d.ts.map +1 -0
  28. package/dist/crypto/KeyManager.js +235 -0
  29. package/dist/crypto/KeyManager.js.map +1 -0
  30. package/dist/crypto/SignatureValidator.d.ts +11 -0
  31. package/dist/crypto/SignatureValidator.d.ts.map +1 -0
  32. package/dist/crypto/SignatureValidator.js +102 -0
  33. package/dist/crypto/SignatureValidator.js.map +1 -0
  34. package/dist/detectors/AnomalyDetector.d.ts +24 -0
  35. package/dist/detectors/AnomalyDetector.d.ts.map +1 -0
  36. package/dist/detectors/AnomalyDetector.js +209 -0
  37. package/dist/detectors/AnomalyDetector.js.map +1 -0
  38. package/dist/detectors/InjectionDetector.d.ts +14 -0
  39. package/dist/detectors/InjectionDetector.d.ts.map +1 -0
  40. package/dist/detectors/InjectionDetector.js +204 -0
  41. package/dist/detectors/InjectionDetector.js.map +1 -0
  42. package/dist/detectors/PatternMatcher.d.ts +28 -0
  43. package/dist/detectors/PatternMatcher.d.ts.map +1 -0
  44. package/dist/detectors/PatternMatcher.js +283 -0
  45. package/dist/detectors/PatternMatcher.js.map +1 -0
  46. package/dist/guards/FileGuard.d.ts +35 -0
  47. package/dist/guards/FileGuard.d.ts.map +1 -0
  48. package/dist/guards/FileGuard.js +357 -0
  49. package/dist/guards/FileGuard.js.map +1 -0
  50. package/dist/guards/MemoryGuard.d.ts +28 -0
  51. package/dist/guards/MemoryGuard.d.ts.map +1 -0
  52. package/dist/guards/MemoryGuard.js +256 -0
  53. package/dist/guards/MemoryGuard.js.map +1 -0
  54. package/dist/guards/ProcessGuard.d.ts +25 -0
  55. package/dist/guards/ProcessGuard.d.ts.map +1 -0
  56. package/dist/guards/ProcessGuard.js +221 -0
  57. package/dist/guards/ProcessGuard.js.map +1 -0
  58. package/dist/index.d.ts +19 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +186 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/types/index.d.ts +69 -0
  63. package/dist/types/index.d.ts.map +1 -0
  64. package/dist/types/index.js +3 -0
  65. package/dist/types/index.js.map +1 -0
  66. package/dist/utils/Constants.d.ts +407 -0
  67. package/dist/utils/Constants.d.ts.map +1 -0
  68. package/dist/utils/Constants.js +505 -0
  69. package/dist/utils/Constants.js.map +1 -0
  70. package/dist/utils/Logger.d.ts +45 -0
  71. package/dist/utils/Logger.d.ts.map +1 -0
  72. package/dist/utils/Logger.js +285 -0
  73. package/dist/utils/Logger.js.map +1 -0
  74. package/dist/utils/Validator.d.ts +27 -0
  75. package/dist/utils/Validator.d.ts.map +1 -0
  76. package/dist/utils/Validator.js +245 -0
  77. package/dist/utils/Validator.js.map +1 -0
  78. package/favicon.png +0 -0
  79. package/jest.config.js +69 -0
  80. package/package.json +69 -0
  81. package/src/core/BackupManager.ts +305 -0
  82. package/src/core/IntegrityValidator.ts +200 -0
  83. package/src/core/SecurityManager.ts +348 -0
  84. package/src/core/WatcherEngine.ts +537 -0
  85. package/src/crypto/HashGenerator.ts +234 -0
  86. package/src/crypto/KeyManager.ts +249 -0
  87. package/src/crypto/SignatureValidator.ts +76 -0
  88. package/src/detectors/AnomalyDetector.ts +247 -0
  89. package/src/detectors/InjectionDetector.ts +233 -0
  90. package/src/detectors/PatternMatcher.ts +319 -0
  91. package/src/guards/FileGuard.ts +385 -0
  92. package/src/guards/MemoryGuard.ts +263 -0
  93. package/src/guards/ProcessGuard.ts +219 -0
  94. package/src/index.ts +189 -0
  95. package/src/types/index.ts +72 -0
  96. package/src/utils/Constants.ts +532 -0
  97. package/src/utils/Logger.ts +279 -0
  98. package/src/utils/Validator.ts +248 -0
  99. package/tests/setup.ts +80 -0
  100. 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"}