beddel 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +297 -0
  2. package/dist/agents/agentRegistry.d.ts +68 -0
  3. package/dist/agents/agentRegistry.d.ts.map +1 -0
  4. package/dist/agents/agentRegistry.js +222 -0
  5. package/dist/agents/agentRegistry.js.map +1 -0
  6. package/dist/agents/formatter-agent.d.ts +10 -0
  7. package/dist/agents/formatter-agent.d.ts.map +1 -0
  8. package/dist/agents/formatter-agent.js +49 -0
  9. package/dist/agents/formatter-agent.js.map +1 -0
  10. package/dist/agents/genkit-agent.d.ts +12 -0
  11. package/dist/agents/genkit-agent.d.ts.map +1 -0
  12. package/dist/agents/genkit-agent.js +119 -0
  13. package/dist/agents/genkit-agent.js.map +1 -0
  14. package/dist/agents/i18n-messages.d.ts +17 -0
  15. package/dist/agents/i18n-messages.d.ts.map +1 -0
  16. package/dist/agents/i18n-messages.js +92 -0
  17. package/dist/agents/i18n-messages.js.map +1 -0
  18. package/dist/agents/index.d.ts +10 -0
  19. package/dist/agents/index.d.ts.map +1 -0
  20. package/dist/agents/index.js +26 -0
  21. package/dist/agents/index.js.map +1 -0
  22. package/dist/agents/pipeline.d.ts +15 -0
  23. package/dist/agents/pipeline.d.ts.map +1 -0
  24. package/dist/agents/pipeline.js +45 -0
  25. package/dist/agents/pipeline.js.map +1 -0
  26. package/dist/agents/schema-factory.d.ts +40 -0
  27. package/dist/agents/schema-factory.d.ts.map +1 -0
  28. package/dist/agents/schema-factory.js +121 -0
  29. package/dist/agents/schema-factory.js.map +1 -0
  30. package/dist/agents/translation-validators.d.ts +26 -0
  31. package/dist/agents/translation-validators.d.ts.map +1 -0
  32. package/dist/agents/translation-validators.js +77 -0
  33. package/dist/agents/translation-validators.js.map +1 -0
  34. package/dist/agents/translator-agents.d.ts +184 -0
  35. package/dist/agents/translator-agents.d.ts.map +1 -0
  36. package/dist/agents/translator-agents.js +613 -0
  37. package/dist/agents/translator-agents.js.map +1 -0
  38. package/dist/agents/types/translation.types.d.ts +100 -0
  39. package/dist/agents/types/translation.types.d.ts.map +1 -0
  40. package/dist/agents/types/translation.types.js +3 -0
  41. package/dist/agents/types/translation.types.js.map +1 -0
  42. package/dist/agents/validator-agent.d.ts +42 -0
  43. package/dist/agents/validator-agent.d.ts.map +1 -0
  44. package/dist/agents/validator-agent.js +122 -0
  45. package/dist/agents/validator-agent.js.map +1 -0
  46. package/dist/audit/auditTrail.d.ts +55 -0
  47. package/dist/audit/auditTrail.d.ts.map +1 -0
  48. package/dist/audit/auditTrail.js +93 -0
  49. package/dist/audit/auditTrail.js.map +1 -0
  50. package/dist/compliance/gdprEngine.d.ts +44 -0
  51. package/dist/compliance/gdprEngine.d.ts.map +1 -0
  52. package/dist/compliance/gdprEngine.js +178 -0
  53. package/dist/compliance/gdprEngine.js.map +1 -0
  54. package/dist/compliance/lgpdEngine.d.ts +51 -0
  55. package/dist/compliance/lgpdEngine.d.ts.map +1 -0
  56. package/dist/compliance/lgpdEngine.js +221 -0
  57. package/dist/compliance/lgpdEngine.js.map +1 -0
  58. package/dist/config.d.ts +78 -0
  59. package/dist/config.d.ts.map +1 -0
  60. package/dist/config.js +77 -0
  61. package/dist/config.js.map +1 -0
  62. package/dist/errors.d.ts +17 -0
  63. package/dist/errors.d.ts.map +1 -0
  64. package/dist/errors.js +40 -0
  65. package/dist/errors.js.map +1 -0
  66. package/dist/firebase/tenantManager.d.ts +84 -0
  67. package/dist/firebase/tenantManager.d.ts.map +1 -0
  68. package/dist/firebase/tenantManager.js +378 -0
  69. package/dist/firebase/tenantManager.js.map +1 -0
  70. package/dist/index.d.ts +36 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +118 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/integration/secure-yaml-runtime.d.ts +68 -0
  75. package/dist/integration/secure-yaml-runtime.d.ts.map +1 -0
  76. package/dist/integration/secure-yaml-runtime.js +245 -0
  77. package/dist/integration/secure-yaml-runtime.js.map +1 -0
  78. package/dist/parser/secure-yaml-parser.d.ts +62 -0
  79. package/dist/parser/secure-yaml-parser.d.ts.map +1 -0
  80. package/dist/parser/secure-yaml-parser.js +234 -0
  81. package/dist/parser/secure-yaml-parser.js.map +1 -0
  82. package/dist/performance/autoscaling.d.ts +100 -0
  83. package/dist/performance/autoscaling.d.ts.map +1 -0
  84. package/dist/performance/autoscaling.js +339 -0
  85. package/dist/performance/autoscaling.js.map +1 -0
  86. package/dist/performance/benchmark.d.ts +104 -0
  87. package/dist/performance/benchmark.d.ts.map +1 -0
  88. package/dist/performance/benchmark.js +514 -0
  89. package/dist/performance/benchmark.js.map +1 -0
  90. package/dist/performance/index.d.ts +14 -0
  91. package/dist/performance/index.d.ts.map +1 -0
  92. package/dist/performance/index.js +35 -0
  93. package/dist/performance/index.js.map +1 -0
  94. package/dist/performance/monitor.d.ts +126 -0
  95. package/dist/performance/monitor.d.ts.map +1 -0
  96. package/dist/performance/monitor.js +324 -0
  97. package/dist/performance/monitor.js.map +1 -0
  98. package/dist/performance/streaming.d.ts +82 -0
  99. package/dist/performance/streaming.d.ts.map +1 -0
  100. package/dist/performance/streaming.js +287 -0
  101. package/dist/performance/streaming.js.map +1 -0
  102. package/dist/runtime/audit.d.ts +240 -0
  103. package/dist/runtime/audit.d.ts.map +1 -0
  104. package/dist/runtime/audit.js +641 -0
  105. package/dist/runtime/audit.js.map +1 -0
  106. package/dist/runtime/declarativeAgentRuntime.d.ts +123 -0
  107. package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -0
  108. package/dist/runtime/declarativeAgentRuntime.js +576 -0
  109. package/dist/runtime/declarativeAgentRuntime.js.map +1 -0
  110. package/dist/runtime/isolatedRuntime.d.ts +119 -0
  111. package/dist/runtime/isolatedRuntime.d.ts.map +1 -0
  112. package/dist/runtime/isolatedRuntime.js +425 -0
  113. package/dist/runtime/isolatedRuntime.js.map +1 -0
  114. package/dist/runtime/schemaCompiler.d.ts +35 -0
  115. package/dist/runtime/schemaCompiler.d.ts.map +1 -0
  116. package/dist/runtime/schemaCompiler.js +151 -0
  117. package/dist/runtime/schemaCompiler.js.map +1 -0
  118. package/dist/runtime/simpleRuntime.d.ts +57 -0
  119. package/dist/runtime/simpleRuntime.d.ts.map +1 -0
  120. package/dist/runtime/simpleRuntime.js +187 -0
  121. package/dist/runtime/simpleRuntime.js.map +1 -0
  122. package/dist/security/dashboard.d.ts +89 -0
  123. package/dist/security/dashboard.d.ts.map +1 -0
  124. package/dist/security/dashboard.js +300 -0
  125. package/dist/security/dashboard.js.map +1 -0
  126. package/dist/security/hardening.d.ts +130 -0
  127. package/dist/security/hardening.d.ts.map +1 -0
  128. package/dist/security/hardening.js +414 -0
  129. package/dist/security/hardening.js.map +1 -0
  130. package/dist/security/index.d.ts +128 -0
  131. package/dist/security/index.d.ts.map +1 -0
  132. package/dist/security/index.js +353 -0
  133. package/dist/security/index.js.map +1 -0
  134. package/dist/security/monitor.d.ts +88 -0
  135. package/dist/security/monitor.d.ts.map +1 -0
  136. package/dist/security/monitor.js +356 -0
  137. package/dist/security/monitor.js.map +1 -0
  138. package/dist/security/scanner.d.ts +104 -0
  139. package/dist/security/scanner.d.ts.map +1 -0
  140. package/dist/security/scanner.js +298 -0
  141. package/dist/security/scanner.js.map +1 -0
  142. package/dist/security/score.d.ts +150 -0
  143. package/dist/security/score.d.ts.map +1 -0
  144. package/dist/security/score.js +983 -0
  145. package/dist/security/score.js.map +1 -0
  146. package/dist/security/test-security.d.ts +22 -0
  147. package/dist/security/test-security.d.ts.map +1 -0
  148. package/dist/security/test-security.js +154 -0
  149. package/dist/security/test-security.js.map +1 -0
  150. package/dist/security/threatDetector.d.ts +39 -0
  151. package/dist/security/threatDetector.d.ts.map +1 -0
  152. package/dist/security/threatDetector.js +354 -0
  153. package/dist/security/threatDetector.js.map +1 -0
  154. package/dist/security/validation.d.ts +69 -0
  155. package/dist/security/validation.d.ts.map +1 -0
  156. package/dist/security/validation.js +286 -0
  157. package/dist/security/validation.js.map +1 -0
  158. package/dist/server/api/clientsRoute.d.ts +9 -0
  159. package/dist/server/api/clientsRoute.d.ts.map +1 -0
  160. package/dist/server/api/clientsRoute.js +71 -0
  161. package/dist/server/api/clientsRoute.js.map +1 -0
  162. package/dist/server/api/endpointsRoute.d.ts +8 -0
  163. package/dist/server/api/endpointsRoute.d.ts.map +1 -0
  164. package/dist/server/api/endpointsRoute.js +76 -0
  165. package/dist/server/api/endpointsRoute.js.map +1 -0
  166. package/dist/server/api/graphql.d.ts +9 -0
  167. package/dist/server/api/graphql.d.ts.map +1 -0
  168. package/dist/server/api/graphql.js +180 -0
  169. package/dist/server/api/graphql.js.map +1 -0
  170. package/dist/server/errors.d.ts +19 -0
  171. package/dist/server/errors.d.ts.map +1 -0
  172. package/dist/server/errors.js +42 -0
  173. package/dist/server/errors.js.map +1 -0
  174. package/dist/server/index.d.ts +7 -0
  175. package/dist/server/index.d.ts.map +1 -0
  176. package/dist/server/index.js +24 -0
  177. package/dist/server/index.js.map +1 -0
  178. package/dist/server/kvStore.d.ts +27 -0
  179. package/dist/server/kvStore.d.ts.map +1 -0
  180. package/dist/server/kvStore.js +128 -0
  181. package/dist/server/kvStore.js.map +1 -0
  182. package/dist/server/runtimeSecurity.d.ts +28 -0
  183. package/dist/server/runtimeSecurity.d.ts.map +1 -0
  184. package/dist/server/runtimeSecurity.js +85 -0
  185. package/dist/server/runtimeSecurity.js.map +1 -0
  186. package/dist/server/types.d.ts +53 -0
  187. package/dist/server/types.d.ts.map +1 -0
  188. package/dist/server/types.js +8 -0
  189. package/dist/server/types.js.map +1 -0
  190. package/dist/types/executionContext.d.ts +16 -0
  191. package/dist/types/executionContext.d.ts.map +1 -0
  192. package/dist/types/executionContext.js +3 -0
  193. package/dist/types/executionContext.js.map +1 -0
  194. package/package.json +77 -0
  195. package/src/agents/agentRegistry.ts +272 -0
  196. package/src/agents/image-agent.yaml +86 -0
  197. package/src/agents/joker-agent.yaml +47 -0
  198. package/src/agents/translator-agent.yaml +80 -0
  199. package/src/audit/auditTrail.ts +134 -0
  200. package/src/compliance/gdprEngine.ts +209 -0
  201. package/src/compliance/lgpdEngine.ts +268 -0
  202. package/src/config.ts +179 -0
  203. package/src/errors.ts +35 -0
  204. package/src/firebase/tenantManager.ts +443 -0
  205. package/src/index.ts +125 -0
  206. package/src/integration/secure-yaml-runtime.ts +341 -0
  207. package/src/parser/secure-yaml-parser.ts +273 -0
  208. package/src/performance/autoscaling.ts +495 -0
  209. package/src/performance/benchmark.ts +644 -0
  210. package/src/performance/index.ts +34 -0
  211. package/src/performance/monitor.ts +469 -0
  212. package/src/performance/streaming.ts +317 -0
  213. package/src/runtime/audit.ts +907 -0
  214. package/src/runtime/declarativeAgentRuntime.ts +836 -0
  215. package/src/runtime/isolatedRuntime.ts +572 -0
  216. package/src/runtime/schemaCompiler.ts +228 -0
  217. package/src/runtime/simpleRuntime.ts +201 -0
  218. package/src/security/dashboard.ts +462 -0
  219. package/src/security/hardening.ts +560 -0
  220. package/src/security/index.ts +439 -0
  221. package/src/security/monitor.ts +490 -0
  222. package/src/security/scanner.ts +368 -0
  223. package/src/security/score.ts +1138 -0
  224. package/src/security/threatDetector.ts +481 -0
  225. package/src/security/validation.ts +365 -0
  226. package/src/server/api/clientsRoute.ts +92 -0
  227. package/src/server/api/endpointsRoute.ts +97 -0
  228. package/src/server/api/graphql.ts +249 -0
  229. package/src/server/errors.ts +38 -0
  230. package/src/server/index.ts +6 -0
  231. package/src/server/kvStore.ts +152 -0
  232. package/src/server/runtimeSecurity.ts +102 -0
  233. package/src/server/types.ts +60 -0
  234. package/src/types/executionContext.ts +16 -0
  235. package/tools/seed.ts +365 -0
  236. package/tools/test-endpoints.ts +174 -0
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ /**
3
+ * Security hardening utilities for YAML parsing
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SecurityHardening = void 0;
7
+ exports.createSecurityHardening = createSecurityHardening;
8
+ const DEFAULT_HARDENING_OPTIONS = {
9
+ maxCircularReferences: 0,
10
+ validateStructureIntegrity: true,
11
+ enableContentInspection: true,
12
+ logSecurityEvents: true,
13
+ maxNestingDepth: 1000,
14
+ enableCircularReferenceDetection: true,
15
+ detectAndBlock: true,
16
+ sanitizeOnFailure: true,
17
+ validationPolicy: 'moderate'
18
+ };
19
+ class SecurityHardening {
20
+ constructor(options = {}) {
21
+ this.events = [];
22
+ this.passes = 0;
23
+ this.fails = 0;
24
+ this.warnings = 0;
25
+ this.options = { ...DEFAULT_HARDENING_OPTIONS, ...options };
26
+ }
27
+ /**
28
+ * Executa hardening completo em um objeto
29
+ */
30
+ harden(obj) {
31
+ this.resetStatistics();
32
+ let result = obj;
33
+ let secure = true;
34
+ // 1. Detecção de referências circulares
35
+ if (this.options.enableCircularReferenceDetection) {
36
+ try {
37
+ this.detectCircularReferences(result);
38
+ }
39
+ catch (error) {
40
+ const errorMessage = error instanceof Error ? error.message : String(error);
41
+ if (this.options.detectAndBlock) {
42
+ throw new Error(`Referência circular detectada: ${errorMessage}`);
43
+ }
44
+ this.fails++;
45
+ secure = false;
46
+ if (this.options.logSecurityEvents) {
47
+ this.addSecurityEvent('circular_reference', 'root', 'high', errorMessage);
48
+ }
49
+ if (this.options.sanitizeOnFailure) {
50
+ result = this.sanitizeObject(result);
51
+ }
52
+ }
53
+ }
54
+ // 2. Validação de integridade estrutural
55
+ if (this.options.validateStructureIntegrity) {
56
+ try {
57
+ this.validateObjectStructure(result);
58
+ this.passes++;
59
+ }
60
+ catch (error) {
61
+ this.fails++;
62
+ secure = false;
63
+ if (this.options.logSecurityEvents) {
64
+ const errorMessage = error instanceof Error ? error.message : String(error);
65
+ this.addSecurityEvent('invalid_structure', 'root', 'medium', errorMessage);
66
+ }
67
+ }
68
+ }
69
+ // 3. Inspeção de conteúdo
70
+ if (this.options.enableContentInspection) {
71
+ const contentResult = this.inspectContent(result);
72
+ if (contentResult.warnings > 0) {
73
+ this.warnings += contentResult.warnings;
74
+ if (this.options.logSecurityEvents) {
75
+ contentResult.issues.forEach((issue) => {
76
+ this.addSecurityEvent('content_inspection_warning', issue.path, this.mapSeverity(issue.severity), `${issue.type} detectado`);
77
+ });
78
+ }
79
+ }
80
+ }
81
+ return {
82
+ result,
83
+ secure,
84
+ stats: this.getStatistics()
85
+ };
86
+ }
87
+ /**
88
+ * Detecta referências circulares no objeto
89
+ */
90
+ detectCircularReferences(obj, visited = new WeakSet(), path = 'root') {
91
+ if (typeof obj !== 'object' || obj === null) {
92
+ return;
93
+ }
94
+ if (visited.has(obj)) {
95
+ throw new Error(`Referência circular detectada em ${path}`);
96
+ }
97
+ // Verifica limite de profundidade
98
+ const depth = path.split('.').length;
99
+ if (depth > this.options.maxNestingDepth) {
100
+ this.addSecurityEvent('deep_nesting', path, 'medium', `Profundidade máxima de ${this.options.maxNestingDepth} excedida`);
101
+ }
102
+ visited.add(obj);
103
+ try {
104
+ for (const [key, value] of Object.entries(obj)) {
105
+ if (typeof value === 'object' && value !== null) {
106
+ // Simplificar para evitar problemas com WeakSet
107
+ this.detectCircularReferences(value, new WeakSet(), `${path}.${key}`);
108
+ }
109
+ }
110
+ }
111
+ finally {
112
+ visited.delete(obj);
113
+ }
114
+ }
115
+ /**
116
+ * Valida a integridade estrutural do objeto
117
+ */
118
+ validateObjectStructure(obj) {
119
+ if (typeof obj !== 'object' || obj === null) {
120
+ return true;
121
+ }
122
+ return this.isValidStructure(obj, '', 0);
123
+ }
124
+ isValidStructure(obj, path, depth) {
125
+ // Verifica limite de profundidade
126
+ if (depth > this.options.maxNestingDepth) {
127
+ this.addSecurityEvent('deep_nesting', path, 'medium', `Profundidade máxima de ${this.options.maxNestingDepth} atingida`);
128
+ return false;
129
+ }
130
+ // Verifica tipos válidos
131
+ if (!this.isAllowedType(obj)) {
132
+ this.addSecurityEvent('invalid_structure', path, 'medium', `Tipo inválido ${typeof obj} detectado no caminho ${path}`);
133
+ return false;
134
+ }
135
+ // Valida objetos aninhados
136
+ if (typeof obj === 'object' && obj !== null) {
137
+ if (Array.isArray(obj)) {
138
+ for (let i = 0; i < obj.length; i++) {
139
+ if (!this.isValidStructure(obj[i], `${path}[${i}]`, depth + 1)) {
140
+ return false;
141
+ }
142
+ }
143
+ }
144
+ else {
145
+ for (const [key, value] of Object.entries(obj)) {
146
+ const keyPath = path ? `${path}.${key}` : key;
147
+ if (!this.isValidStructure(value, keyPath, depth + 1)) {
148
+ return false;
149
+ }
150
+ }
151
+ }
152
+ }
153
+ return true;
154
+ }
155
+ /**
156
+ * Verifica se um tipo é permitido
157
+ */
158
+ isAllowedType(obj) {
159
+ const type = typeof obj;
160
+ if (obj === null)
161
+ return true;
162
+ if (type === 'boolean')
163
+ return true;
164
+ if (type === 'number')
165
+ return true;
166
+ if (type === 'string')
167
+ return true;
168
+ if (Array.isArray(obj))
169
+ return true;
170
+ return false;
171
+ }
172
+ /**
173
+ * Inspeciona o conteúdo para padrões perigosos
174
+ */
175
+ inspectContent(obj) {
176
+ const issues = [];
177
+ let warnings = 0;
178
+ const deepInspect = (current, path = 'root') => {
179
+ if (typeof current === 'string') {
180
+ // Padrões de vulnerabilidade
181
+ const vulnerabilityPatterns = [
182
+ {
183
+ pattern: /<script[^>]*>/i,
184
+ type: 'XSS',
185
+ severity: 'high',
186
+ description: 'Possível tentativa de XSS via script tag'
187
+ },
188
+ {
189
+ pattern: /javascript:/i,
190
+ type: 'URL_INJECTION',
191
+ severity: 'high',
192
+ description: 'Possível inject javascript: URL'
193
+ },
194
+ {
195
+ pattern: /\$\{.*\}/,
196
+ type: 'TEMPLATE_INJECTION',
197
+ severity: 'medium',
198
+ description: 'Possível template string injection'
199
+ },
200
+ {
201
+ pattern: /on\w+\s*=/i,
202
+ type: 'EVENT_HANDLER',
203
+ severity: 'medium',
204
+ description: 'Possível event handler injection'
205
+ },
206
+ {
207
+ pattern: /eval\s*\(/i,
208
+ type: 'CODE_EXECUTION',
209
+ severity: 'high',
210
+ description: 'Possível code execution via eval'
211
+ },
212
+ {
213
+ pattern: /(password|api_key|secret|token)\s*[:=]\s*["']?[\w\-]+["']?/i,
214
+ type: 'CREDENTIAL_LEAK',
215
+ severity: 'medium',
216
+ description: 'Possível exposição de credenciais'
217
+ }
218
+ ];
219
+ for (const rule of vulnerabilityPatterns) {
220
+ if (rule.pattern.test(current)) {
221
+ issues.push({
222
+ path,
223
+ type: rule.type,
224
+ severity: rule.severity,
225
+ description: rule.description,
226
+ pattern: rule.pattern.source
227
+ });
228
+ warnings++;
229
+ }
230
+ }
231
+ }
232
+ // Recursivamente inspeciona objetos aninhados
233
+ if (typeof current === 'object' && current !== null) {
234
+ if (Array.isArray(current)) {
235
+ current.forEach((item, index) => {
236
+ deepInspect(item, `${path}[${index}]`);
237
+ });
238
+ }
239
+ else {
240
+ for (const [key, value] of Object.entries(current)) {
241
+ deepInspect(value, `${path}.${key}`);
242
+ }
243
+ }
244
+ }
245
+ };
246
+ deepInspect(obj);
247
+ return { issues, warnings };
248
+ }
249
+ /**
250
+ * Sanitiza um objeto remover conteúdo potencialmente perigoso
251
+ */
252
+ sanitizeObject(obj) {
253
+ if (typeof obj !== 'object' || obj === null) {
254
+ return obj;
255
+ }
256
+ const visited = new WeakSet();
257
+ const sanitize = (current) => {
258
+ if (typeof current !== 'object' || current === null) {
259
+ return this.sanitizeString(typeof current === 'string' ? current : '');
260
+ }
261
+ if (visited.has(current)) {
262
+ throw new Error('Referência circular detectada durante a sanitização');
263
+ }
264
+ visited.add(current);
265
+ // Sanitização baseada em tipo
266
+ if (Array.isArray(current)) {
267
+ const sanitized = [];
268
+ for (const item of current) {
269
+ const sanitizedItem = sanitize(item);
270
+ if (sanitizedItem !== undefined) {
271
+ sanitized.push(sanitizedItem);
272
+ }
273
+ }
274
+ visited.delete(current);
275
+ return sanitized;
276
+ }
277
+ const sanitized = {};
278
+ for (const [key, value] of Object.entries(current)) {
279
+ const sanitizedKey = this.sanitizeString(key);
280
+ const sanitizedValue = sanitize(value);
281
+ if (sanitizedValue !== undefined) {
282
+ sanitized[sanitizedKey] = sanitizedValue;
283
+ }
284
+ }
285
+ visited.delete(current);
286
+ return sanitized;
287
+ };
288
+ return sanitize(obj);
289
+ }
290
+ /**
291
+ * Sanitiza strings removendo conteúdo perigoso
292
+ */
293
+ sanitizeString(str) {
294
+ if (!str || typeof str !== 'string') {
295
+ return '';
296
+ }
297
+ // Remove scripts e conteúdo HTML/JavaScript
298
+ let sanitized = str
299
+ .replace(/<script[^>]*>.*?<\/script>/gi, '')
300
+ .replace(/javascript:/gi, '')
301
+ .replace(/on\w+\s*=/gi, '')
302
+ .replace(/eval\s*\(/gi, '')
303
+ .replace(/expression\s*\(/gi, '');
304
+ // Limita tamanho da string
305
+ return sanitized.length > 100000 ? sanitized.substring(0, 100000) + '[truncated]' : sanitized;
306
+ }
307
+ /**
308
+ * Adiciona um evento de segurança
309
+ */
310
+ addSecurityEvent(type, path, severity, message, details) {
311
+ this.events.push({
312
+ timestamp: Date.now(),
313
+ type,
314
+ path,
315
+ severity,
316
+ message,
317
+ details
318
+ });
319
+ // Limita número de eventos para evitar vazamento de memória
320
+ if (this.events.length > 1000) {
321
+ this.events = this.events.slice(-500);
322
+ }
323
+ }
324
+ /**
325
+ * Obtém estatísticas do hardening
326
+ */
327
+ getStatistics() {
328
+ const now = Date.now();
329
+ const recentEvents = this.events.filter(e => now - e.timestamp < 30000); // Últimos 30 segundos
330
+ return {
331
+ totalEvents: this.events.length,
332
+ recentEvents: recentEvents.length,
333
+ passes: this.passes,
334
+ fails: this.fails,
335
+ warnings: this.warnings,
336
+ securityScore: this.calculateSecurityScore(),
337
+ eventsByType: this.groupEventsByType(),
338
+ recentAlerts: this.getRecentAlerts()
339
+ };
340
+ }
341
+ /**
342
+ * Calcula o score de segurança (0-100)
343
+ */
344
+ calculateSecurityScore() {
345
+ if (this.events.length === 0) {
346
+ return 100;
347
+ }
348
+ const total = this.passes + this.fails;
349
+ if (total === 0) {
350
+ return 50; // Nenhum teste executado
351
+ }
352
+ const successRate = this.passes / total;
353
+ const penalty = this.warnings * 0.5; // Penaliza por warnings
354
+ return Math.max(0, Math.min(100, (successRate * 100) - penalty));
355
+ }
356
+ /**
357
+ * Agrupa eventos por tipo
358
+ */
359
+ groupEventsByType() {
360
+ const counts = {};
361
+ this.events.forEach(event => {
362
+ counts[event.type] = (counts[event.type] || 0) + 1;
363
+ });
364
+ return counts;
365
+ }
366
+ /**
367
+ * Obtém alertas recentes
368
+ */
369
+ getRecentAlerts() {
370
+ const now = Date.now();
371
+ return this.events
372
+ .filter(e => now - e.timestamp < 60000 && // Último minuto
373
+ (e.severity === 'high' || e.severity === 'critical'))
374
+ .slice(-10); // Últimos 10 alertas
375
+ }
376
+ /**
377
+ * Mapeia severidade para uso de eventos
378
+ */
379
+ mapSeverity(severity) {
380
+ if (severity === 'high' || severity === 'critical')
381
+ return 'high';
382
+ if (severity === 'medium')
383
+ return 'medium';
384
+ return 'low';
385
+ }
386
+ /**
387
+ * Reinicia as estatísticas
388
+ */
389
+ resetStatistics() {
390
+ this.passes = 0;
391
+ this.fails = 0;
392
+ this.warnings = 0;
393
+ }
394
+ /**
395
+ * Executa limpeza e validação final
396
+ */
397
+ cleanup() {
398
+ // Remove eventos antigos (máx 24 horas)
399
+ const cutoff = Date.now() - (24 * 60 * 60 * 1000);
400
+ this.events = this.events.filter(e => e.timestamp > cutoff);
401
+ // Limita número de eventos
402
+ if (this.events.length > 10000) {
403
+ this.events = this.events.slice(-5000);
404
+ }
405
+ }
406
+ }
407
+ exports.SecurityHardening = SecurityHardening;
408
+ /**
409
+ * Função auxiliar para criar instância de hardening
410
+ */
411
+ function createSecurityHardening(options = {}) {
412
+ return new SecurityHardening(options);
413
+ }
414
+ //# sourceMappingURL=hardening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardening.js","sourceRoot":"","sources":["../../src/security/hardening.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Beddel Security Module - Advanced Security Monitoring System v2025
3
+ *
4
+ * Complete security monitoring solution with real-time threat detection,
5
+ * ML-based anomaly analysis, and automated incident response.
6
+ */
7
+ export type { AlertLevel, SecurityEvent, ThreatAnalysis } from "./monitor";
8
+ export { SecurityMonitor, securityMonitor } from "./monitor";
9
+ export { ThreatDetectionEngine, AnomalyDetector, ThreatMLModel, } from "./threatDetector";
10
+ export type { DashboardConfig, SecurityMetric } from "./dashboard";
11
+ export { SecurityDashboard, securityDashboard } from "./dashboard";
12
+ /**
13
+ * Security Manager - Main security system coordinator
14
+ */
15
+ export declare class SecurityManager {
16
+ private monitor;
17
+ private dashboard;
18
+ private isInitialized;
19
+ constructor();
20
+ /**
21
+ * Initialize the complete security system
22
+ */
23
+ initialize(): void;
24
+ /**
25
+ * Set up event listeners for security events
26
+ */
27
+ private setupEventListeners;
28
+ /**
29
+ * Monitor security operations
30
+ */
31
+ monitorSecurity(tenantId: string, operation: string, metadata?: any): Promise<any>;
32
+ /**
33
+ * Auto-respond to threats
34
+ */
35
+ private autoRespondToThreat;
36
+ /**
37
+ * Handle security alerts
38
+ */
39
+ private handleSecurityAlert;
40
+ /**
41
+ * Assess risk level
42
+ */
43
+ private assessRiskLevel;
44
+ /**
45
+ * Generate incident response
46
+ */
47
+ private generateIncidentResponse;
48
+ /**
49
+ ** Get current dashboard data
50
+ */
51
+ getDashboardData(): any;
52
+ /**
53
+ * Get security metrics
54
+ */
55
+ getSecurityMetrics(): any[];
56
+ /**
57
+ * Export security report
58
+ */
59
+ exportSecurityReport(): string;
60
+ /**
61
+ * Get monitoring status
62
+ */
63
+ getMonitoringStatus(): {
64
+ active: boolean;
65
+ eventsProcessed: number;
66
+ };
67
+ /**
68
+ * Get threat statistics
69
+ */
70
+ getThreatStatistics(): any;
71
+ /**
72
+ * Get real-time security updates
73
+ */
74
+ getRealTimeUpdates(): any;
75
+ /**
76
+ * Stop the security system
77
+ */
78
+ stop(): void;
79
+ /**
80
+ * Schedule health check
81
+ */
82
+ private scheduleHealthCheck;
83
+ /**
84
+ * Perform health check
85
+ */
86
+ private performHealthCheck;
87
+ /**
88
+ * Stop health check
89
+ */
90
+ private stopHealthCheck;
91
+ }
92
+ export declare const securityManager: SecurityManager;
93
+ /**
94
+ * Initialize security system globally
95
+ */
96
+ export declare function initializeSecuritySystem(): void;
97
+ /**
98
+ * Monitor security operation
99
+ */
100
+ export declare function monitorSecurity(tenantId: string, operation: string, metadata?: any): Promise<any>;
101
+ /**
102
+ * Get security dashboard data
103
+ */
104
+ export declare function getSecurityDashboard(): any;
105
+ /**
106
+ * Export security report
107
+ */
108
+ export declare function exportSecurityReport(): string;
109
+ /**
110
+ * Stop security system
111
+ */
112
+ export declare function stopSecuritySystem(): void;
113
+ export interface SecuritySystemStatus {
114
+ active: boolean;
115
+ securityScore: number;
116
+ eventsProcessed: number;
117
+ threatDetectionRate: number;
118
+ lastUpdate: Date;
119
+ }
120
+ export interface SecurityIncident {
121
+ id: string;
122
+ tenantId: string;
123
+ riskScore: number;
124
+ alertLevel: string;
125
+ timestamp: Date;
126
+ status: "new" | "in_progress" | "resolved" | "escalated";
127
+ }
128
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMnE;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAkB;;IAOvC;;OAEG;IACI,UAAU,IAAI,IAAI;IA2BzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;OAEG;IACU,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,GAAQ,GACjB,OAAO,CAAC,GAAG,CAAC;IAwBf;;OAEG;YACW,mBAAmB;IAmCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;YACW,wBAAwB;IAwCtC;;OAEG;IACI,gBAAgB,IAAI,GAAG;IAI9B;;OAEG;IACI,kBAAkB,IAAI,GAAG,EAAE;IAIlC;;OAEG;IACI,oBAAoB,IAAI,MAAM;IAqBrC;;OAEG;IACI,mBAAmB,IAAI;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAO1E;;OAEG;IACI,mBAAmB,IAAI,GAAG;IAIjC;;OAEG;IACI,kBAAkB,IAAI,GAAG;IAQhC;;OAEG;IACI,IAAI,IAAI,IAAI;IAcnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,eAAe;CAIxB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAErD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,GAAQ,GACjB,OAAO,CAAC,GAAG,CAAC,CAEd;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAE1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAGD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;CAC1D"}