@superblocksteam/shared 0.9333.0 → 0.9334.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 (33) hide show
  1. package/dist/socket/tracedSocket.d.ts.map +1 -1
  2. package/dist/socket/tracedSocket.js +2 -1
  3. package/dist/socket/tracedSocket.js.map +1 -1
  4. package/dist/tracing/errorSanitizer.d.ts +9 -0
  5. package/dist/tracing/errorSanitizer.d.ts.map +1 -0
  6. package/dist/tracing/errorSanitizer.js +202 -0
  7. package/dist/tracing/errorSanitizer.js.map +1 -0
  8. package/dist/tracing/errorSanitizer.test.d.ts +2 -0
  9. package/dist/tracing/errorSanitizer.test.d.ts.map +1 -0
  10. package/dist/tracing/errorSanitizer.test.js +237 -0
  11. package/dist/tracing/errorSanitizer.test.js.map +1 -0
  12. package/dist/tracing/methodTracing.d.ts.map +1 -1
  13. package/dist/tracing/methodTracing.js +5 -4
  14. package/dist/tracing/methodTracing.js.map +1 -1
  15. package/dist-esm/socket/tracedSocket.d.ts.map +1 -1
  16. package/dist-esm/socket/tracedSocket.js +2 -1
  17. package/dist-esm/socket/tracedSocket.js.map +1 -1
  18. package/dist-esm/tracing/errorSanitizer.d.ts +9 -0
  19. package/dist-esm/tracing/errorSanitizer.d.ts.map +1 -0
  20. package/dist-esm/tracing/errorSanitizer.js +198 -0
  21. package/dist-esm/tracing/errorSanitizer.js.map +1 -0
  22. package/dist-esm/tracing/errorSanitizer.test.d.ts +2 -0
  23. package/dist-esm/tracing/errorSanitizer.test.d.ts.map +1 -0
  24. package/dist-esm/tracing/errorSanitizer.test.js +235 -0
  25. package/dist-esm/tracing/errorSanitizer.test.js.map +1 -0
  26. package/dist-esm/tracing/methodTracing.d.ts.map +1 -1
  27. package/dist-esm/tracing/methodTracing.js +5 -4
  28. package/dist-esm/tracing/methodTracing.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/socket/tracedSocket.ts +2 -1
  31. package/src/tracing/errorSanitizer.test.ts +323 -0
  32. package/src/tracing/errorSanitizer.ts +215 -0
  33. package/src/tracing/methodTracing.ts +5 -4
@@ -1,6 +1,7 @@
1
1
  import { ROOT_CONTEXT, SpanKind, SpanStatusCode, context as otelCtx, propagation, trace } from '@opentelemetry/api';
2
2
  import { SEMATTRS_MESSAGING_DESTINATION_KIND, SEMATTRS_MESSAGING_SYSTEM } from '@opentelemetry/semantic-conventions';
3
3
  import { OBS_SOCKET_STATUS_CODE, OBS_TAG_API_ID, OBS_TAG_APPLICATION_ID, OBS_TAG_BRANCH, OBS_TAG_COMMIT_ID, OBS_TAG_HTTP_ROUTE, OBS_TAG_HTTP_STATUS_CODE } from '../observability';
4
+ import { sanitizeError } from '../tracing/errorSanitizer';
4
5
  import { ISocket } from './socket';
