@newrelic/preflight 1.14.3 → 1.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +7 -5
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/record-content-gate.d.ts +9 -0
- package/dist/shared/record-content-gate.d.ts.map +1 -0
- package/dist/shared/record-content-gate.js +11 -0
- package/dist/shared/record-content-gate.js.map +1 -0
- package/dist/shared/security/ssrf.d.ts +28 -0
- package/dist/shared/security/ssrf.d.ts.map +1 -0
- package/dist/shared/security/ssrf.js +139 -0
- package/dist/shared/security/ssrf.js.map +1 -0
- package/dist/shared/transport/http-client.d.ts.map +1 -1
- package/dist/shared/transport/http-client.js +9 -0
- package/dist/shared/transport/http-client.js.map +1 -1
- package/dist/shared/transport/otlp-event-bridge.js +1 -1
- package/dist/shared/transport/otlp-event-bridge.js.map +1 -1
- package/dist/shared/transport/otlp-shared.d.ts.map +1 -1
- package/dist/shared/transport/otlp-shared.js +18 -10
- package/dist/shared/transport/otlp-shared.js.map +1 -1
- package/dist/web/assets/index-DDgTfPPL.css +2 -0
- package/dist/web/assets/index-kyN0cQHQ.js +64 -0
- package/dist/web/index.html +2 -2
- package/package.json +37 -33
- package/dist/web/assets/index-B4DkT4Go.css +0 -2
- package/dist/web/assets/index-BCcoTXSJ.js +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAe1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAmMD;;;;;;;;;;;;;GAaG;AAMH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC,GAAG;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;CACjE,CAAC;AAEF,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,CAsH9E"}
|
package/dist/shared/config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createLogger } from './logger.js';
|
|
2
2
|
import { DEFAULT_CLIENT_NAME, sanitizeClientString } from './transport/otlp-shared.js';
|
|
3
|
+
import { resolveRecordContent } from './record-content-gate.js';
|
|
3
4
|
const ENV_TRUTHY = new Set(['true', '1', 'yes', 'on']);
|
|
4
5
|
const ENV_FALSY = new Set(['false', '0', 'no', 'off']);
|
|
5
6
|
/**
|
|
@@ -238,11 +239,12 @@ export function loadConfig(overrides) {
|
|
|
238
239
|
`Only the "otlp" transport mode can omit accountId.`);
|
|
239
240
|
}
|
|
240
241
|
const highSecurity = overrides?.highSecurity ?? envBool('NEW_RELIC_AI_HIGH_SECURITY', false);
|
|
241
|
-
//
|
|
242
|
-
//
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
242
|
+
// NEW_RELIC_AI_RECORD_CONTENT is this package's own namespaced env var for
|
|
243
|
+
// the recordContent override; other consumers of the same gate rule read
|
|
244
|
+
// their own namespaced env var into their own explicitValue before calling
|
|
245
|
+
// resolveRecordContent() — the shared piece is the gate application, not
|
|
246
|
+
// the env var name.
|
|
247
|
+
const recordContent = resolveRecordContent(highSecurity, overrides?.recordContent ?? envBool('NEW_RELIC_AI_RECORD_CONTENT', false));
|
|
246
248
|
const attributionDefaults = buildAttributionDefaults(overrides?.attributionDefaults);
|
|
247
249
|
const config = {
|
|
248
250
|
licenseKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { createLogger } from './logger.js';
|
|
2
2
|
export type { Logger, LogLevel } from './logger.js';
|
|
3
3
|
export { redact, safeForLog } from './redact.js';
|
|
4
|
+
export { resolveRecordContent } from './record-content-gate.js';
|
|
4
5
|
export { loadConfig } from './config.js';
|
|
5
6
|
export type { AgentConfig, AgentConfigInput } from './config.js';
|
|
6
7
|
export { createAiRequest, createAiResponse, createAiMessage, createAiAgentTaskSummary, createAiAntiPattern, createAiAgentMessage, createAiContextReset, aiRequestToNrEvent, aiResponseToNrEvent, aiMessageToNrEvent, aiAgentTaskSummaryToNrEvent, aiAntiPatternToNrEvent, aiAgentMessageToNrEvent, aiContextResetToNrEvent, EVENT_SCHEMA_VERSION, } from './events/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/shared/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createLogger } from './logger.js';
|
|
2
2
|
export { redact, safeForLog } from './redact.js';
|
|
3
|
+
export { resolveRecordContent } from './record-content-gate.js';
|
|
3
4
|
export { loadConfig } from './config.js';
|
|
4
5
|
export { createAiRequest, createAiResponse, createAiMessage, createAiAgentTaskSummary, createAiAntiPattern, createAiAgentMessage, createAiContextReset, aiRequestToNrEvent, aiResponseToNrEvent, aiMessageToNrEvent, aiAgentTaskSummaryToNrEvent, aiAntiPatternToNrEvent, aiAgentMessageToNrEvent, aiContextResetToNrEvent, EVENT_SCHEMA_VERSION, } from './events/index.js';
|
|
5
6
|
export { extractAnthropicTokens, extractGeminiTokens, extractOpenAITokens, extractBedrockTokens, extractMistralTokens, extractCohereTokens, extractStreamTokens, safeInt, TokenAccumulator, } from './tokens.js';
|
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies the "highSecurity forcibly disables content recording" rule.
|
|
3
|
+
* `explicitValue` is the recordContent value already resolved from an
|
|
4
|
+
* override or env var by the caller — this function only applies the gate,
|
|
5
|
+
* so the rule can't drift between call sites that each resolve their own
|
|
6
|
+
* `explicitValue` from a differently-named env var.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveRecordContent(highSecurity: boolean, explicitValue: boolean): boolean;
|
|
9
|
+
//# sourceMappingURL=record-content-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-content-gate.d.ts","sourceRoot":"","sources":["../../src/shared/record-content-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAE3F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies the "highSecurity forcibly disables content recording" rule.
|
|
3
|
+
* `explicitValue` is the recordContent value already resolved from an
|
|
4
|
+
* override or env var by the caller — this function only applies the gate,
|
|
5
|
+
* so the rule can't drift between call sites that each resolve their own
|
|
6
|
+
* `explicitValue` from a differently-named env var.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveRecordContent(highSecurity, explicitValue) {
|
|
9
|
+
return highSecurity ? false : explicitValue;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=record-content-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-content-gate.js","sourceRoot":"","sources":["../../src/shared/record-content-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAqB,EAAE,aAAsB;IAChF,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSRF guards for outbound requests to consumer-configurable endpoints
|
|
3
|
+
* (NR ingest `collectorHost`, OTLP `otlpEndpoint`). String/IP-literal
|
|
4
|
+
* validation only — no DNS-rebinding protection (that would require
|
|
5
|
+
* routing `fetch()` through a custom `undici` `Agent` dispatcher with a
|
|
6
|
+
* validating `connect.lookup`, an explicitly out-of-scope addition here).
|
|
7
|
+
*
|
|
8
|
+
* Split into two predicates so callers can apply different rules to the
|
|
9
|
+
* metadata check vs. the private/loopback check — `otlp-shared.ts` allows
|
|
10
|
+
* private-range addresses over `https:` (a legitimate internal-VPC OTel
|
|
11
|
+
* collector topology) but never allows a cloud metadata target under any
|
|
12
|
+
* scheme.
|
|
13
|
+
*/
|
|
14
|
+
/** True if `hostname` is a known cloud-metadata-service FQDN or IP. */
|
|
15
|
+
export declare function isCloudMetadataHost(hostname: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* True if `hostname` is loopback, RFC-1918-private, link-local, multicast,
|
|
18
|
+
* an IPv4-mapped-IPv6 form of any of the above, or a numeric encoding
|
|
19
|
+
* (decimal/octal/hex) of any of the above.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isPrivateOrLoopbackHost(hostname: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Throws if `url`'s host is a cloud-metadata endpoint or a private/loopback
|
|
24
|
+
* address. Does not check scheme — callers already enforce their own scheme
|
|
25
|
+
* rules before or after calling this.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateSsrfUrl(label: string, url: URL): void;
|
|
28
|
+
//# sourceMappingURL=ssrf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.d.ts","sourceRoot":"","sources":["../../../src/shared/security/ssrf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmGH,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAYjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAO7D"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSRF guards for outbound requests to consumer-configurable endpoints
|
|
3
|
+
* (NR ingest `collectorHost`, OTLP `otlpEndpoint`). String/IP-literal
|
|
4
|
+
* validation only — no DNS-rebinding protection (that would require
|
|
5
|
+
* routing `fetch()` through a custom `undici` `Agent` dispatcher with a
|
|
6
|
+
* validating `connect.lookup`, an explicitly out-of-scope addition here).
|
|
7
|
+
*
|
|
8
|
+
* Split into two predicates so callers can apply different rules to the
|
|
9
|
+
* metadata check vs. the private/loopback check — `otlp-shared.ts` allows
|
|
10
|
+
* private-range addresses over `https:` (a legitimate internal-VPC OTel
|
|
11
|
+
* collector topology) but never allows a cloud metadata target under any
|
|
12
|
+
* scheme.
|
|
13
|
+
*/
|
|
14
|
+
// Cloud metadata service FQDNs that resolve to internal addresses within
|
|
15
|
+
// cloud accounts. Blocking these prevents SSRF attacks from exfiltrating
|
|
16
|
+
// cloud credentials.
|
|
17
|
+
const BLOCKED_METADATA_FQDNS = new Set([
|
|
18
|
+
'metadata.google.internal',
|
|
19
|
+
'metadata.azure.com',
|
|
20
|
+
'ec2.internal',
|
|
21
|
+
'ec2.amazonaws.com',
|
|
22
|
+
]);
|
|
23
|
+
// Cloud metadata service IPs not covered by the RFC-1918/link-local pattern below.
|
|
24
|
+
const BLOCKED_METADATA_IPS = new Set(['100.100.100.200', '169.254.169.254']);
|
|
25
|
+
// Matches loopback, RFC-1918 private ranges, link-local (169.254/16), and
|
|
26
|
+
// IPv4 multicast (224.0.0.0/4, i.e. 224-239.x.x.x). Also blocks IPv6
|
|
27
|
+
// unspecified (::), IPv6 loopback (::1), IPv6 ULA (fc00::/7, fd00::/8), and
|
|
28
|
+
// IPv6 link-local (fe80::/10). Matches the hex-normalized IPv4-mapped IPv6
|
|
29
|
+
// form Node's URL parser produces (::ffff:7f00:1 for ::ffff:127.0.0.1).
|
|
30
|
+
// URL.hostname returns IPv6 addresses bracketed (e.g. [::1]); the optional
|
|
31
|
+
// [...] wrapper here handles that without requiring callers to strip it.
|
|
32
|
+
const PRIVATE_OR_LOOPBACK_HOST_RE = /^(?:\[)?(?:127\.(?:\d{1,3}\.)*\d{1,3}|10\.(?:\d{1,3}\.)*\d{1,3}|172\.(?:1[6-9]|2\d|3[01])\.(?:\d{1,3}\.)*\d{1,3}|192\.168\.(?:\d{1,3}\.)*\d{1,3}|169\.254\.(?:\d{1,3}\.)*\d{1,3}|(?:22[4-9]|23[0-9])\.(?:\d{1,3}\.)*\d{1,3}|::1|::|::ffff:(?:7f[0-9a-f]{2}|0a[0-9a-f]{2}|ac1[0-9a-f]|c0a8|a9fe)[0-9a-f]*:[0-9a-f]+|fc[0-9a-f]{2}:[0-9a-f:]*|fd[0-9a-f]{2}:[0-9a-f:]*|fe[89ab][0-9a-f]:[0-9a-f:]*|0\.0\.0\.0|localhost)(?:\])?$/i;
|
|
33
|
+
// Extracts an embedded IPv4 from a decimal-form IPv4-mapped IPv6 address
|
|
34
|
+
// (::ffff:127.0.0.1) or its hex form (::ffff:7f00:1). Returns null when the
|
|
35
|
+
// input isn't a recognized mapped address. The hex form is already caught
|
|
36
|
+
// directly by PRIVATE_OR_LOOPBACK_HOST_RE; this exists for the decimal form,
|
|
37
|
+
// which is not.
|
|
38
|
+
function extractIPv4FromMappedIPv6(host) {
|
|
39
|
+
const trimmed = host.replace(/[[\]]/g, '');
|
|
40
|
+
const decimalMatch = /^::ffff:((?:(?: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]?))$/i.exec(trimmed);
|
|
41
|
+
if (decimalMatch) {
|
|
42
|
+
return decimalMatch[1];
|
|
43
|
+
}
|
|
44
|
+
const hexMatch = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i.exec(trimmed);
|
|
45
|
+
if (hexMatch) {
|
|
46
|
+
const part1 = parseInt(hexMatch[1], 16);
|
|
47
|
+
const part2 = parseInt(hexMatch[2], 16);
|
|
48
|
+
const b1 = (part1 >> 8) & 0xff;
|
|
49
|
+
const b2 = part1 & 0xff;
|
|
50
|
+
const b3 = (part2 >> 8) & 0xff;
|
|
51
|
+
const b4 = part2 & 0xff;
|
|
52
|
+
return `${b1}.${b2}.${b3}.${b4}`;
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
// Canonicalizes decimal/octal/hex-encoded numeric IPv4 host literals
|
|
57
|
+
// (2130706433, 0177.0.0.1, 0x7f.0.0.1 — all 127.0.0.1) to dotted-decimal
|
|
58
|
+
// form. Returns null when the input isn't a recognized numeric encoding.
|
|
59
|
+
// Node's own URL parser already normalizes most of these before a hostname
|
|
60
|
+
// reaches this module (see plan doc), but isPrivateOrLoopbackHost is also
|
|
61
|
+
// called directly with raw, non-URL-parsed strings, where this still matters.
|
|
62
|
+
function canonicalizeNumericIP(host) {
|
|
63
|
+
if (/^\d+$/.test(host)) {
|
|
64
|
+
const num = BigInt(host);
|
|
65
|
+
if (num >= 0n && num <= 0xffffffffn) {
|
|
66
|
+
const b1 = Number((num >> 24n) & 0xffn);
|
|
67
|
+
const b2 = Number((num >> 16n) & 0xffn);
|
|
68
|
+
const b3 = Number((num >> 8n) & 0xffn);
|
|
69
|
+
const b4 = Number(num & 0xffn);
|
|
70
|
+
return `${b1}.${b2}.${b3}.${b4}`;
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const parts = host.split('.');
|
|
75
|
+
if (parts.length === 4) {
|
|
76
|
+
const octets = [];
|
|
77
|
+
for (const part of parts) {
|
|
78
|
+
let value;
|
|
79
|
+
if (part.startsWith('0x') || part.startsWith('0X')) {
|
|
80
|
+
value = parseInt(part, 16);
|
|
81
|
+
}
|
|
82
|
+
else if (part.startsWith('0') && part.length > 1 && /^[0-7]+$/.test(part.slice(1))) {
|
|
83
|
+
value = parseInt(part, 8);
|
|
84
|
+
}
|
|
85
|
+
else if (/^\d+$/.test(part)) {
|
|
86
|
+
value = parseInt(part, 10);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
if (value < 0 || value > 255) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
octets.push(value);
|
|
95
|
+
}
|
|
96
|
+
return octets.join('.');
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/** True if `hostname` is a known cloud-metadata-service FQDN or IP. */
|
|
101
|
+
export function isCloudMetadataHost(hostname) {
|
|
102
|
+
const host = hostname.replace(/\.$/, '');
|
|
103
|
+
if (BLOCKED_METADATA_FQDNS.has(host.toLowerCase()))
|
|
104
|
+
return true;
|
|
105
|
+
if (BLOCKED_METADATA_IPS.has(host))
|
|
106
|
+
return true;
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* True if `hostname` is loopback, RFC-1918-private, link-local, multicast,
|
|
111
|
+
* an IPv4-mapped-IPv6 form of any of the above, or a numeric encoding
|
|
112
|
+
* (decimal/octal/hex) of any of the above.
|
|
113
|
+
*/
|
|
114
|
+
export function isPrivateOrLoopbackHost(hostname) {
|
|
115
|
+
const host = hostname.replace(/\.$/, '');
|
|
116
|
+
const canonicalIP = canonicalizeNumericIP(host);
|
|
117
|
+
if (canonicalIP && PRIVATE_OR_LOOPBACK_HOST_RE.test(canonicalIP))
|
|
118
|
+
return true;
|
|
119
|
+
if (PRIVATE_OR_LOOPBACK_HOST_RE.test(host))
|
|
120
|
+
return true;
|
|
121
|
+
const embeddedIPv4 = extractIPv4FromMappedIPv6(host);
|
|
122
|
+
if (embeddedIPv4 && PRIVATE_OR_LOOPBACK_HOST_RE.test(embeddedIPv4))
|
|
123
|
+
return true;
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Throws if `url`'s host is a cloud-metadata endpoint or a private/loopback
|
|
128
|
+
* address. Does not check scheme — callers already enforce their own scheme
|
|
129
|
+
* rules before or after calling this.
|
|
130
|
+
*/
|
|
131
|
+
export function validateSsrfUrl(label, url) {
|
|
132
|
+
if (isCloudMetadataHost(url.hostname)) {
|
|
133
|
+
throw new Error(`${label}: host "${url.hostname}" is a cloud metadata service endpoint`);
|
|
134
|
+
}
|
|
135
|
+
if (isPrivateOrLoopbackHost(url.hostname)) {
|
|
136
|
+
throw new Error(`${label}: host "${url.hostname}" resolves to a private or loopback address`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=ssrf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.js","sourceRoot":"","sources":["../../../src/shared/security/ssrf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/shared/transport/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/shared/transport/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBnE;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAkBzC,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAsCtF;AA4DD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,MAAM,CAiBR;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKrF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,CAOR;AA0BD,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA0KtF"}
|
|
@@ -3,6 +3,7 @@ import { promisify } from 'node:util';
|
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { createLogger } from '../logger.js';
|
|
5
5
|
import { buildUserAgent } from './otlp-shared.js';
|
|
6
|
+
import { validateSsrfUrl } from '../security/ssrf.js';
|
|
6
7
|
const gzipAsync = promisify(gzip);
|
|
7
8
|
const logger = createLogger('transport');
|
|
8
9
|
/**
|
|
@@ -209,6 +210,14 @@ function parseRetryAfterMs(response) {
|
|
|
209
210
|
export async function sendWithRetry(options) {
|
|
210
211
|
const { url, body, licenseKey, maxRetries, baseDelayMs, maxDelayMs, requestTimeoutMs } = options;
|
|
211
212
|
const requestId = newRequestId();
|
|
213
|
+
try {
|
|
214
|
+
validateSsrfUrl('sendWithRetry', new URL(url));
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
218
|
+
logger.error('Blocked outbound request to disallowed host', { requestId, error: message });
|
|
219
|
+
return { success: false, statusCode: null, retryCount: 0, error: message };
|
|
220
|
+
}
|
|
212
221
|
let compressed;
|
|
213
222
|
try {
|
|
214
223
|
compressed = await compressPayload(body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/shared/transport/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/shared/transport/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export class OtlpEventBridge {
|
|
|
25
25
|
});
|
|
26
26
|
this.loggerProvider = new LoggerProvider({
|
|
27
27
|
resource: resourceFromAttributes({ 'service.name': options.appName }),
|
|
28
|
-
processors: [new BatchLogRecordProcessor(exporter)],
|
|
28
|
+
processors: [new BatchLogRecordProcessor({ exporter })],
|
|
29
29
|
});
|
|
30
30
|
this.otelLogger = this.loggerProvider.getLogger(clientName, clientVersion || undefined);
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-event-bridge.js","sourceRoot":"","sources":["../../../src/shared/transport/otlp-event-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAiBjD,MAAM,OAAO,eAAe;IACT,cAAc,CAAiB;IAC/B,UAAU,CAA0C;IACpD,OAAO,CAAU;IACjB,QAAQ,CAAS;IAC1B,eAAe,GAAG,KAAK,CAAC;IAEhC,YAAY,OAA+B;QACzC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACnC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,UAAU;YAClC,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,YAAY,EAAE,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC;aACxD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,QAAQ,EAAE,sBAAsB,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACrE,UAAU,EAAE,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"otlp-event-bridge.js","sourceRoot":"","sources":["../../../src/shared/transport/otlp-event-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-shared.d.ts","sourceRoot":"","sources":["../../../src/shared/transport/otlp-shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"otlp-shared.d.ts","sourceRoot":"","sources":["../../../src/shared/transport/otlp-shared.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAM1E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAwC3E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '../logger.js';
|
|
2
|
+
import { isCloudMetadataHost, isPrivateOrLoopbackHost } from '../security/ssrf.js';
|
|
2
3
|
const logger = createLogger('otlp-shared');
|
|
3
4
|
/**
|
|
4
5
|
* Default client name stamped on User-Agent headers and OTel scope/logger
|
|
@@ -35,11 +36,6 @@ export function hasOtlpAuthHeader(headers) {
|
|
|
35
36
|
}
|
|
36
37
|
return false;
|
|
37
38
|
}
|
|
38
|
-
// Validate OTLP endpoint scheme. https:// is required for
|
|
39
|
-
// any non-localhost destination because the payload may contain user prompt
|
|
40
|
-
// fragments (PII). Plain http:// is allowed only against loopback to support
|
|
41
|
-
// local development and testing. Shared by OtlpTransport and OtlpEventBridge
|
|
42
|
-
// (deduplicates previously identical implementations).
|
|
43
39
|
export function validateOtlpEndpoint(endpoint, source) {
|
|
44
40
|
let parsed;
|
|
45
41
|
try {
|
|
@@ -48,18 +44,30 @@ export function validateOtlpEndpoint(endpoint, source) {
|
|
|
48
44
|
catch {
|
|
49
45
|
throw new Error(`${source}: invalid OTLP endpoint URL: ${endpoint}`);
|
|
50
46
|
}
|
|
47
|
+
// Never a legitimate target under any scheme — block before the
|
|
48
|
+
// scheme-based branches below so an https:// metadata target isn't
|
|
49
|
+
// waved through by the "https is always fine" early return.
|
|
50
|
+
if (isCloudMetadataHost(parsed.hostname)) {
|
|
51
|
+
throw new Error(`${source}: OTLP endpoint targets a cloud metadata service: ${endpoint}`);
|
|
52
|
+
}
|
|
51
53
|
if (parsed.protocol === 'https:')
|
|
52
54
|
return;
|
|
53
55
|
if (parsed.protocol !== 'http:') {
|
|
54
56
|
throw new Error(`${source}: OTLP endpoint must use http(s); got ${parsed.protocol}`);
|
|
55
57
|
}
|
|
56
|
-
// http://: only acceptable on loopback
|
|
58
|
+
// http://: only acceptable on loopback, or (for now) on a private-range
|
|
59
|
+
// address — an internal-VPC OTel collector is a common, legitimate
|
|
60
|
+
// deployment topology, not a misconfiguration. 0.0.0.0 is a wildcard that
|
|
61
|
+
// binds to ALL interfaces, not loopback only — cleartext traffic to it is
|
|
62
|
+
// reachable from any network, so it's covered by isPrivateOrLoopbackHost
|
|
63
|
+
// below rather than treated as loopback.
|
|
57
64
|
const host = parsed.hostname;
|
|
58
|
-
// 0.0.0.0 is a wildcard that binds to ALL interfaces, not loopback only —
|
|
59
|
-
// cleartext traffic to it is reachable from any network.
|
|
60
65
|
const isLoopback = host === 'localhost' || host === '127.0.0.1' || host === '::1';
|
|
61
|
-
if (
|
|
62
|
-
|
|
66
|
+
if (isLoopback)
|
|
67
|
+
return;
|
|
68
|
+
if (isPrivateOrLoopbackHost(host)) {
|
|
69
|
+
throw new Error(`${source}: OTLP endpoint uses plain http:// to a private-network host — use https:// for a non-loopback collector`);
|
|
63
70
|
}
|
|
71
|
+
logger.warn(`${source}: OTLP endpoint uses plain http:// to a non-loopback host — payload may contain PII and should not be transmitted in cleartext`, { endpoint });
|
|
64
72
|
}
|
|
65
73
|
//# sourceMappingURL=otlp-shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-shared.js","sourceRoot":"","sources":["../../../src/shared/transport/otlp-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"otlp-shared.js","sourceRoot":"","sources":["../../../src/shared/transport/otlp-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAqB,EAAE,QAAgB;IAC1E,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,UAA8B,EAC9B,aAAiC;IAEjC,MAAM,IAAI,GAAG,UAAU,IAAI,mBAAmB,CAAC;IAC/C,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA+B;IAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,eAAe,IAAI,EAAE,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,MAAc;IACnE,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,gEAAgE;IAChE,mEAAmE;IACnE,4DAA4D;IAC5D,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qDAAqD,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,yCAAyC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,wEAAwE;IACxE,mEAAmE;IACnE,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,yCAAyC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;IAClF,IAAI,UAAU;QAAE,OAAO;IAEvB,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,0GAA0G,CACpH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,gIAAgI,EACzI,EAAE,QAAQ,EAAE,CACb,CAAC;AACJ,CAAC"}
|