@empire-builder-kit/runtime 1.0.0-beta.9 → 1.0.0-rc.2
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/NOTICE +6 -0
- package/package.json +93 -3
- package/src/api-contract/artifacts.d.ts +67 -0
- package/src/api-contract/artifacts.js +349 -0
- package/src/api-contract/artifacts.js.map +1 -0
- package/src/api-contract/client.d.ts +79 -0
- package/src/api-contract/client.js +561 -0
- package/src/api-contract/client.js.map +1 -0
- package/src/api-contract/errors.d.ts +7 -0
- package/src/api-contract/errors.js +11 -0
- package/src/api-contract/errors.js.map +1 -0
- package/src/api-contract/index.d.ts +9 -0
- package/src/api-contract/index.js +10 -0
- package/src/api-contract/index.js.map +1 -0
- package/src/api-contract/operation.d.ts +118 -0
- package/src/api-contract/operation.js +609 -0
- package/src/api-contract/operation.js.map +1 -0
- package/src/api-contract/schema.d.ts +81 -0
- package/src/api-contract/schema.js +313 -0
- package/src/api-contract/schema.js.map +1 -0
- package/src/api-contract/server.d.ts +77 -0
- package/src/api-contract/server.js +466 -0
- package/src/api-contract/server.js.map +1 -0
- package/src/async-work/contract.d.ts +17 -0
- package/src/async-work/contract.js +105 -0
- package/src/async-work/contract.js.map +1 -0
- package/src/async-work/idempotency.d.ts +123 -0
- package/src/async-work/idempotency.js +167 -0
- package/src/async-work/idempotency.js.map +1 -0
- package/src/async-work/index.d.ts +8 -0
- package/src/async-work/index.js +9 -0
- package/src/async-work/index.js.map +1 -0
- package/src/async-work/provider.d.ts +90 -0
- package/src/async-work/provider.js +155 -0
- package/src/async-work/provider.js.map +1 -0
- package/src/async-work/recovery.d.ts +103 -0
- package/src/async-work/recovery.js +291 -0
- package/src/async-work/recovery.js.map +1 -0
- package/src/async-work/schedule.d.ts +117 -0
- package/src/async-work/schedule.js +279 -0
- package/src/async-work/schedule.js.map +1 -0
- package/src/async-work/sqs.d.ts +133 -0
- package/src/async-work/sqs.js +280 -0
- package/src/async-work/sqs.js.map +1 -0
- package/src/async-work/webhook.d.ts +60 -0
- package/src/async-work/webhook.js +178 -0
- package/src/async-work/webhook.js.map +1 -0
- package/src/async-work/workflow.d.ts +98 -0
- package/src/async-work/workflow.js +225 -0
- package/src/async-work/workflow.js.map +1 -0
- package/src/auth-backend.d.ts +12 -2
- package/src/auth-backend.js +30 -18
- package/src/auth-backend.js.map +1 -1
- package/src/authorization/admission.d.ts +30 -0
- package/src/authorization/admission.js +87 -0
- package/src/authorization/admission.js.map +1 -0
- package/src/authorization/approval.d.ts +99 -0
- package/src/authorization/approval.js +249 -0
- package/src/authorization/approval.js.map +1 -0
- package/src/authorization/audit.d.ts +35 -0
- package/src/authorization/audit.js +35 -0
- package/src/authorization/audit.js.map +1 -0
- package/src/authorization/delegation.d.ts +149 -0
- package/src/authorization/delegation.js +401 -0
- package/src/authorization/delegation.js.map +1 -0
- package/src/authorization/errors.d.ts +32 -0
- package/src/authorization/errors.js +153 -0
- package/src/authorization/errors.js.map +1 -0
- package/src/authorization/evaluator.d.ts +39 -0
- package/src/authorization/evaluator.js +199 -0
- package/src/authorization/evaluator.js.map +1 -0
- package/src/authorization/index.d.ts +14 -0
- package/src/authorization/index.js +15 -0
- package/src/authorization/index.js.map +1 -0
- package/src/authorization/machine-token.d.ts +87 -0
- package/src/authorization/machine-token.js +201 -0
- package/src/authorization/machine-token.js.map +1 -0
- package/src/authorization/machine.d.ts +32 -0
- package/src/authorization/machine.js +41 -0
- package/src/authorization/machine.js.map +1 -0
- package/src/authorization/model.d.ts +112 -0
- package/src/authorization/model.js +112 -0
- package/src/authorization/model.js.map +1 -0
- package/src/canonical-json.cjs +157 -0
- package/src/canonical-json.d.cts +26 -0
- package/src/canonical-json.d.ts +18 -0
- package/src/canonical-json.js +125 -0
- package/src/canonical-json.js.map +1 -0
- package/src/configuration/contract.d.ts +107 -0
- package/src/configuration/contract.js +461 -0
- package/src/configuration/contract.js.map +1 -0
- package/src/configuration/index.d.ts +3 -0
- package/src/configuration/index.js +4 -0
- package/src/configuration/index.js.map +1 -0
- package/src/configuration/provider.d.ts +59 -0
- package/src/configuration/provider.js +198 -0
- package/src/configuration/provider.js.map +1 -0
- package/src/configuration/rollout-evaluator.cjs +54 -0
- package/src/configuration/rollout-evaluator.d.cts +26 -0
- package/src/configuration/rollout-evaluator.d.ts +18 -0
- package/src/configuration/rollout-evaluator.js +38 -0
- package/src/configuration/rollout-evaluator.js.map +1 -0
- package/src/configuration/rollout-key.cjs +38 -0
- package/src/configuration/rollout-key.d.cts +14 -0
- package/src/configuration/rollout-key.d.ts +10 -0
- package/src/configuration/rollout-key.js +26 -0
- package/src/configuration/rollout-key.js.map +1 -0
- package/src/configuration/rollout.d.ts +60 -0
- package/src/configuration/rollout.js +42 -0
- package/src/configuration/rollout.js.map +1 -0
- package/src/data-lifecycle/contract.d.ts +33 -0
- package/src/data-lifecycle/contract.js +118 -0
- package/src/data-lifecycle/contract.js.map +1 -0
- package/src/data-lifecycle/event.d.ts +28 -0
- package/src/data-lifecycle/event.js +76 -0
- package/src/data-lifecycle/event.js.map +1 -0
- package/src/data-lifecycle/evidence.d.ts +65 -0
- package/src/data-lifecycle/evidence.js +162 -0
- package/src/data-lifecycle/evidence.js.map +1 -0
- package/src/data-lifecycle/holds.d.ts +29 -0
- package/src/data-lifecycle/holds.js +124 -0
- package/src/data-lifecycle/holds.js.map +1 -0
- package/src/data-lifecycle/index.d.ts +8 -0
- package/src/data-lifecycle/index.js +9 -0
- package/src/data-lifecycle/index.js.map +1 -0
- package/src/data-lifecycle/policy.d.ts +16 -0
- package/src/data-lifecycle/policy.js +79 -0
- package/src/data-lifecycle/policy.js.map +1 -0
- package/src/data-lifecycle/restore.d.ts +90 -0
- package/src/data-lifecycle/restore.js +336 -0
- package/src/data-lifecycle/restore.js.map +1 -0
- package/src/data-lifecycle/retention.d.ts +57 -0
- package/src/data-lifecycle/retention.js +232 -0
- package/src/data-lifecycle/retention.js.map +1 -0
- package/src/data-lifecycle/rights.d.ts +171 -0
- package/src/data-lifecycle/rights.js +533 -0
- package/src/data-lifecycle/rights.js.map +1 -0
- package/src/database.d.ts +36 -0
- package/src/database.js +119 -0
- package/src/database.js.map +1 -0
- package/src/deterministic-order.cjs +16 -0
- package/src/deterministic-order.d.cts +9 -0
- package/src/deterministic-order.d.ts +7 -0
- package/src/deterministic-order.js +10 -0
- package/src/deterministic-order.js.map +1 -0
- package/src/events.d.ts +28 -19
- package/src/events.js +171 -66
- package/src/events.js.map +1 -1
- package/src/index.d.ts +7 -1
- package/src/index.js +24 -0
- package/src/index.js.map +1 -1
- package/src/lambda.d.ts +8 -2
- package/src/lambda.js +100 -39
- package/src/lambda.js.map +1 -1
- package/src/logging.d.ts +95 -36
- package/src/logging.js +460 -62
- package/src/logging.js.map +1 -1
- package/src/observability.d.ts +80 -18
- package/src/observability.js +252 -61
- package/src/observability.js.map +1 -1
- package/src/performance/index.d.ts +1 -0
- package/src/performance/index.js +2 -0
- package/src/performance/index.js.map +1 -0
- package/src/performance/protected-load-endpoint.d.ts +140 -0
- package/src/performance/protected-load-endpoint.js +462 -0
- package/src/performance/protected-load-endpoint.js.map +1 -0
- package/src/rds-global-ca-bundle.d.ts +1 -0
- package/src/rds-global-ca-bundle.js +2742 -0
- package/src/rds-global-ca-bundle.js.map +1 -0
- package/src/reliability/burn.d.ts +39 -0
- package/src/reliability/burn.js +102 -0
- package/src/reliability/burn.js.map +1 -0
- package/src/reliability/contract.d.ts +5 -0
- package/src/reliability/contract.js +317 -0
- package/src/reliability/contract.js.map +1 -0
- package/src/reliability/incident.d.ts +16 -0
- package/src/reliability/incident.js +562 -0
- package/src/reliability/incident.js.map +1 -0
- package/src/reliability/index.d.ts +5 -0
- package/src/reliability/index.js +6 -0
- package/src/reliability/index.js.map +1 -0
- package/src/reliability/model.d.ts +191 -0
- package/src/reliability/model.fixtures.d.ts +2 -0
- package/src/reliability/model.fixtures.js +57 -0
- package/src/reliability/model.fixtures.js.map +1 -0
- package/src/reliability/model.js +2 -0
- package/src/reliability/model.js.map +1 -0
- package/src/reliability/slo.d.ts +9 -0
- package/src/reliability/slo.js +74 -0
- package/src/reliability/slo.js.map +1 -0
- package/src/request-context.d.ts +57 -15
- package/src/request-context.js +116 -36
- package/src/request-context.js.map +1 -1
- package/src/safe-reference.cjs +57 -0
- package/src/safe-reference.d.cts +25 -0
- package/src/safe-reference.d.ts +11 -0
- package/src/safe-reference.js +46 -0
- package/src/safe-reference.js.map +1 -0
- package/src/secrets/contract.d.ts +99 -0
- package/src/secrets/contract.js +238 -0
- package/src/secrets/contract.js.map +1 -0
- package/src/secrets/index.d.ts +4 -0
- package/src/secrets/index.js +5 -0
- package/src/secrets/index.js.map +1 -0
- package/src/secrets/observability.d.ts +14 -0
- package/src/secrets/observability.js +100 -0
- package/src/secrets/observability.js.map +1 -0
- package/src/secrets/personal.d.ts +48 -0
- package/src/secrets/personal.js +332 -0
- package/src/secrets/personal.js.map +1 -0
- package/src/secrets/resolver.d.ts +125 -0
- package/src/secrets/resolver.js +602 -0
- package/src/secrets/resolver.js.map +1 -0
- package/src/secrets/sensitive-patterns.cjs +84 -0
- package/src/secrets/sensitive-patterns.d.cts +62 -0
- package/src/secrets/sensitive-patterns.d.ts +40 -0
- package/src/secrets/sensitive-patterns.js +60 -0
- package/src/secrets/sensitive-patterns.js.map +1 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// @generated from packages/runtime/src/secrets/sensitive-patterns.ts by tools/runtime/generate-shared-authorities.mjs
|
|
2
|
+
// Do not edit this artifact directly.
|
|
3
|
+
'use strict';
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
exports.CREDENTIAL_SHAPE_DEFINITIONS = exports.CREDENTIAL_SHAPE_KINDS = void 0;
|
|
6
|
+
exports.detectCredentialShapes = detectCredentialShapes;
|
|
7
|
+
exports.hasCredentialShape = hasCredentialShape;
|
|
8
|
+
exports.redactCredentialShapes = redactCredentialShapes;
|
|
9
|
+
exports.CREDENTIAL_SHAPE_KINDS = Object.freeze([
|
|
10
|
+
'authorization-header',
|
|
11
|
+
'cookie-header',
|
|
12
|
+
'credential-assignment',
|
|
13
|
+
'aws-access-key',
|
|
14
|
+
'private-key',
|
|
15
|
+
'jwt',
|
|
16
|
+
'provider-token',
|
|
17
|
+
'credential-url',
|
|
18
|
+
]);
|
|
19
|
+
/**
|
|
20
|
+
* One package-level authority for credential shapes that must never cross a
|
|
21
|
+
* logging, evidence, release, or supply-chain metadata boundary. This ESM
|
|
22
|
+
* entry remains source-loadable; its CommonJS peer is held to the same exact
|
|
23
|
+
* definitions and behavior by the parity spec.
|
|
24
|
+
*/
|
|
25
|
+
exports.CREDENTIAL_SHAPE_DEFINITIONS = Object.freeze([
|
|
26
|
+
Object.freeze({
|
|
27
|
+
kind: 'authorization-header',
|
|
28
|
+
pattern:
|
|
29
|
+
/\bauthorization["']?\s*[:=]\s*(?!["']?\[?redacted\]?)(?:["']?)(?:bearer|basic)\s+\S+/iu,
|
|
30
|
+
}),
|
|
31
|
+
Object.freeze({
|
|
32
|
+
kind: 'cookie-header',
|
|
33
|
+
pattern: /\b(?:cookie|set-cookie)["']?\s*[:=]\s*["']?[^\s;=]+=[^\s;]+/iu,
|
|
34
|
+
}),
|
|
35
|
+
Object.freeze({
|
|
36
|
+
kind: 'credential-assignment',
|
|
37
|
+
pattern:
|
|
38
|
+
/(?<![:/])\b(?:access[_-]?token|api[_-]?key|(?:aws[_-]?)?secret[_-]?access[_-]?key|client[_-]?secret|credential|id[_-]?token|pass(?:word|wd)|private[_-]?key|refresh[_-]?token|secret(?:[_-]?key)?|session[_-]?token|token)["']?\s*[:=]\s*(?!["']?(?:\[redacted\]|redacted|removed)["']?(?=\s*(?:[,}\];]|$)))(?:"(?:[^"\\\r\n]|\\.)+(?=")|'(?:[^'\\\r\n]|\\.)+(?=')|[^\s,;}\]]+)/iu,
|
|
39
|
+
}),
|
|
40
|
+
Object.freeze({
|
|
41
|
+
kind: 'aws-access-key',
|
|
42
|
+
pattern: /\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/u,
|
|
43
|
+
}),
|
|
44
|
+
Object.freeze({
|
|
45
|
+
kind: 'private-key',
|
|
46
|
+
pattern: /-----BEGIN (?:[A-Z ]+ )?PRIVATE KEY-----/u,
|
|
47
|
+
}),
|
|
48
|
+
Object.freeze({
|
|
49
|
+
kind: 'jwt',
|
|
50
|
+
pattern: /\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/u,
|
|
51
|
+
}),
|
|
52
|
+
Object.freeze({
|
|
53
|
+
kind: 'provider-token',
|
|
54
|
+
pattern:
|
|
55
|
+
/\b(?:gh[pousr]_|github_pat_|npm_|sk-(?:proj-)?|sk_(?:live|test)_|xox[baprs]-)[A-Za-z0-9_-]{12,}\b/u,
|
|
56
|
+
}),
|
|
57
|
+
Object.freeze({
|
|
58
|
+
kind: 'credential-url',
|
|
59
|
+
pattern:
|
|
60
|
+
/\b(?:postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis):\/\/[^/\s:@]+:[^@\s/]+@/iu,
|
|
61
|
+
}),
|
|
62
|
+
]);
|
|
63
|
+
function detectCredentialShapes(value) {
|
|
64
|
+
return exports.CREDENTIAL_SHAPE_DEFINITIONS.filter(({ pattern }) =>
|
|
65
|
+
pattern.test(value),
|
|
66
|
+
).map(({ kind }) => kind);
|
|
67
|
+
}
|
|
68
|
+
function hasCredentialShape(value) {
|
|
69
|
+
return exports.CREDENTIAL_SHAPE_DEFINITIONS.some(({ pattern }) =>
|
|
70
|
+
pattern.test(value),
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
function redactCredentialShapes(value) {
|
|
74
|
+
return exports.CREDENTIAL_SHAPE_DEFINITIONS.reduce(
|
|
75
|
+
(redacted, { kind, pattern }) =>
|
|
76
|
+
redacted.replace(
|
|
77
|
+
new RegExp(pattern.source, `${pattern.flags}g`),
|
|
78
|
+
`[REDACTED_${kind.toUpperCase().replace(/-/g, '_')}]`,
|
|
79
|
+
),
|
|
80
|
+
value,
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
Object.freeze(module.exports);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// @generated from packages/runtime/src/secrets/sensitive-patterns.ts by tools/runtime/generate-shared-authorities.mjs
|
|
2
|
+
// Do not edit this artifact directly.
|
|
3
|
+
export declare const CREDENTIAL_SHAPE_KINDS: readonly [
|
|
4
|
+
'authorization-header',
|
|
5
|
+
'cookie-header',
|
|
6
|
+
'credential-assignment',
|
|
7
|
+
'aws-access-key',
|
|
8
|
+
'private-key',
|
|
9
|
+
'jwt',
|
|
10
|
+
'provider-token',
|
|
11
|
+
'credential-url',
|
|
12
|
+
];
|
|
13
|
+
export type CredentialShapeKind = (typeof CREDENTIAL_SHAPE_KINDS)[number];
|
|
14
|
+
export interface CredentialShapeDefinition {
|
|
15
|
+
kind: CredentialShapeKind;
|
|
16
|
+
pattern: RegExp;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* One package-level authority for credential shapes that must never cross a
|
|
20
|
+
* logging, evidence, release, or supply-chain metadata boundary. This ESM
|
|
21
|
+
* entry remains source-loadable; its CommonJS peer is held to the same exact
|
|
22
|
+
* definitions and behavior by the parity spec.
|
|
23
|
+
*/
|
|
24
|
+
export declare const CREDENTIAL_SHAPE_DEFINITIONS: readonly (
|
|
25
|
+
| Readonly<{
|
|
26
|
+
kind: 'authorization-header';
|
|
27
|
+
pattern: RegExp;
|
|
28
|
+
}>
|
|
29
|
+
| Readonly<{
|
|
30
|
+
kind: 'cookie-header';
|
|
31
|
+
pattern: RegExp;
|
|
32
|
+
}>
|
|
33
|
+
| Readonly<{
|
|
34
|
+
kind: 'credential-assignment';
|
|
35
|
+
pattern: RegExp;
|
|
36
|
+
}>
|
|
37
|
+
| Readonly<{
|
|
38
|
+
kind: 'aws-access-key';
|
|
39
|
+
pattern: RegExp;
|
|
40
|
+
}>
|
|
41
|
+
| Readonly<{
|
|
42
|
+
kind: 'private-key';
|
|
43
|
+
pattern: RegExp;
|
|
44
|
+
}>
|
|
45
|
+
| Readonly<{
|
|
46
|
+
kind: 'jwt';
|
|
47
|
+
pattern: RegExp;
|
|
48
|
+
}>
|
|
49
|
+
| Readonly<{
|
|
50
|
+
kind: 'provider-token';
|
|
51
|
+
pattern: RegExp;
|
|
52
|
+
}>
|
|
53
|
+
| Readonly<{
|
|
54
|
+
kind: 'credential-url';
|
|
55
|
+
pattern: RegExp;
|
|
56
|
+
}>
|
|
57
|
+
)[];
|
|
58
|
+
export declare function detectCredentialShapes(
|
|
59
|
+
value: string,
|
|
60
|
+
): CredentialShapeKind[];
|
|
61
|
+
export declare function hasCredentialShape(value: string): boolean;
|
|
62
|
+
export declare function redactCredentialShapes(value: string): string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const CREDENTIAL_SHAPE_KINDS: readonly ["authorization-header", "cookie-header", "credential-assignment", "aws-access-key", "private-key", "jwt", "provider-token", "credential-url"];
|
|
2
|
+
export type CredentialShapeKind = (typeof CREDENTIAL_SHAPE_KINDS)[number];
|
|
3
|
+
export interface CredentialShapeDefinition {
|
|
4
|
+
kind: CredentialShapeKind;
|
|
5
|
+
pattern: RegExp;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* One package-level authority for credential shapes that must never cross a
|
|
9
|
+
* logging, evidence, release, or supply-chain metadata boundary. This ESM
|
|
10
|
+
* entry remains source-loadable; its CommonJS peer is held to the same exact
|
|
11
|
+
* definitions and behavior by the parity spec.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CREDENTIAL_SHAPE_DEFINITIONS: readonly (Readonly<{
|
|
14
|
+
kind: "authorization-header";
|
|
15
|
+
pattern: RegExp;
|
|
16
|
+
}> | Readonly<{
|
|
17
|
+
kind: "cookie-header";
|
|
18
|
+
pattern: RegExp;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: "credential-assignment";
|
|
21
|
+
pattern: RegExp;
|
|
22
|
+
}> | Readonly<{
|
|
23
|
+
kind: "aws-access-key";
|
|
24
|
+
pattern: RegExp;
|
|
25
|
+
}> | Readonly<{
|
|
26
|
+
kind: "private-key";
|
|
27
|
+
pattern: RegExp;
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: "jwt";
|
|
30
|
+
pattern: RegExp;
|
|
31
|
+
}> | Readonly<{
|
|
32
|
+
kind: "provider-token";
|
|
33
|
+
pattern: RegExp;
|
|
34
|
+
}> | Readonly<{
|
|
35
|
+
kind: "credential-url";
|
|
36
|
+
pattern: RegExp;
|
|
37
|
+
}>)[];
|
|
38
|
+
export declare function detectCredentialShapes(value: string): CredentialShapeKind[];
|
|
39
|
+
export declare function hasCredentialShape(value: string): boolean;
|
|
40
|
+
export declare function redactCredentialShapes(value: string): string;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export const CREDENTIAL_SHAPE_KINDS = Object.freeze([
|
|
2
|
+
'authorization-header',
|
|
3
|
+
'cookie-header',
|
|
4
|
+
'credential-assignment',
|
|
5
|
+
'aws-access-key',
|
|
6
|
+
'private-key',
|
|
7
|
+
'jwt',
|
|
8
|
+
'provider-token',
|
|
9
|
+
'credential-url',
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* One package-level authority for credential shapes that must never cross a
|
|
13
|
+
* logging, evidence, release, or supply-chain metadata boundary. This ESM
|
|
14
|
+
* entry remains source-loadable; its CommonJS peer is held to the same exact
|
|
15
|
+
* definitions and behavior by the parity spec.
|
|
16
|
+
*/
|
|
17
|
+
export const CREDENTIAL_SHAPE_DEFINITIONS = Object.freeze([
|
|
18
|
+
Object.freeze({
|
|
19
|
+
kind: 'authorization-header',
|
|
20
|
+
pattern: /\bauthorization["']?\s*[:=]\s*(?!["']?\[?redacted\]?)(?:["']?)(?:bearer|basic)\s+\S+/iu,
|
|
21
|
+
}),
|
|
22
|
+
Object.freeze({
|
|
23
|
+
kind: 'cookie-header',
|
|
24
|
+
pattern: /\b(?:cookie|set-cookie)["']?\s*[:=]\s*["']?[^\s;=]+=[^\s;]+/iu,
|
|
25
|
+
}),
|
|
26
|
+
Object.freeze({
|
|
27
|
+
kind: 'credential-assignment',
|
|
28
|
+
pattern: /(?<![:/])\b(?:access[_-]?token|api[_-]?key|(?:aws[_-]?)?secret[_-]?access[_-]?key|client[_-]?secret|credential|id[_-]?token|pass(?:word|wd)|private[_-]?key|refresh[_-]?token|secret(?:[_-]?key)?|session[_-]?token|token)["']?\s*[:=]\s*(?!["']?(?:\[redacted\]|redacted|removed)["']?(?=\s*(?:[,}\];]|$)))(?:"(?:[^"\\\r\n]|\\.)+(?=")|'(?:[^'\\\r\n]|\\.)+(?=')|[^\s,;}\]]+)/iu,
|
|
29
|
+
}),
|
|
30
|
+
Object.freeze({
|
|
31
|
+
kind: 'aws-access-key',
|
|
32
|
+
pattern: /\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/u,
|
|
33
|
+
}),
|
|
34
|
+
Object.freeze({
|
|
35
|
+
kind: 'private-key',
|
|
36
|
+
pattern: /-----BEGIN (?:[A-Z ]+ )?PRIVATE KEY-----/u,
|
|
37
|
+
}),
|
|
38
|
+
Object.freeze({
|
|
39
|
+
kind: 'jwt',
|
|
40
|
+
pattern: /\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/u,
|
|
41
|
+
}),
|
|
42
|
+
Object.freeze({
|
|
43
|
+
kind: 'provider-token',
|
|
44
|
+
pattern: /\b(?:gh[pousr]_|github_pat_|npm_|sk-(?:proj-)?|sk_(?:live|test)_|xox[baprs]-)[A-Za-z0-9_-]{12,}\b/u,
|
|
45
|
+
}),
|
|
46
|
+
Object.freeze({
|
|
47
|
+
kind: 'credential-url',
|
|
48
|
+
pattern: /\b(?:postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis):\/\/[^/\s:@]+:[^@\s/]+@/iu,
|
|
49
|
+
}),
|
|
50
|
+
]);
|
|
51
|
+
export function detectCredentialShapes(value) {
|
|
52
|
+
return CREDENTIAL_SHAPE_DEFINITIONS.filter(({ pattern }) => pattern.test(value)).map(({ kind }) => kind);
|
|
53
|
+
}
|
|
54
|
+
export function hasCredentialShape(value) {
|
|
55
|
+
return CREDENTIAL_SHAPE_DEFINITIONS.some(({ pattern }) => pattern.test(value));
|
|
56
|
+
}
|
|
57
|
+
export function redactCredentialShapes(value) {
|
|
58
|
+
return CREDENTIAL_SHAPE_DEFINITIONS.reduce((redacted, { kind, pattern }) => redacted.replace(new RegExp(pattern.source, `${pattern.flags}g`), `[REDACTED_${kind.toUpperCase().replace(/-/g, '_')}]`), value);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sensitive-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sensitive-patterns.js","sourceRoot":"","sources":["../../../../../packages/runtime/src/secrets/sensitive-patterns.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,sBAAsB;IACtB,eAAe;IACf,uBAAuB;IACvB,gBAAgB;IAChB,aAAa;IACb,KAAK;IACL,gBAAgB;IAChB,gBAAgB;CACR,CAAC,CAAC;AASZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EACL,wFAAwF;KAC3F,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EACL,mXAAmX;KACtX,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gCAAgC;KAC1C,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,2CAA2C;KACrD,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,iEAAiE;KAC3E,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,oGAAoG;KACvG,CAAC;IACF,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,+EAA+E;KAClF,CAAC;CAC4C,CAAC,CAAC;AAElD,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CACpB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACvD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,4BAA4B,CAAC,MAAM,CACxC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9B,QAAQ,CAAC,OAAO,CACd,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAC/C,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CACtD,EACH,KAAK,CACN,CAAC;AACJ,CAAC"}
|