5
6
  function isPromise(obj) {
6
7
  return obj !== null && typeof obj === 'object' && typeof obj.then === 'function';
@@ -31,7 +32,7 @@ const endSpan = (traced, span) => {
31
32
  function setHttpStatusFromError(span, error) {
32
33
  // Simplified error handling without server-side dependencies
33
34
  span.setAttribute(OBS_TAG_HTTP_STATUS_CODE, 500);
34
- span.recordException(error);
35
+ span.recordException(sanitizeError(error));
35
36
  span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
36
37
  }
37
38
  export class TracedSocket extends ISocket {
@@ -1 +1 @@
1
- {"version":3,"file":"tracedSocket.js","sourceRoot":"","sources":["../../src/socket/tracedSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracedSocket.js","sourceRoot":"","sources":["../../src/socket/tracedSocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sanitizes errors before recording them in OpenTelemetry spans to prevent
3
+ * sensitive information from being sent to DataDog or other observability platforms.
4
+ */
5
+ /**
6
+ * Sanitizes an error object for safe recording in OpenTelemetry spans
7
+ */
8
+ export declare function sanitizeError(error: unknown): Error;
9
+ //# sourceMappingURL=errorSanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSanitizer.d.ts","sourceRoot":"","sources":["../../src/tracing/errorSanitizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0IH;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAsEnD"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Sanitizes errors before recording them in OpenTelemetry spans to prevent
3
+ * sensitive information from being sent to DataDog or other observability platforms.
4
+ */
5
+ // Patterns that indicate sensitive information
6
+ const SENSITIVE_PATTERNS = [
7
+ // Tokens and keys - capture groups to preserve prefixes
8
+ /(\bbearer\s+)[a-zA-Z0-9\-._~+/]+=*/gi,
9
+ /(\bbasic\s+)\S+/gi,
10
+ /(\bjwt\s+)[a-zA-Z0-9\-._~+/]+=*/gi,
11
+ /(\btoken[:\s=]+)[a-zA-Z0-9\-._~+/]+=*/gi,
12
+ /(\bapi[_\s]?key[:\s=]+)[a-zA-Z0-9\-._~+/]+=*/gi,
13
+ /(\baccess[_\s]?token[:\s=]+)[a-zA-Z0-9\-._~+/]+=*/gi,
14
+ /(\brefresh[_\s]?token[:\s=]+)[a-zA-Z0-9\-._~+/]+=*/gi,
15
+ // JWT pattern (base64.base64.base64) - standalone tokens
16
+ /\b[A-Za-z0-9-_]{20,}\.[A-Za-z0-9-_]{20,}\.[A-Za-z0-9-_]{20,}\b/g
17
+ ];
18
+ // Fields to completely remove from error objects
19
+ const COMPLETELY_REDACTED_FIELDS = [
20
+ 'token',
21
+ 'accesstoken',
22
+ 'access_token',
23
+ 'refreshtoken',
24
+ 'refresh_token',
25
+ 'jwt',
26
+ 'bearer',
27
+ 'apikey',
28
+ 'api_key',
29
+ 'secret',
30
+ 'password',
31
+ 'passwd',
32
+ 'key',
33
+ 'private_key',
34
+ 'privatekey',
35
+ 'credentials',
36
+ 'auth',
37
+ 'session',
38
+ 'cookie'
39
+ ];
40
+ // Fields that should have their values sanitized but structure preserved
41
+ const VALUE_SANITIZED_FIELDS = ['authorization', 'headers'];
42
+ /**
43
+ * Sanitizes a message string by replacing sensitive patterns
44
+ */
45
+ function sanitizeMessage(message) {
46
+ if (!message)
47
+ return message;
48
+ let sanitized = message;
49
+ for (const pattern of SENSITIVE_PATTERNS) {
50
+ if (pattern.global) {
51
+ pattern.lastIndex = 0; // Reset regex state
52
+ }
53
+ if (pattern.source.includes('(')) {
54
+ // Pattern has capture groups - preserve prefix
55
+ sanitized = sanitized.replace(pattern, '$1[REDACTED]');
56
+ }
57
+ else {
58
+ // Pattern matches entire sensitive value
59
+ sanitized = sanitized.replace(pattern, '[REDACTED]');
60
+ }
61
+ }
62
+ return sanitized;
63
+ }
64
+ /**
65
+ * Sanitizes a stack trace by replacing sensitive patterns
66
+ */
67
+ function sanitizeStackTrace(stack) {
68
+ if (!stack)
69
+ return stack;
70
+ return sanitizeMessage(stack);
71
+ }
72
+ /**
73
+ * Recursively sanitizes an object by removing/redacting sensitive fields
74
+ */
75
+ function sanitizeObject(obj, depth = 0) {
76
+ if (depth > 5) {
77
+ // Prevent infinite recursion
78
+ return '[MAX_DEPTH_REACHED]';
79
+ }
80
+ if (obj === null || obj === undefined) {
81
+ return obj;
82
+ }
83
+ if (typeof obj === 'string') {
84
+ return sanitizeMessage(obj);
85
+ }
86
+ if (typeof obj === 'number' || typeof obj === 'boolean') {
87
+ return obj;
88
+ }
89
+ if (typeof obj !== 'object') {
90
+ return obj;
91
+ }
92
+ if (Array.isArray(obj)) {
93
+ return obj.map((item) => sanitizeObject(item, depth + 1));
94
+ }
95
+ const sanitized = {};
96
+ for (const [key, value] of Object.entries(obj)) {
97
+ const lowerKey = key.toLowerCase();
98
+ // Check for value-sanitized fields first (more specific)
99
+ if (VALUE_SANITIZED_FIELDS.some((field) => lowerKey === field)) {
100
+ if (typeof value === 'string') {
101
+ sanitized[key] = sanitizeMessage(value);
102
+ }
103
+ else {
104
+ sanitized[key] = sanitizeObject(value, depth + 1);
105
+ }
106
+ continue;
107
+ }
108
+ // Then check for completely redacted fields
109
+ if (COMPLETELY_REDACTED_FIELDS.some((field) => lowerKey === field || lowerKey.includes(field))) {
110
+ sanitized[key] = '[REDACTED]';
111
+ continue;
112
+ }
113
+ // Special handling for common error properties
114
+ if (key === 'message') {
115
+ sanitized[key] = sanitizeMessage(value);
116
+ }
117
+ else if (key === 'stack') {
118
+ sanitized[key] = sanitizeStackTrace(value);
119
+ }
120
+ else {
121
+ sanitized[key] = sanitizeObject(value, depth + 1);
122
+ }
123
+ }
124
+ return sanitized;
125
+ }
126
+ /**
127
+ * Sanitizes an error object for safe recording in OpenTelemetry spans
128
+ */
129
+ export function sanitizeError(error) {
130
+ if (!error) {
131
+ return error;
132
+ }
133
+ // If it's already a sanitized error, return as-is
134
+ const errorWithSanitized = error;
135
+ if (errorWithSanitized._sanitized) {
136
+ return errorWithSanitized;
137
+ }
138
+ let sanitized;
139
+ if (error instanceof Error) {
140
+ // Create a new error with sanitized properties
141
+ sanitized = new Error(sanitizeMessage(error.message));
142
+ sanitized.name = error.name;
143
+ sanitized.stack = sanitizeStackTrace(error.stack || '');
144
+ // Copy and sanitize all enumerable properties
145
+ Object.keys(error).forEach((prop) => {
146
+ if (prop !== 'message' && prop !== 'name' && prop !== 'stack') {
147
+ const lowerProp = prop.toLowerCase();
148
+ const errorWithProps = error;
149
+ // Check for value-sanitized fields first (more specific)
150
+ if (VALUE_SANITIZED_FIELDS.some((field) => lowerProp === field)) {
151
+ if (typeof errorWithProps[prop] === 'string') {
152
+ sanitized[prop] = sanitizeMessage(errorWithProps[prop]);
153
+ }
154
+ else {
155
+ sanitized[prop] = sanitizeObject(errorWithProps[prop]);
156
+ }
157
+ }
158
+ else if (COMPLETELY_REDACTED_FIELDS.some((field) => lowerProp === field || lowerProp.includes(field))) {
159
+ sanitized[prop] = '[REDACTED]';
160
+ }
161
+ else {
162
+ sanitized[prop] = sanitizeObject(errorWithProps[prop]);
163
+ }
164
+ }
165
+ });
166
+ // Also check non-enumerable properties that might have been added
167
+ Object.getOwnPropertyNames(error).forEach((prop) => {
168
+ if (prop !== 'message' && prop !== 'name' && prop !== 'stack' && !Object.prototype.propertyIsEnumerable.call(error, prop)) {
169
+ const lowerProp = prop.toLowerCase();
170
+ const errorWithProps = error;
171
+ // Check for value-sanitized fields first (more specific)
172
+ if (VALUE_SANITIZED_FIELDS.some((field) => lowerProp === field)) {
173
+ if (typeof errorWithProps[prop] === 'string') {
174
+ sanitized[prop] = sanitizeMessage(errorWithProps[prop]);
175
+ }
176
+ else {
177
+ sanitized[prop] = sanitizeObject(errorWithProps[prop]);
178
+ }
179
+ }
180
+ else if (COMPLETELY_REDACTED_FIELDS.some((field) => lowerProp === field || lowerProp.includes(field))) {
181
+ sanitized[prop] = '[REDACTED]';
182
+ }
183
+ else {
184
+ sanitized[prop] = sanitizeObject(errorWithProps[prop]);
185
+ }
186
+ }
187
+ });
188
+ }
189
+ else {
190
+ // For non-Error objects, sanitize the entire object
191
+ const sanitizedObj = sanitizeObject(error);
192
+ sanitized = sanitizedObj;
193
+ }
194
+ // Mark as sanitized to prevent double-processing
195
+ sanitized._sanitized = true;
196
+ return sanitized;
197
+ }
198
+ //# sourceMappingURL=errorSanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSanitizer.js","sourceRoot":"","sources":["../../src/tracing/errorSanitizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errorSanitizer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSanitizer.test.d.ts","sourceRoot":"","sources":["../../src/tracing/errorSanitizer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,235 @@
1
+ import { sanitizeError } from './errorSanitizer';
2
+ describe('Error Sanitization', () => {
3
+ it('should redact JWT tokens from error messages', () => {
4
+ const error = new Error('Invalid token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c');
5
+ const sanitized = sanitizeError(error);
6
+ expect(sanitized.message).toBe('Invalid token: [REDACTED]');
7
+ expect(sanitized.message).not.toContain('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9');
8
+ });
9
+ it('should redact bearer tokens from error messages', () => {
10
+ const error = new Error('Authentication failed with bearer abc123token456');
11
+ const sanitized = sanitizeError(error);
12
+ expect(sanitized.message).toBe('Authentication failed with bearer [REDACTED]');
13
+ });
14
+ it('should redact API keys from error messages', () => {
15
+ const error = new Error('API request failed: api_key=sk_live_abc123def456');
16
+ const sanitized = sanitizeError(error);
17
+ expect(sanitized.message).toBe('API request failed: api_key=[REDACTED]');
18
+ });
19
+ it('should remove sensitive fields from error objects', () => {
20
+ const error = new Error('Test error');
21
+ error.token = 'secret-token-123';
22
+ error.apiKey = 'api-key-456';
23
+ error.password = 'mypassword';
24
+ error.requestData = {
25
+ username: 'john',
26
+ authorization: 'Bearer token123'
27
+ };
28
+ const sanitized = sanitizeError(error);
29
+ expect(sanitized.token).toBe('[REDACTED]');
30
+ expect(sanitized.apiKey).toBe('[REDACTED]');
31
+ expect(sanitized.password).toBe('[REDACTED]');
32
+ expect(sanitized.requestData.username).toBe('john'); // Non-sensitive field preserved
33
+ expect(sanitized.requestData.authorization).toBe('Bearer [REDACTED]');
34
+ });
35
+ it('should sanitize stack traces', () => {
36
+ const error = new Error('Test error');
37
+ error.stack = `Error: Invalid token eyJhbGciOiJIUzI1NiI...
38
+ at AuthService.validateToken (/app/src/auth.js:42:15)
39
+ at api_key=sk_live_abc123 (/app/src/api.js:20:10)`;
40
+ const sanitized = sanitizeError(error);
41
+ expect(sanitized.stack).toContain('[REDACTED]');
42
+ expect(sanitized.stack).not.toContain('eyJhbGciOiJIUzI1NiI');
43
+ expect(sanitized.stack).not.toContain('sk_live_abc123');
44
+ });
45
+ it('should preserve error type and non-sensitive properties', () => {
46
+ const error = new TypeError('Invalid token: abc123def456ghi789');
47
+ error.statusCode = 401;
48
+ error.userId = 'user-123';
49
+ const sanitized = sanitizeError(error);
50
+ expect(sanitized.name).toBe('TypeError');
51
+ expect(sanitized.statusCode).toBe(401);
52
+ expect(sanitized.userId).toBe('user-123');
53
+ expect(sanitized.message).toBe('Invalid token: [REDACTED]');
54
+ });
55
+ it('should handle non-Error objects', () => {
56
+ const errorObj = {
57
+ message: 'Auth failed with token abc123',
58
+ token: 'secret-token',
59
+ data: {
60
+ user: 'john',
61
+ password: 'secret123'
62
+ }
63
+ };
64
+ const sanitized = sanitizeError(errorObj);
65
+ expect(sanitized.message).toBe('Auth failed with token [REDACTED]');
66
+ expect(sanitized.token).toBe('[REDACTED]');
67
+ expect(sanitized.data.user).toBe('john');
68
+ expect(sanitized.data.password).toBe('[REDACTED]');
69
+ });
70
+ it('should not double-sanitize already sanitized errors', () => {
71
+ const error = new Error('Invalid token: eyJhbGciOiJIUzI1NiI...');
72
+ const firstSanitization = sanitizeError(error);
73
+ const secondSanitization = sanitizeError(firstSanitization);
74
+ expect(firstSanitization.message).toBe(secondSanitization.message);
75
+ expect(firstSanitization._sanitized).toBe(true);
76
+ });
77
+ it('should handle null and undefined gracefully', () => {
78
+ expect(sanitizeError(null)).toBe(null);
79
+ expect(sanitizeError(undefined)).toBe(undefined);
80
+ });
81
+ describe('Headers Sanitization', () => {
82
+ it('should sanitize authorization headers while preserving structure', () => {
83
+ const error = new Error('Request failed');
84
+ error.headers = {
85
+ authorization: 'Bearer eyJhbGciOiJIUzI1NiI...',
86
+ 'content-type': 'application/json',
87
+ 'x-api-key': 'sk_live_abc123'
88
+ };
89
+ const sanitized = sanitizeError(error);
90
+ expect(sanitized.headers.authorization).toBe('Bearer [REDACTED]');
91
+ expect(sanitized.headers['content-type']).toBe('application/json'); // Non-sensitive preserved
92
+ expect(sanitized.headers['x-api-key']).toBe('[REDACTED]'); // Contains 'key' -> completely redacted
93
+ });
94
+ it('should sanitize headers in HTTP request/response objects', () => {
95
+ const error = new Error('HTTP request failed');
96
+ error.request = {
97
+ url: 'https://api.example.com/users',
98
+ method: 'GET',
99
+ headers: {
100
+ Authorization: 'Bearer token123',
101
+ Cookie: 'session=abc123; auth_token=xyz789',
102
+ 'User-Agent': 'MyApp/1.0'
103
+ }
104
+ };
105
+ error.response = {
106
+ status: 401,
107
+ headers: {
108
+ 'WWW-Authenticate': 'Bearer realm="api"',
109
+ 'Set-Cookie': 'refresh_token=def456; HttpOnly',
110
+ 'Content-Type': 'application/json'
111
+ }
112
+ };
113
+ const sanitized = sanitizeError(error);
114
+ // Request headers
115
+ expect(sanitized.request.headers.Authorization).toBe('Bearer [REDACTED]');
116
+ expect(sanitized.request.headers.Cookie).toBe('[REDACTED]'); // Contains 'cookie' -> completely redacted
117
+ expect(sanitized.request.headers['User-Agent']).toBe('MyApp/1.0');
118
+ // Response headers
119
+ expect(sanitized.response.headers['WWW-Authenticate']).toBe('[REDACTED]'); // Contains 'bearer' pattern -> redacted
120
+ expect(sanitized.response.headers['Set-Cookie']).toBe('[REDACTED]'); // Contains 'cookie' -> completely redacted
121
+ expect(sanitized.response.headers['Content-Type']).toBe('application/json');
122
+ });
123
+ it('should handle case-insensitive header names', () => {
124
+ const error = new Error('Request failed');
125
+ error.Headers = {
126
+ // Capital H - this field name doesn't contain sensitive keywords
127
+ AUTHORIZATION: 'Bearer token123',
128
+ authorization: 'Basic user:pass',
129
+ 'X-API-KEY': 'secret-key'
130
+ };
131
+ const sanitized = sanitizeError(error);
132
+ // Headers (capital H) is not in VALUE_SANITIZED_FIELDS, so individual fields get processed normally
133
+ // But Basic auth pattern still applies for string value sanitization
134
+ expect(sanitized.Headers.AUTHORIZATION).toBe('Bearer [REDACTED]'); // Pattern matching on string value
135
+ expect(sanitized.Headers.authorization).toBe('Basic [REDACTED]'); // Basic auth pattern applies
136
+ expect(sanitized.Headers['X-API-KEY']).toBe('[REDACTED]'); // Contains 'key' -> completely redacted
137
+ });
138
+ it('should sanitize headers with various token formats', () => {
139
+ const errorObj = {
140
+ message: 'Authentication failed',
141
+ headers: {
142
+ authorization: 'JWT eyJhbGciOiJIUzI1NiI...',
143
+ 'x-auth-token': 'Bearer abc123def456',
144
+ 'api-key': 'sk_test_1234567890',
145
+ cookie: 'sessionId=sess_abc123; csrfToken=csrf_xyz789',
146
+ 'x-forwarded-for': '192.168.1.1' // Should be preserved
147
+ }
148
+ };
149
+ const sanitized = sanitizeError(errorObj);
150
+ expect(sanitized.headers.authorization).toBe('JWT [REDACTED]');
151
+ expect(sanitized.headers['x-auth-token']).toBe('[REDACTED]'); // Contains 'auth' -> completely redacted
152
+ expect(sanitized.headers['api-key']).toBe('[REDACTED]'); // Contains 'key' -> completely redacted
153
+ expect(sanitized.headers.cookie).toBe('[REDACTED]'); // Contains 'cookie' -> completely redacted
154
+ expect(sanitized.headers['x-forwarded-for']).toBe('192.168.1.1');
155
+ });
156
+ it('should handle nested headers in complex objects', () => {
157
+ const error = new Error('Network error');
158
+ error.requestConfig = {
159
+ baseURL: 'https://api.example.com',
160
+ timeout: 5000,
161
+ headers: {
162
+ Authorization: 'Bearer eyJhbGciOiJIUzI1NiI...',
163
+ 'Content-Type': 'application/json'
164
+ },
165
+ data: {
166
+ username: 'john',
167
+ password: 'secret123'
168
+ }
169
+ };
170
+ const sanitized = sanitizeError(error);
171
+ expect(sanitized.requestConfig.baseURL).toBe('https://api.example.com');
172
+ expect(sanitized.requestConfig.timeout).toBe(5000);
173
+ expect(sanitized.requestConfig.headers.Authorization).toBe('Bearer [REDACTED]');
174
+ expect(sanitized.requestConfig.headers['Content-Type']).toBe('application/json');
175
+ expect(sanitized.requestConfig.data.username).toBe('john');
176
+ expect(sanitized.requestConfig.data.password).toBe('[REDACTED]');
177
+ });
178
+ it('should handle headers as strings vs objects', () => {
179
+ const error = new Error('Invalid headers');
180
+ error.headers = 'Authorization: Bearer token123\r\nContent-Type: application/json';
181
+ error.requestHeaders = {
182
+ authorization: 'Basic dXNlcjpwYXNz',
183
+ 'user-agent': 'MyApp/1.0'
184
+ };
185
+ const sanitized = sanitizeError(error);
186
+ // String headers get pattern-based sanitization (Bearer preserves prefix)
187
+ expect(sanitized.headers).toBe('Authorization: Bearer [REDACTED]\r\nContent-Type: application/json');
188
+ // Any field named 'authorization' should be value-sanitized regardless of parent object name
189
+ expect(sanitized.requestHeaders.authorization).toBe('Basic [REDACTED]');
190
+ expect(sanitized.requestHeaders['user-agent']).toBe('MyApp/1.0');
191
+ });
192
+ it('should redact GitHub tokens', () => {
193
+ const errorObj = {
194
+ message: 'GitHub API failed',
195
+ personalToken: 'ghp_1234567890abcdef1234567890abcdef12345678',
196
+ appToken: 'ghs_abcdef1234567890abcdef1234567890abcdef12',
197
+ finegrainedToken: 'github_pat_11ABCDEFG0001234567890_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890',
198
+ config: {
199
+ auth: 'token ghp_1234567890abcdef1234567890abcdef12345678'
200
+ }
201
+ };
202
+ const sanitized = sanitizeError(errorObj);
203
+ expect(sanitized.personalToken).toBe('[REDACTED]');
204
+ expect(sanitized.appToken).toBe('[REDACTED]');
205
+ expect(sanitized.finegrainedToken).toBe('[REDACTED]');
206
+ expect(sanitized.config.auth).toBe('[REDACTED]'); // "token <value>" pattern matches the whole thing
207
+ });
208
+ it('should handle mixed secrets in complex error objects', () => {
209
+ const error = new Error('Multiple services failed');
210
+ error.aws = {
211
+ accessKeyId: 'AKIAIOSFODNN7EXAMPLE',
212
+ secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
213
+ sessionToken: 'aws_session_token_12345abcdef'
214
+ };
215
+ error.github = {
216
+ token: 'ghp_1234567890abcdef1234567890abcdef12345678'
217
+ };
218
+ error.nonSensitive = {
219
+ userId: 'user123',
220
+ timestamp: '2023-01-01T00:00:00Z'
221
+ };
222
+ const sanitized = sanitizeError(error);
223
+ // AWS credentials should be redacted
224
+ expect(sanitized.aws.accessKeyId).toBe('[REDACTED]');
225
+ expect(sanitized.aws.secretAccessKey).toBe('[REDACTED]');
226
+ expect(sanitized.aws.sessionToken).toBe('[REDACTED]');
227
+ // GitHub token should be redacted
228
+ expect(sanitized.github.token).toBe('[REDACTED]');
229
+ // Non-sensitive data should be preserved
230
+ expect(sanitized.nonSensitive.userId).toBe('user123');
231
+ expect(sanitized.nonSensitive.timestamp).toBe('2023-01-01T00:00:00Z');
232
+ });
233
+ });
234
+ });
235
+ //# sourceMappingURL=errorSanitizer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorSanitizer.test.js","sourceRoot":"","sources":["../../src/tracing/errorSanitizer.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"methodTracing.d.ts","sourceRoot":"","sources":["../../src/tracing/methodTracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CA8CrI;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,IAAI,EACJ,MAAM,EACN,EAAE,EACF,MAAM,EACP,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,CAAC,CA+Bb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAmBxH;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,QASpF"}
1
+ {"version":3,"file":"methodTracing.d.ts","sourceRoot":"","sources":["../../src/tracing/methodTracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG3E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CA8CrI;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,IAAI,EACJ,MAAM,EACN,EAAE,EACF,MAAM,EACP,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,CAAC,CA+Bb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAmBxH;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,QASpF"}
@@ -1,4 +1,5 @@
1
1
  import { context, trace } from '@opentelemetry/api';
2
+ import { sanitizeError } from './errorSanitizer';
2
3
  /**
3
4
  * helper function to wrap a class method with tracing
4
5
  * @param className - The class name
@@ -32,7 +33,7 @@ export function traceMethod(className, methodName, descriptor, tracer) {
32
33
  return res;
33
34
  })
34
35
  .catch((err) => {
35
- span.recordException(err);
36
+ span.recordException(sanitizeError(err));
36
37
  span.end();
37
38
  throw err;
38
39
  });
@@ -42,7 +43,7 @@ export function traceMethod(className, methodName, descriptor, tracer) {
42
43
  return result;
43
44
  }
44
45
  catch (err) {
45
- span.recordException(err);
46
+ span.recordException(sanitizeError(err));
46
47
  span.end();
47
48
  throw err;
48
49
  }
@@ -64,7 +65,7 @@ export function traceFunction({ name, tracer, fn, parent }) {
64
65
  return res;
65
66
  })
66
67
  .catch((err) => {
67
- span.recordException(err);
68
+ span.recordException(sanitizeError(err));
68
69
  span.end();
69
70
  throw err;
70
71
  });
@@ -73,7 +74,7 @@ export function traceFunction({ name, tracer, fn, parent }) {
73
74
  return result;
74
75
  }
75
76
  catch (err) {
76
- span.recordException(err);
77
+ span.recordException(sanitizeError(err));
77
78
  span.end();
78
79
  throw err;
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"methodTracing.js","sourceRoot":"","sources":["../../src/tracing/methodTracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"methodTracing.js","sourceRoot":"","sources":["../../src/tracing/methodTracing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/shared",
3
- "version": "0.9333.0",
3
+ "version": "0.9334.0",
4
4
  "description": "Superblocks Shared Resources",
5
5
  "repository": "https://github.com/superblocksteam/shared.git",
6
6
  "license": "Superblocks Community Software License",
@@ -21,6 +21,7 @@ import {
21
21
  OBS_TAG_HTTP_ROUTE,
22
22
  OBS_TAG_HTTP_STATUS_CODE
23
23
  } from '../observability';
24
+ import { sanitizeError } from '../tracing/errorSanitizer';
24
25
  import { ISocket, SocketError, SocketMessage } from './socket';
25
26
  import { GenericMiddleware, ISocketClient, MethodHandler, MethodHandlers, RequestContextBase, SocketTimeouts } from './types';
26
27
 
@@ -53,7 +54,7 @@ const endSpan = (traced: () => unknown | Promise<unknown>, span: Span) => {
53
54
  function setHttpStatusFromError(span: Span, error: Error): void {
54
55
  // Simplified error handling without server-side dependencies
55
56
  span.setAttribute(OBS_TAG_HTTP_STATUS_CODE, 500);
56
- span.recordException(error);
57
+ span.recordException(sanitizeError(error));
57
58
  span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
58
59
  }
59
60