@guardbee/mcp-prompt-leak-scanner 0.1.2 → 0.1.4
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/patterns.d.ts.map +1 -1
- package/dist/patterns.js +1 -46
- package/dist/patterns.js.map +1 -1
- package/package.json +2 -1
package/dist/patterns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;AAE1F,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C;AAID,eAAO,MAAM,aAAa,EAAE,WAAW,EA2HtC,CAAC"}
|
package/dist/patterns.js
CHANGED
|
@@ -1,49 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/** Turkish national ID (TC Kimlik No) checksum — the standard 11-digit algorithm. */
|
|
3
|
-
function isValidTcKimlik(raw) {
|
|
4
|
-
const d = raw.replace(/\D/g, "");
|
|
5
|
-
if (d.length !== 11 || d[0] === "0")
|
|
6
|
-
return false;
|
|
7
|
-
const digits = d.split("").map(Number);
|
|
8
|
-
const oddSum = digits[0] + digits[2] + digits[4] + digits[6] + digits[8];
|
|
9
|
-
const evenSum = digits[1] + digits[3] + digits[5] + digits[7];
|
|
10
|
-
const d10 = ((oddSum * 7 - evenSum) % 10 + 10) % 10;
|
|
11
|
-
const first10Sum = digits.slice(0, 10).reduce((a, b) => a + b, 0);
|
|
12
|
-
const d11 = first10Sum % 10;
|
|
13
|
-
return d10 === digits[9] && d11 === digits[10];
|
|
14
|
-
}
|
|
15
|
-
/** Luhn checksum for credit card numbers. */
|
|
16
|
-
function isValidLuhn(raw) {
|
|
17
|
-
const d = raw.replace(/[\s-]/g, "");
|
|
18
|
-
if (!/^\d{13,19}$/.test(d))
|
|
19
|
-
return false;
|
|
20
|
-
let sum = 0;
|
|
21
|
-
let double = false;
|
|
22
|
-
for (let i = d.length - 1; i >= 0; i--) {
|
|
23
|
-
let digit = Number(d[i]);
|
|
24
|
-
if (double) {
|
|
25
|
-
digit *= 2;
|
|
26
|
-
if (digit > 9)
|
|
27
|
-
digit -= 9;
|
|
28
|
-
}
|
|
29
|
-
sum += digit;
|
|
30
|
-
double = !double;
|
|
31
|
-
}
|
|
32
|
-
return sum % 10 === 0;
|
|
33
|
-
}
|
|
34
|
-
/** IBAN mod-97 checksum (ISO 7064 MOD97-10), computed in chunks to avoid precision loss. */
|
|
35
|
-
function isValidIban(raw) {
|
|
36
|
-
const iban = raw.replace(/\s/g, "").toUpperCase();
|
|
37
|
-
if (!/^[A-Z]{2}\d{2}[A-Z0-9]{10,30}$/.test(iban))
|
|
38
|
-
return false;
|
|
39
|
-
const rearranged = iban.slice(4) + iban.slice(0, 4);
|
|
40
|
-
const numeric = rearranged.replace(/[A-Z]/g, (c) => String(c.charCodeAt(0) - 55));
|
|
41
|
-
let remainder = "";
|
|
42
|
-
for (const ch of numeric) {
|
|
43
|
-
remainder = (Number(remainder + ch) % 97).toString();
|
|
44
|
-
}
|
|
45
|
-
return Number(remainder) === 1;
|
|
46
|
-
}
|
|
1
|
+
import { isValidIban, isValidLuhn, isValidTcKimlik } from "@guardbee/guard-core";
|
|
47
2
|
// ── Patterns ──────────────────────────────────────────────────────────────────
|
|
48
3
|
export const LEAK_PATTERNS = [
|
|
49
4
|
// ── Credentials — sending these to a third-party LLM is a direct secret leak ──
|
package/dist/patterns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guardbee/mcp-prompt-leak-scanner",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"mcpName": "io.github.4hmetuyar/prompt-leak-scanner",
|
|
5
5
|
"description": "MCP server and reverse proxy that catches leaked credentials and PII (API keys, TC Kimlik No, credit cards, IBANs) in outbound LLM prompts before they leave your application",
|
|
6
6
|
"type": "module",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
25
25
|
"zod": "^4.5.4",
|
|
26
|
+
"@guardbee/guard-core": "^0.2.0",
|
|
26
27
|
"@guardbee/mcp-telemetry": "^0.1.3"
|
|
27
28
|
},
|
|
28
29
|
"keywords": [
|