atabey-shared 0.0.37 → 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.
- package/README.md +64 -25
- package/dist/agent-identity.d.ts +1 -0
- package/dist/agent-identity.js +2 -0
- package/dist/agent-identity.js.map +1 -0
- package/dist/api-catalog.d.ts +1 -0
- package/dist/api-catalog.js +2 -0
- package/dist/api-catalog.js.map +1 -0
- package/dist/audit-chain.d.ts +1 -51
- package/dist/audit-chain.js +1 -84
- package/dist/audit-chain.js.map +1 -1
- package/dist/audit.d.ts +1 -113
- package/dist/audit.js +1 -284
- package/dist/audit.js.map +1 -1
- package/dist/constants.d.ts +1 -152
- package/dist/constants.js +1 -215
- package/dist/constants.js.map +1 -1
- package/dist/database.d.ts +1 -5
- package/dist/database.js +1 -12
- package/dist/database.js.map +1 -1
- package/dist/errors.d.ts +1 -46
- package/dist/errors.js +1 -68
- package/dist/errors.js.map +1 -1
- package/dist/file-lock.d.ts +1 -88
- package/dist/file-lock.js +1 -250
- package/dist/file-lock.js.map +1 -1
- package/dist/fs.d.ts +1 -9
- package/dist/fs.js +1 -53
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +2 -22
- package/dist/index.js +2 -22
- package/dist/index.js.map +1 -1
- package/dist/job-queue.d.ts +1 -53
- package/dist/job-queue.js +1 -126
- package/dist/job-queue.js.map +1 -1
- package/dist/lock.d.ts +1 -82
- package/dist/lock.js +1 -158
- package/dist/lock.js.map +1 -1
- package/dist/logger.d.ts +1 -30
- package/dist/logger.js +1 -126
- package/dist/logger.js.map +1 -1
- package/dist/memory-prune.d.ts +1 -0
- package/dist/memory-prune.js +2 -0
- package/dist/memory-prune.js.map +1 -0
- package/dist/migrations.d.ts +1 -0
- package/dist/migrations.js +2 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modules/agent/agent-identity.d.ts +34 -0
- package/dist/modules/agent/agent-identity.js +77 -0
- package/dist/modules/agent/agent-identity.js.map +1 -0
- package/dist/modules/agent/api-catalog.d.ts +57 -0
- package/dist/modules/agent/api-catalog.js +254 -0
- package/dist/modules/agent/api-catalog.js.map +1 -0
- package/dist/modules/agent/index.d.ts +3 -0
- package/dist/modules/agent/index.js +4 -0
- package/dist/modules/agent/index.js.map +1 -0
- package/dist/modules/agent/tokenizer.d.ts +54 -0
- package/dist/modules/agent/tokenizer.js +272 -0
- package/dist/modules/agent/tokenizer.js.map +1 -0
- package/dist/modules/concurrency/file-lock.d.ts +93 -0
- package/dist/modules/concurrency/file-lock.js +240 -0
- package/dist/modules/concurrency/file-lock.js.map +1 -0
- package/dist/modules/concurrency/index.d.ts +6 -0
- package/dist/modules/concurrency/index.js +7 -0
- package/dist/modules/concurrency/index.js.map +1 -0
- package/dist/modules/concurrency/job-queue.d.ts +76 -0
- package/dist/modules/concurrency/job-queue.js +200 -0
- package/dist/modules/concurrency/job-queue.js.map +1 -0
- package/dist/modules/concurrency/lock.d.ts +82 -0
- package/dist/modules/concurrency/lock.js +159 -0
- package/dist/modules/concurrency/lock.js.map +1 -0
- package/dist/modules/concurrency/resilience.d.ts +84 -0
- package/dist/modules/concurrency/resilience.js +217 -0
- package/dist/modules/concurrency/resilience.js.map +1 -0
- package/dist/modules/concurrency/worker-pool.d.ts +52 -0
- package/dist/modules/concurrency/worker-pool.js +229 -0
- package/dist/modules/concurrency/worker-pool.js.map +1 -0
- package/dist/modules/concurrency/worker-thread.d.ts +21 -0
- package/dist/modules/concurrency/worker-thread.js +67 -0
- package/dist/modules/concurrency/worker-thread.js.map +1 -0
- package/dist/modules/index.d.ts +14 -0
- package/dist/modules/index.js +15 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/observability/audit-chain.d.ts +80 -0
- package/dist/modules/observability/audit-chain.js +262 -0
- package/dist/modules/observability/audit-chain.js.map +1 -0
- package/dist/modules/observability/audit.d.ts +121 -0
- package/dist/modules/observability/audit.js +322 -0
- package/dist/modules/observability/audit.js.map +1 -0
- package/dist/modules/observability/index.d.ts +4 -0
- package/dist/modules/observability/index.js +5 -0
- package/dist/modules/observability/index.js.map +1 -0
- package/dist/modules/observability/logger.d.ts +31 -0
- package/dist/modules/observability/logger.js +153 -0
- package/dist/modules/observability/logger.js.map +1 -0
- package/dist/modules/observability/otel.d.ts +39 -0
- package/dist/modules/observability/otel.js +93 -0
- package/dist/modules/observability/otel.js.map +1 -0
- package/dist/modules/primitives/constants.d.ts +150 -0
- package/dist/modules/primitives/constants.js +212 -0
- package/dist/modules/primitives/constants.js.map +1 -0
- package/dist/modules/primitives/errors.d.ts +46 -0
- package/dist/modules/primitives/errors.js +69 -0
- package/dist/modules/primitives/errors.js.map +1 -0
- package/dist/modules/primitives/fs.d.ts +9 -0
- package/dist/modules/primitives/fs.js +54 -0
- package/dist/modules/primitives/fs.js.map +1 -0
- package/dist/modules/primitives/index.d.ts +7 -0
- package/dist/modules/primitives/index.js +8 -0
- package/dist/modules/primitives/index.js.map +1 -0
- package/dist/modules/primitives/outbound-http.d.ts +32 -0
- package/dist/modules/primitives/outbound-http.js +88 -0
- package/dist/modules/primitives/outbound-http.js.map +1 -0
- package/dist/modules/primitives/string.d.ts +1 -0
- package/dist/modules/primitives/string.js +30 -0
- package/dist/modules/primitives/string.js.map +1 -0
- package/dist/modules/primitives/time.d.ts +5 -0
- package/dist/modules/primitives/time.js +35 -0
- package/dist/modules/primitives/time.js.map +1 -0
- package/dist/modules/primitives/types.d.ts +27 -0
- package/dist/modules/primitives/types.js +17 -0
- package/dist/modules/primitives/types.js.map +1 -0
- package/dist/modules/sandbox/index.d.ts +3 -0
- package/dist/modules/sandbox/index.js +4 -0
- package/dist/modules/sandbox/index.js.map +1 -0
- package/dist/modules/sandbox/sandbox-fs.d.ts +28 -0
- package/dist/modules/sandbox/sandbox-fs.js +143 -0
- package/dist/modules/sandbox/sandbox-fs.js.map +1 -0
- package/dist/modules/sandbox/sandbox-runtime.d.ts +78 -0
- package/dist/modules/sandbox/sandbox-runtime.js +282 -0
- package/dist/modules/sandbox/sandbox-runtime.js.map +1 -0
- package/dist/modules/sandbox/sandbox.d.ts +54 -0
- package/dist/modules/sandbox/sandbox.js +179 -0
- package/dist/modules/sandbox/sandbox.js.map +1 -0
- package/dist/modules/security/index.d.ts +5 -0
- package/dist/modules/security/index.js +6 -0
- package/dist/modules/security/index.js.map +1 -0
- package/dist/modules/security/pii.d.ts +70 -0
- package/dist/modules/security/pii.js +276 -0
- package/dist/modules/security/pii.js.map +1 -0
- package/dist/modules/security/policy-gate.d.ts +42 -0
- package/dist/modules/security/policy-gate.js +172 -0
- package/dist/modules/security/policy-gate.js.map +1 -0
- package/dist/modules/security/retention.d.ts +68 -0
- package/dist/modules/security/retention.js +218 -0
- package/dist/modules/security/retention.js.map +1 -0
- package/dist/modules/security/secrets.d.ts +99 -0
- package/dist/modules/security/secrets.js +371 -0
- package/dist/modules/security/secrets.js.map +1 -0
- package/dist/modules/security/tls.d.ts +87 -0
- package/dist/modules/security/tls.js +154 -0
- package/dist/modules/security/tls.js.map +1 -0
- package/dist/modules/storage/database.d.ts +6 -0
- package/dist/modules/storage/database.js +16 -0
- package/dist/modules/storage/database.js.map +1 -0
- package/dist/modules/storage/index.d.ts +4 -0
- package/dist/modules/storage/index.js +5 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/memory-prune.d.ts +18 -0
- package/dist/modules/storage/memory-prune.js +48 -0
- package/dist/modules/storage/memory-prune.js.map +1 -0
- package/dist/modules/storage/migrations.d.ts +69 -0
- package/dist/modules/storage/migrations.js +394 -0
- package/dist/modules/storage/migrations.js.map +1 -0
- package/dist/modules/storage/storage.d.ts +341 -0
- package/dist/modules/storage/storage.js +1004 -0
- package/dist/modules/storage/storage.js.map +1 -0
- package/dist/otel.d.ts +1 -0
- package/dist/otel.js +2 -0
- package/dist/otel.js.map +1 -0
- package/dist/outbound-http.d.ts +1 -0
- package/dist/outbound-http.js +2 -0
- package/dist/outbound-http.js.map +1 -0
- package/dist/pii.d.ts +1 -69
- package/dist/pii.js +1 -219
- package/dist/pii.js.map +1 -1
- package/dist/policy-gate.d.ts +1 -42
- package/dist/policy-gate.js +1 -147
- package/dist/policy-gate.js.map +1 -1
- package/dist/resilience.d.ts +1 -84
- package/dist/resilience.js +1 -216
- package/dist/resilience.js.map +1 -1
- package/dist/retention.d.ts +1 -63
- package/dist/retention.js +1 -170
- package/dist/retention.js.map +1 -1
- package/dist/sandbox-fs.d.ts +1 -28
- package/dist/sandbox-fs.js +1 -149
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-runtime.d.ts +1 -85
- package/dist/sandbox-runtime.js +1 -249
- package/dist/sandbox-runtime.js.map +1 -1
- package/dist/sandbox.d.ts +1 -54
- package/dist/sandbox.js +1 -178
- package/dist/sandbox.js.map +1 -1
- package/dist/secrets.d.ts +1 -0
- package/dist/secrets.js +2 -0
- package/dist/secrets.js.map +1 -0
- package/dist/storage.d.ts +1 -274
- package/dist/storage.js +1 -723
- package/dist/storage.js.map +1 -1
- package/dist/string.d.ts +1 -1
- package/dist/string.js +1 -29
- package/dist/string.js.map +1 -1
- package/dist/time.d.ts +1 -5
- package/dist/time.js +1 -30
- package/dist/time.js.map +1 -1
- package/dist/tls.d.ts +1 -0
- package/dist/tls.js +2 -0
- package/dist/tls.js.map +1 -0
- package/dist/tokenizer.d.ts +1 -0
- package/dist/tokenizer.js +2 -0
- package/dist/tokenizer.js.map +1 -0
- package/dist/types.d.ts +1 -27
- package/dist/types.js +1 -16
- package/dist/types.js.map +1 -1
- package/dist/worker-pool.d.ts +1 -52
- package/dist/worker-pool.js +1 -209
- package/dist/worker-pool.js.map +1 -1
- package/dist/worker-thread.d.ts +1 -21
- package/dist/worker-thread.js +1 -66
- package/dist/worker-thread.js.map +1 -1
- package/package.json +51 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/modules/storage/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/otel.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./modules/observability/otel.js";
|
package/dist/otel.js
ADDED
package/dist/otel.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./modules/primitives/outbound-http.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-http.js","sourceRoot":"","sources":["../src/outbound-http.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
package/dist/pii.d.ts
CHANGED
|
@@ -1,69 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* [PII] Personally Identifiable Information Masking Service
|
|
3
|
-
*
|
|
4
|
-
* Detects and masks sensitive data in compliance with KVKK/GDPR.
|
|
5
|
-
* Used in audit log, logger, storage layers, and MCP middleware.
|
|
6
|
-
*
|
|
7
|
-
* Supported patterns:
|
|
8
|
-
* - Email addresses
|
|
9
|
-
* - Phone numbers (international, Turkish, US, UK)
|
|
10
|
-
* - TC Identification number (11 digits)
|
|
11
|
-
* - API keys / tokens (OpenAI, Anthropic, Google, GitHub, generic)
|
|
12
|
-
* - Bearer tokens / JWTs
|
|
13
|
-
* - IP addresses (IPv4, IPv6)
|
|
14
|
-
* - Credit card numbers (AMEX, Visa, Mastercard, etc.)
|
|
15
|
-
* - Password / secret fields in structured data
|
|
16
|
-
* - Bank account / IBAN
|
|
17
|
-
* - Date of birth / full address patterns
|
|
18
|
-
* - Custom names (configurable)
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* Mask sensitive data in a text string.
|
|
22
|
-
*/
|
|
23
|
-
export declare function maskText(text: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Recursively mask sensitive fields in an object.
|
|
26
|
-
* Returns a new object with sensitive values redacted.
|
|
27
|
-
* Strict mode: when true, also masks values in objects even if the key
|
|
28
|
-
* is not a known sensitive field name (catches data passed to unknown schemas).
|
|
29
|
-
*/
|
|
30
|
-
export declare function maskObject(obj: unknown, depth?: number, strictMode?: boolean): unknown;
|
|
31
|
-
/**
|
|
32
|
-
* Check if a string contains potential PII.
|
|
33
|
-
* Useful for warning before sending data to external APIs.
|
|
34
|
-
*/
|
|
35
|
-
export declare function containsPII(text: string): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Check if an object contains PII in any of its string values (recursive).
|
|
38
|
-
*/
|
|
39
|
-
export declare function containsPIIInObject(obj: unknown, depth?: number): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Data classification levels for audit/log decisions.
|
|
42
|
-
*/
|
|
43
|
-
export type DataClassification = "public" | "internal" | "confidential" | "restricted" | "critical";
|
|
44
|
-
/**
|
|
45
|
-
* Classify a piece of data based on content analysis.
|
|
46
|
-
*/
|
|
47
|
-
export declare function classifyData(text: string): DataClassification;
|
|
48
|
-
/**
|
|
49
|
-
* Mask the content field of an MCP tool result.
|
|
50
|
-
* This is used by the MCP middleware layer to automatically
|
|
51
|
-
* sanitize all tool outputs before they reach the AI.
|
|
52
|
-
*/
|
|
53
|
-
export declare function maskToolResult(result: {
|
|
54
|
-
content: Array<{
|
|
55
|
-
type: string;
|
|
56
|
-
text: string;
|
|
57
|
-
}>;
|
|
58
|
-
}): {
|
|
59
|
-
content: Array<{
|
|
60
|
-
type: string;
|
|
61
|
-
text: string;
|
|
62
|
-
}>;
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Mask sensitive arguments in an MCP tool call.
|
|
66
|
-
* This is applied BEFORE the tool handler executes, ensuring
|
|
67
|
-
* PII never reaches any processing layer unnecessarily.
|
|
68
|
-
*/
|
|
69
|
-
export declare function maskToolArgs(args: Record<string, unknown>): Record<string, unknown>;
|
|
1
|
+
export * from "./modules/security/pii.js";
|
package/dist/pii.js
CHANGED
|
@@ -1,220 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* [PII] Personally Identifiable Information Masking Service
|
|
3
|
-
*
|
|
4
|
-
* Detects and masks sensitive data in compliance with KVKK/GDPR.
|
|
5
|
-
* Used in audit log, logger, storage layers, and MCP middleware.
|
|
6
|
-
*
|
|
7
|
-
* Supported patterns:
|
|
8
|
-
* - Email addresses
|
|
9
|
-
* - Phone numbers (international, Turkish, US, UK)
|
|
10
|
-
* - TC Identification number (11 digits)
|
|
11
|
-
* - API keys / tokens (OpenAI, Anthropic, Google, GitHub, generic)
|
|
12
|
-
* - Bearer tokens / JWTs
|
|
13
|
-
* - IP addresses (IPv4, IPv6)
|
|
14
|
-
* - Credit card numbers (AMEX, Visa, Mastercard, etc.)
|
|
15
|
-
* - Password / secret fields in structured data
|
|
16
|
-
* - Bank account / IBAN
|
|
17
|
-
* - Date of birth / full address patterns
|
|
18
|
-
* - Custom names (configurable)
|
|
19
|
-
*/
|
|
20
|
-
// Sensitive patterns to detect and mask
|
|
21
|
-
// IMPORTANT: More specific patterns MUST come before generic ones
|
|
22
|
-
const SENSITIVE_PATTERNS = [
|
|
23
|
-
// JWT tokens (complete JWT format) - must be before Bearer
|
|
24
|
-
{ pattern: /eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/g, replacement: "***-JWT-REDACTED-***" },
|
|
25
|
-
// Bearer tokens in Authorization headers
|
|
26
|
-
{ pattern: /Bearer\s+[a-zA-Z0-9._-]+/g, replacement: "Bearer ***-REDACTED-***" },
|
|
27
|
-
// Basic auth in Authorization headers
|
|
28
|
-
{ pattern: /Basic\s+[a-zA-Z0-9=+/]+/g, replacement: "Basic ***-REDACTED-***" },
|
|
29
|
-
// API keys (common formats) - must be before generic patterns
|
|
30
|
-
// Note: ghp_ tokens can contain digits that look like phone numbers, so we mask the entire prefix + suffix
|
|
31
|
-
{ pattern: /\b(sk-[a-zA-Z0-9]{20,}|pk-[a-zA-Z0-9]{20,}|xai-[a-zA-Z0-9]{20,}|AIza[0-9A-Za-z_-]{35}|ghp_[a-zA-Z0-9]{36,}|gho_[a-zA-Z0-9]{36,}|ghu_[a-zA-Z0-9]{36,}|ghb_[a-zA-Z0-9]{36,}|github_pat_[a-zA-Z0-9]{36,}|sk-[a-zA-Z0-9_-]{32,}|sk-[a-zA-Z0-9]{48,}|whsec_[a-zA-Z0-9]{16,})\b/g, replacement: "***-REDACTED-***" },
|
|
32
|
-
// Social Security Number (US SSN: XXX-XX-XXXX) - must be before generic phone
|
|
33
|
-
{ pattern: /\b(?!000|666|9[0-9]{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}\b/g, replacement: "***-**-****" },
|
|
34
|
-
// Date of birth patterns - must be before generic phone
|
|
35
|
-
{ pattern: /\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/g, replacement: "**/**/****" },
|
|
36
|
-
// IBAN (international bank account) - strictly matches ISO country codes and length >= 15
|
|
37
|
-
{ pattern: /\b(?:TR|DE|FR|GB|IT|ES|NL|CH|AT|BE|PL|SE|NO|DK|FI|PT|GR|IE|CZ|RO|HU|BG|HR|LT|SI|LV|EE|CY|LU|MT|SK|US|CA)\d{2}[A-Z0-9]{11,30}\b/g, replacement: "****-IBAN-REDACTED-****" },
|
|
38
|
-
// TC Kimlik (11 digits starting with 1-9, isolated word boundary) - must be before phone
|
|
39
|
-
{ pattern: /\b[1-9][0-9]{10}\b/g, replacement: "***********" },
|
|
40
|
-
// Email
|
|
41
|
-
{ pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, replacement: "***@***" },
|
|
42
|
-
// Phone (Turkish: +90 5xx xxx xx xx, 05xx xxx xx xx, or formatted 5xx xxx xx xx)
|
|
43
|
-
{ pattern: /(?:(?:\+90|0090|\b0)[\s.-]?)5\d{2}[\s.-]?\d{3}[\s.-]?\d{2}[\s.-]?\d{2}\b/g, replacement: "***-***-****" },
|
|
44
|
-
{ pattern: /\b5\d{2}[\s.-]\d{3}[\s.-]\d{2}[\s.-]\d{2}\b/g, replacement: "***-***-****" },
|
|
45
|
-
// Phone (international with leading + or delimited format e.g. +1 (555) 123-4567, +44 20 7946 0950)
|
|
46
|
-
// Delimiters or leading '+' are strictly required so that raw Unix timestamps / IDs are not falsely masked.
|
|
47
|
-
{ pattern: /\b(?:\+\d{1,3}[\s.-]?)?(?:\(\d{2,4}\)[\s.-]?|\d{2,4}[\s.-])\d{3,4}[\s.-]\d{2,4}(?:[\s.-]\d{2,4})?\b/g, replacement: "***-***-****" },
|
|
48
|
-
// IP addresses (IPv4)
|
|
49
|
-
{ pattern: /\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/g, replacement: "***.***.***.***" },
|
|
50
|
-
// IP addresses (IPv6 - simplified)
|
|
51
|
-
{ pattern: /\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b/g, replacement: "****:****:****:****" },
|
|
52
|
-
// IPv6 compressed
|
|
53
|
-
{ pattern: /\b(?:[0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}\b/g, replacement: "****:****:****" },
|
|
54
|
-
// Credit card (Delimited 16 digits or major card issuer BIN prefixes: Visa 4, MC 51-55/22-27, Discover 6011/65)
|
|
55
|
-
// Prevents false-positive masking of 13-digit Unix timestamps (e.g. 1713000000000)
|
|
56
|
-
{ pattern: /\b\d{4}[ -]\d{4}[ -]\d{4}[ -]\d{4}\b/g, replacement: "****-****-****-****" },
|
|
57
|
-
{ pattern: /\b4\d{3}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}\b/g, replacement: "****-****-****-****" },
|
|
58
|
-
{ pattern: /\b(?:5[1-5]\d{2}|222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}\b/g, replacement: "****-****-****-****" },
|
|
59
|
-
{ pattern: /\b(?:6011|65\d{2})[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}\b/g, replacement: "****-****-****-****" },
|
|
60
|
-
// AMEX (15 digits, starts with 34/37)
|
|
61
|
-
{ pattern: /\b3[47][0-9\s-]{13,14}\b/g, replacement: "****-****-***" },
|
|
62
|
-
// Password fields in JSON
|
|
63
|
-
{ pattern: /"(password|passwd|secret|api_key|apiKey|apikey|auth_token|refresh_token|access_token)"\s*:\s*"[^"]+"/gi, replacement: "\"$1\": \"***-REDACTED-***\"" },
|
|
64
|
-
// Turkish address patterns (contextual: only when accompanied by street/neighborhood identifiers)
|
|
65
|
-
{ pattern: /(?:(?:sokak|cadde|mahalle|bulvar|apt|daire|blok)[^,\n]*\b(?:no|kapı no|daire no|numara)[:\s]*\d+)/gi, replacement: "no: ****" },
|
|
66
|
-
];
|
|
67
|
-
// Fields that are considered sensitive and should always be redacted in structured data
|
|
68
|
-
const SENSITIVE_FIELDS = [
|
|
69
|
-
"password", "passwd", "secret", "apiKey", "api_key", "apikey",
|
|
70
|
-
"token", "accessToken", "access_token", "refreshToken", "refresh_token", "authToken", "auth_token",
|
|
71
|
-
"authorization", "Authorization", "bearer",
|
|
72
|
-
"email", "e_mail", "eMail",
|
|
73
|
-
"phone", "phoneNumber", "phone_number", "telephone", "telephoneNumber", "mobile", "mobilePhone", "cellPhone",
|
|
74
|
-
"creditCard", "credit_card", "ccNumber", "cc_number", "ccn", "cvv", "cvv2", "cvc",
|
|
75
|
-
"ssn", "socialSecurity", "social_security",
|
|
76
|
-
"tcKimlik", "tc_kimlik", "identityNumber", "identity_number", "idNumber", "id_number", "nationalId",
|
|
77
|
-
"ipAddress", "ip_address", "ip",
|
|
78
|
-
"dob", "dateOfBirth", "date_of_birth", "birthDate", "birth_date",
|
|
79
|
-
"iban", "IBAN", "bankAccount", "bank_account",
|
|
80
|
-
"address", "homeAddress", "workAddress", "billingAddress", "shippingAddress",
|
|
81
|
-
"fullName", "firstName", "lastName", "surname", "middleName",
|
|
82
|
-
];
|
|
83
|
-
/**
|
|
84
|
-
* Mask sensitive data in a text string.
|
|
85
|
-
*/
|
|
86
|
-
export function maskText(text) {
|
|
87
|
-
if (!text || typeof text !== "string")
|
|
88
|
-
return text;
|
|
89
|
-
let masked = text;
|
|
90
|
-
for (const { pattern, replacement } of SENSITIVE_PATTERNS) {
|
|
91
|
-
masked = masked.replace(pattern, replacement);
|
|
92
|
-
}
|
|
93
|
-
return masked;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Recursively mask sensitive fields in an object.
|
|
97
|
-
* Returns a new object with sensitive values redacted.
|
|
98
|
-
* Strict mode: when true, also masks values in objects even if the key
|
|
99
|
-
* is not a known sensitive field name (catches data passed to unknown schemas).
|
|
100
|
-
*/
|
|
101
|
-
export function maskObject(obj, depth = 0, strictMode = false) {
|
|
102
|
-
if (depth > 10)
|
|
103
|
-
return obj; // Prevent infinite recursion
|
|
104
|
-
if (obj === null || obj === undefined)
|
|
105
|
-
return obj;
|
|
106
|
-
if (typeof obj === "string")
|
|
107
|
-
return maskText(obj);
|
|
108
|
-
if (typeof obj !== "object")
|
|
109
|
-
return obj;
|
|
110
|
-
if (Array.isArray(obj)) {
|
|
111
|
-
return obj.map(item => maskObject(item, depth + 1, strictMode));
|
|
112
|
-
}
|
|
113
|
-
const result = {};
|
|
114
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
115
|
-
// Check if the key itself is a sensitive field
|
|
116
|
-
if (SENSITIVE_FIELDS.includes(key)) {
|
|
117
|
-
result[key] = typeof value === "string" ? "***-REDACTED-***" : maskObject(value, depth + 1, strictMode);
|
|
118
|
-
}
|
|
119
|
-
else if (typeof value === "string") {
|
|
120
|
-
result[key] = maskText(value);
|
|
121
|
-
}
|
|
122
|
-
else if (typeof value === "object") {
|
|
123
|
-
result[key] = maskObject(value, depth + 1, strictMode);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
result[key] = value;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return result;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Check if a string contains potential PII.
|
|
133
|
-
* Useful for warning before sending data to external APIs.
|
|
134
|
-
*/
|
|
135
|
-
export function containsPII(text) {
|
|
136
|
-
for (const { pattern } of SENSITIVE_PATTERNS) {
|
|
137
|
-
pattern.lastIndex = 0; // Reset RegExp state before test
|
|
138
|
-
const hasMatch = pattern.test(text);
|
|
139
|
-
pattern.lastIndex = 0; // Reset RegExp state after test
|
|
140
|
-
if (hasMatch)
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Check if an object contains PII in any of its string values (recursive).
|
|
147
|
-
*/
|
|
148
|
-
export function containsPIIInObject(obj, depth = 0) {
|
|
149
|
-
if (depth > 10)
|
|
150
|
-
return false;
|
|
151
|
-
if (obj === null || obj === undefined)
|
|
152
|
-
return false;
|
|
153
|
-
if (typeof obj === "string")
|
|
154
|
-
return containsPII(obj);
|
|
155
|
-
if (typeof obj !== "object")
|
|
156
|
-
return false;
|
|
157
|
-
if (Array.isArray(obj)) {
|
|
158
|
-
return obj.some(item => containsPIIInObject(item, depth + 1));
|
|
159
|
-
}
|
|
160
|
-
for (const [, value] of Object.entries(obj)) {
|
|
161
|
-
if (typeof value === "string") {
|
|
162
|
-
if (containsPII(value))
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
else if (typeof value === "object") {
|
|
166
|
-
if (containsPIIInObject(value, depth + 1))
|
|
167
|
-
return true;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return false;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Classify a piece of data based on content analysis.
|
|
174
|
-
*/
|
|
175
|
-
export function classifyData(text) {
|
|
176
|
-
if (!text)
|
|
177
|
-
return "public";
|
|
178
|
-
// Check for highly sensitive / critical data
|
|
179
|
-
if (/\b(sk-[a-zA-Z0-9]{20,}|Bearer\s+|eyJ[a-zA-Z0-9_-]+\.)/.test(text) ||
|
|
180
|
-
/\b[1-9][0-9]{10}\b/.test(text) ||
|
|
181
|
-
/"(password|secret|apiKey)"/i.test(text) ||
|
|
182
|
-
/\b[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}\b/.test(text) // IBAN
|
|
183
|
-
) {
|
|
184
|
-
return "restricted";
|
|
185
|
-
}
|
|
186
|
-
// Check for personally identifiable / confidential data
|
|
187
|
-
if (/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/.test(text) ||
|
|
188
|
-
/(\+90|0)?\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{2}\s?[0-9]{2}/.test(text) ||
|
|
189
|
-
/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/.test(text) ||
|
|
190
|
-
/\b(0[1-9]|[12][0-9]|3[01])[/.-](0[1-9]|1[0-2])[/.-](19[0-9]{2}|20[0-9]{2})\b/.test(text)) {
|
|
191
|
-
return "confidential";
|
|
192
|
-
}
|
|
193
|
-
return "internal";
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Mask the content field of an MCP tool result.
|
|
197
|
-
* This is used by the MCP middleware layer to automatically
|
|
198
|
-
* sanitize all tool outputs before they reach the AI.
|
|
199
|
-
*/
|
|
200
|
-
export function maskToolResult(result) {
|
|
201
|
-
if (!result || !result.content)
|
|
202
|
-
return result;
|
|
203
|
-
return {
|
|
204
|
-
...result,
|
|
205
|
-
content: result.content.map(block => ({
|
|
206
|
-
...block,
|
|
207
|
-
text: block.type === "text" ? maskText(block.text) : block.text,
|
|
208
|
-
})),
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Mask sensitive arguments in an MCP tool call.
|
|
213
|
-
* This is applied BEFORE the tool handler executes, ensuring
|
|
214
|
-
* PII never reaches any processing layer unnecessarily.
|
|
215
|
-
*/
|
|
216
|
-
export function maskToolArgs(args) {
|
|
217
|
-
const masked = maskObject(args, 0, true);
|
|
218
|
-
return masked;
|
|
219
|
-
}
|
|
1
|
+
export * from "./modules/security/pii.js";
|
|
220
2
|
//# sourceMappingURL=pii.js.map
|
package/dist/pii.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../src/pii.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../src/pii.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
package/dist/policy-gate.d.ts
CHANGED
|
@@ -1,42 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* PolicyGate — single decision point for mutating / sensitive operations.
|
|
3
|
-
*
|
|
4
|
-
* Phase 0 foundation for enterprise hard-gate security.
|
|
5
|
-
* Every MCP mutating tool should call evaluateToolCall() before side effects.
|
|
6
|
-
*
|
|
7
|
-
* Decision is pure (no I/O) except optional hooks; MCP layer may enrich with
|
|
8
|
-
* project-specific RBAC before/after this gate.
|
|
9
|
-
*/
|
|
10
|
-
export type PolicyEffect = "allow" | "deny";
|
|
11
|
-
export type PolicyCode = "ALLOW" | "DENY_UNKNOWN_TOOL" | "DENY_PATH_TRAVERSAL" | "DENY_PROTECTED_PATH" | "DENY_ABSOLUTE_ESCAPE" | "DENY_RECON_MUTATION" | "DENY_SHELL_METACHAR" | "DENY_EMPTY_PATH";
|
|
12
|
-
export interface PolicyDecision {
|
|
13
|
-
effect: PolicyEffect;
|
|
14
|
-
code: PolicyCode;
|
|
15
|
-
reason: string;
|
|
16
|
-
}
|
|
17
|
-
export interface ToolCallPolicyInput {
|
|
18
|
-
tool: string;
|
|
19
|
-
agent: string;
|
|
20
|
-
args: Record<string, unknown>;
|
|
21
|
-
/** Optional agent tier when known (supreme | core | recon). */
|
|
22
|
-
tier?: "supreme" | "core" | "recon";
|
|
23
|
-
}
|
|
24
|
-
/** Tools that mutate disk, process state, or external systems. */
|
|
25
|
-
export declare const MUTATING_TOOLS: Set<string>;
|
|
26
|
-
/**
|
|
27
|
-
* Normalize agent id to @name form.
|
|
28
|
-
*/
|
|
29
|
-
export declare function normalizeAgentId(agent: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Evaluate a tool call against baseline hard rules (path safety, recon, shell meta).
|
|
32
|
-
* Does NOT replace full RBAC matrix — call permissions layer separately or wrap here later.
|
|
33
|
-
*/
|
|
34
|
-
export declare function evaluateToolCall(input: ToolCallPolicyInput): PolicyDecision;
|
|
35
|
-
/**
|
|
36
|
-
* True when decision is allow.
|
|
37
|
-
*/
|
|
38
|
-
export declare function isAllowed(decision: PolicyDecision): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Format decision for MCP error payloads.
|
|
41
|
-
*/
|
|
42
|
-
export declare function formatPolicyDenial(decision: PolicyDecision): string;
|
|
1
|
+
export * from "./modules/security/policy-gate.js";
|
package/dist/policy-gate.js
CHANGED
|
@@ -1,148 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* PolicyGate — single decision point for mutating / sensitive operations.
|
|
3
|
-
*
|
|
4
|
-
* Phase 0 foundation for enterprise hard-gate security.
|
|
5
|
-
* Every MCP mutating tool should call evaluateToolCall() before side effects.
|
|
6
|
-
*
|
|
7
|
-
* Decision is pure (no I/O) except optional hooks; MCP layer may enrich with
|
|
8
|
-
* project-specific RBAC before/after this gate.
|
|
9
|
-
*/
|
|
10
|
-
/** Tools that mutate disk, process state, or external systems. */
|
|
11
|
-
export const MUTATING_TOOLS = new Set([
|
|
12
|
-
"write_file",
|
|
13
|
-
"replace_text",
|
|
14
|
-
"patch_file",
|
|
15
|
-
"batch_surgical_edit",
|
|
16
|
-
"run_shell_command",
|
|
17
|
-
"compress_files",
|
|
18
|
-
"decompress_files",
|
|
19
|
-
"delete_knowledge",
|
|
20
|
-
"update_project_memory",
|
|
21
|
-
"store_knowledge",
|
|
22
|
-
"update_contract_hash",
|
|
23
|
-
]);
|
|
24
|
-
/** Path-like arg keys commonly used by tools. */
|
|
25
|
-
const PATH_KEYS = ["path", "file", "filePath", "target", "output", "source", "archive"];
|
|
26
|
-
/** Relative path segments that must never be written by agents by default. */
|
|
27
|
-
const PROTECTED_PATH_PATTERNS = [
|
|
28
|
-
/(^|\/)\.env(\.|$)/i,
|
|
29
|
-
/(^|\/)\.env\.[^/]+$/i,
|
|
30
|
-
/(^|\/)\.ssh(\/|$)/i,
|
|
31
|
-
/(^|\/)\.gnupg(\/|$)/i,
|
|
32
|
-
/(^|\/)id_rsa$/i,
|
|
33
|
-
/(^|\/)id_ed25519$/i,
|
|
34
|
-
/(^|\/)credentials\.json$/i,
|
|
35
|
-
/(^|\/)\.aws\/credentials$/i,
|
|
36
|
-
/(^|\/)\.npmrc$/i,
|
|
37
|
-
/(^|\/)\.netrc$/i,
|
|
38
|
-
];
|
|
39
|
-
function allow(code = "ALLOW", reason = "Allowed") {
|
|
40
|
-
return { effect: "allow", code, reason };
|
|
41
|
-
}
|
|
42
|
-
function deny(code, reason) {
|
|
43
|
-
return { effect: "deny", code, reason };
|
|
44
|
-
}
|
|
45
|
-
function collectPaths(args) {
|
|
46
|
-
const paths = [];
|
|
47
|
-
for (const key of PATH_KEYS) {
|
|
48
|
-
const v = args[key];
|
|
49
|
-
if (typeof v === "string" && v.trim())
|
|
50
|
-
paths.push(v.trim());
|
|
51
|
-
}
|
|
52
|
-
// batch_surgical_edit
|
|
53
|
-
if (Array.isArray(args.edits)) {
|
|
54
|
-
for (const edit of args.edits) {
|
|
55
|
-
if (edit && typeof edit === "object" && typeof edit.path === "string") {
|
|
56
|
-
paths.push(edit.path.trim());
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return paths;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Normalize agent id to @name form.
|
|
64
|
-
*/
|
|
65
|
-
export function normalizeAgentId(agent) {
|
|
66
|
-
const a = (agent || "mcp-client").trim();
|
|
67
|
-
if (!a)
|
|
68
|
-
return "@mcp-client";
|
|
69
|
-
return a.startsWith("@") ? a : `@${a}`;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Evaluate a tool call against baseline hard rules (path safety, recon, shell meta).
|
|
73
|
-
* Does NOT replace full RBAC matrix — call permissions layer separately or wrap here later.
|
|
74
|
-
*/
|
|
75
|
-
export function evaluateToolCall(input) {
|
|
76
|
-
const tool = input.tool;
|
|
77
|
-
const agent = normalizeAgentId(input.agent);
|
|
78
|
-
const tier = input.tier;
|
|
79
|
-
const args = input.args || {};
|
|
80
|
-
if (!tool) {
|
|
81
|
-
return deny("DENY_UNKNOWN_TOOL", "Missing tool name");
|
|
82
|
-
}
|
|
83
|
-
const isMutating = MUTATING_TOOLS.has(tool);
|
|
84
|
-
// Path safety for any tool that carries paths (read or write)
|
|
85
|
-
const paths = collectPaths(args);
|
|
86
|
-
for (const p of paths) {
|
|
87
|
-
if (!p) {
|
|
88
|
-
return deny("DENY_EMPTY_PATH", "Empty path argument is not allowed");
|
|
89
|
-
}
|
|
90
|
-
// Null bytes / obvious traversal
|
|
91
|
-
if (p.includes("\0")) {
|
|
92
|
-
return deny("DENY_PATH_TRAVERSAL", "Path contains illegal null byte");
|
|
93
|
-
}
|
|
94
|
-
// Windows + POSIX traversal
|
|
95
|
-
if (p.includes("..")) {
|
|
96
|
-
// Allow only if not used as parent segment — simple hard deny for Phase 0
|
|
97
|
-
const segments = p.replace(/\\/g, "/").split("/");
|
|
98
|
-
if (segments.some((s) => s === "..")) {
|
|
99
|
-
return deny("DENY_PATH_TRAVERSAL", `Path traversal denied for "${p}". Paths must stay inside the project root.`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Absolute paths that look like host escapes (MCP should still safePath; belt-and-suspenders)
|
|
103
|
-
if (p.startsWith("/") || /^[A-Za-z]:[\\/]/.test(p)) {
|
|
104
|
-
// Absolute can be OK if still under project after safePath — flag high-risk patterns only
|
|
105
|
-
if (p.startsWith("/etc") ||
|
|
106
|
-
p.startsWith("/usr") ||
|
|
107
|
-
p.startsWith("/bin") ||
|
|
108
|
-
p.startsWith("/sbin") ||
|
|
109
|
-
p.includes("/.ssh") ||
|
|
110
|
-
p.startsWith("/System")) {
|
|
111
|
-
return deny("DENY_ABSOLUTE_ESCAPE", `Absolute system path denied: "${p}"`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (isMutating) {
|
|
115
|
-
const normalized = p.replace(/\\/g, "/");
|
|
116
|
-
for (const re of PROTECTED_PATH_PATTERNS) {
|
|
117
|
-
if (re.test(normalized)) {
|
|
118
|
-
return deny("DENY_PROTECTED_PATH", `Write/mutate denied for protected path "${p}". Secrets and credential files are blocked by PolicyGate.`);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// Recon agents: no mutating tools (matrix may later grant exceptions — Phase 0 hard deny)
|
|
124
|
-
if (isMutating && tier === "recon") {
|
|
125
|
-
return deny("DENY_RECON_MUTATION", `Agent ${agent} (tier: recon) cannot invoke mutating tool "${tool}".`);
|
|
126
|
-
}
|
|
127
|
-
// Shell metacharacters (defense in depth; shell tool also checks)
|
|
128
|
-
if (tool === "run_shell_command") {
|
|
129
|
-
const command = String(args.command ?? "");
|
|
130
|
-
if (/[;&|><$`\n\r]/.test(command)) {
|
|
131
|
-
return deny("DENY_SHELL_METACHAR", "Shell metacharacters are forbidden to prevent command injection.");
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return allow();
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* True when decision is allow.
|
|
138
|
-
*/
|
|
139
|
-
export function isAllowed(decision) {
|
|
140
|
-
return decision.effect === "allow";
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Format decision for MCP error payloads.
|
|
144
|
-
*/
|
|
145
|
-
export function formatPolicyDenial(decision) {
|
|
146
|
-
return `[POLICY_GATE] ${decision.code}: ${decision.reason}`;
|
|
147
|
-
}
|
|
1
|
+
export * from "./modules/security/policy-gate.js";
|
|
148
2
|
//# sourceMappingURL=policy-gate.js.map
|
package/dist/policy-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-gate.js","sourceRoot":"","sources":["../src/policy-gate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"policy-gate.js","sourceRoot":"","sources":["../src/policy-gate.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
|