govyn 0.2.5 → 0.2.6
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 +21 -0
- package/dist/message-content.d.ts +15 -0
- package/dist/message-content.js +41 -0
- package/dist/message-content.js.map +1 -0
- package/dist/policy-engine.js +31 -36
- package/dist/policy-engine.js.map +1 -1
- package/dist/safe-regex.d.ts +37 -0
- package/dist/safe-regex.js +73 -0
- package/dist/safe-regex.js.map +1 -0
- package/dist/security.d.ts +17 -0
- package/dist/security.js +127 -37
- package/dist/security.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -27,10 +27,28 @@ Govyn is a wall. There are no other doors.
|
|
|
27
27
|
- **Policy engine** — YAML-based rules: rate limits, model restrictions, require-approval gates, and custom policies
|
|
28
28
|
- **Action logging** — Every request logged with agent identity, cost, tokens, latency, and full context
|
|
29
29
|
- **Multi-provider** — Route OpenAI and Anthropic traffic through a single proxy with per-provider API keys
|
|
30
|
+
- **Content filtering** — Built-in PII detection (SSN, credit card, email, phone) plus custom regex patterns evaluated against message content only
|
|
31
|
+
- **SSRF protection** — IPv4 and IPv6 private range blocking, DNS rebinding defense with fetch-time resolution, cloud metadata endpoint blocking
|
|
32
|
+
- **ReDoS protection** — All user-supplied regex patterns validated against catastrophic backtracking before compilation
|
|
30
33
|
- **Locked-down management API** — Local-only by default, with optional admin API key and browser origin allowlist for remote dashboards
|
|
31
34
|
- **Zero agent changes** — Agents just point at a different base URL. No SDK imports, no code changes
|
|
32
35
|
- **Fail-open by default** — Proxy errors don't break your agents. Configurable to fail-closed for high-security deployments
|
|
33
36
|
|
|
37
|
+
## Govyn Cloud
|
|
38
|
+
|
|
39
|
+
The open-source proxy handles governance enforcement on your own infrastructure. [Govyn Cloud](https://govynai.com) adds managed features that build on top of the proxy:
|
|
40
|
+
|
|
41
|
+
- **Semantic caching** — Hash-based exact-match and embedding-based semantic similarity caching for tool calls. Policy-driven, per-tool TTL, auto-suggest cacheable tools from observed patterns. Reduces redundant LLM calls by serving cached results for identical or semantically similar stateless tool calls.
|
|
42
|
+
- **Safety inspector** — 5 SQL-based analyzers observe agent behavior and auto-suggest policies (model routing, rate limits, budgets, content filters, cache policies). One-click apply with projected impact and confidence scores. Observe mode lets you trial policies without enforcement.
|
|
43
|
+
- **MCP governance** — MCP server registry with encrypted auth, JSON-RPC tool discovery, and default-deny proxy gateway. Extends the proxy model to MCP tool-calling protocols with full policy enforcement and telemetry.
|
|
44
|
+
- **Compliance export** — PDF compliance reports with 5 audit sections, R2 storage, scheduled and on-demand generation, email delivery via Resend. Provides auditable proof of governance for regulated environments.
|
|
45
|
+
- **Team CLI** — Browser OAuth login, live activity tail, YAML policy import/export, and commands for all cloud features. Terminal-first workflow for engineering teams.
|
|
46
|
+
- **Dashboard** — React SPA with Clerk auth, cost overview, agent detail, activity feed, policy management, approval queue, cache statistics, alert configuration, and billing management via Stripe.
|
|
47
|
+
- **Multi-tenant isolation** — Per-org proxy auth tokens, AES-256-GCM transit encryption, encryption key rotation, and prefix-based O(1) API key lookup.
|
|
48
|
+
- **Transactional emails** — 9 branded email templates (welcome, budget alerts, anomaly alerts, approval notifications, billing lifecycle, compliance reports) via Resend.
|
|
49
|
+
|
|
50
|
+
[Try Govyn Cloud →](https://govynai.com)
|
|
51
|
+
|
|
34
52
|
## Quickstart
|
|
35
53
|
|
|
36
54
|
Get from zero to a governed API call in under 5 minutes.
|
|
@@ -184,6 +202,9 @@ See [`configs/openai-only.yaml`](./configs/openai-only.yaml) for the canonical m
|
|
|
184
202
|
- `GET /api/approvals/:id` remains accessible without admin auth so the approval polling flow continues to work for agents.
|
|
185
203
|
- Approval tokens are single-use and bound to the original approved agent, target path, and request body.
|
|
186
204
|
- Alert webhooks reject loopback and private-network destinations, resolve DNS before connect, and block redirects to prevent SSRF against internal services.
|
|
205
|
+
- SSRF protection covers IPv4 private ranges, IPv6 loopback/link-local/ULA, IPv4-mapped IPv6, cloud metadata endpoints, and DNS rebinding attacks (fetch-time resolution).
|
|
206
|
+
- Policy regex patterns from YAML are validated against ReDoS (nested quantifiers, overlapping alternation) before compilation. Unsafe patterns are rejected as non-matches.
|
|
207
|
+
- Content filter patterns evaluate against extracted message content only — model names, token counts, and request metadata cannot trigger or evade content filters.
|
|
187
208
|
|
|
188
209
|
### Generating Agent Keys
|
|
189
210
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract concatenated message content strings from a request body.
|
|
3
|
+
*
|
|
4
|
+
* Handles OpenAI messages[].content (string or content_parts[].text)
|
|
5
|
+
* and Anthropic messages[].content (string or content[].text).
|
|
6
|
+
*
|
|
7
|
+
* Returns only message text -- model names, tokens, and other request
|
|
8
|
+
* metadata are excluded to prevent content filter evasion via metadata
|
|
9
|
+
* injection (e.g., putting PII in a model name field would not trigger
|
|
10
|
+
* a content filter that scans the full serialized body).
|
|
11
|
+
*
|
|
12
|
+
* @param requestBody - Parsed JSON request body
|
|
13
|
+
* @returns Concatenated message text, or empty string if no messages found
|
|
14
|
+
*/
|
|
15
|
+
export declare function extractMessageContent(requestBody: Record<string, unknown>): string;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract concatenated message content strings from a request body.
|
|
3
|
+
*
|
|
4
|
+
* Handles OpenAI messages[].content (string or content_parts[].text)
|
|
5
|
+
* and Anthropic messages[].content (string or content[].text).
|
|
6
|
+
*
|
|
7
|
+
* Returns only message text -- model names, tokens, and other request
|
|
8
|
+
* metadata are excluded to prevent content filter evasion via metadata
|
|
9
|
+
* injection (e.g., putting PII in a model name field would not trigger
|
|
10
|
+
* a content filter that scans the full serialized body).
|
|
11
|
+
*
|
|
12
|
+
* @param requestBody - Parsed JSON request body
|
|
13
|
+
* @returns Concatenated message text, or empty string if no messages found
|
|
14
|
+
*/
|
|
15
|
+
export function extractMessageContent(requestBody) {
|
|
16
|
+
const messages = requestBody['messages'];
|
|
17
|
+
if (!Array.isArray(messages))
|
|
18
|
+
return '';
|
|
19
|
+
const parts = [];
|
|
20
|
+
for (const msg of messages) {
|
|
21
|
+
if (typeof msg !== 'object' || msg === null)
|
|
22
|
+
continue;
|
|
23
|
+
const m = msg;
|
|
24
|
+
const content = m['content'];
|
|
25
|
+
if (typeof content === 'string') {
|
|
26
|
+
parts.push(content);
|
|
27
|
+
}
|
|
28
|
+
else if (Array.isArray(content)) {
|
|
29
|
+
for (const part of content) {
|
|
30
|
+
if (typeof part === 'object' && part !== null) {
|
|
31
|
+
const p = part;
|
|
32
|
+
if (typeof p['text'] === 'string') {
|
|
33
|
+
parts.push(p['text']);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return parts.join('\n');
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=message-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-content.js","sourceRoot":"","sources":["../src/message-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAoC;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,CAAC,GAAG,IAA+B,CAAC;oBAC1C,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/policy-engine.js
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* Performance target: 100 policies in <5ms (ADR-006, ADR-013).
|
|
18
18
|
*/
|
|
19
19
|
import { parsePolicies, parsePoliciesFromFile } from './policy-parser.js';
|
|
20
|
+
import { safeRegexTest } from './safe-regex.js';
|
|
21
|
+
import { extractMessageContent } from './message-content.js';
|
|
20
22
|
/**
|
|
21
23
|
* Infer the action type from an API endpoint path.
|
|
22
24
|
*
|
|
@@ -93,7 +95,7 @@ function evaluateBlock(policy, context) {
|
|
|
93
95
|
if (match.model !== undefined) {
|
|
94
96
|
const contextModel = context.model ?? '';
|
|
95
97
|
if (useRegex) {
|
|
96
|
-
if (!
|
|
98
|
+
if (!safeRegexTest(match.model, contextModel)) {
|
|
97
99
|
return { policyName: policy.name, policyType: 'block', allowed: true };
|
|
98
100
|
}
|
|
99
101
|
}
|
|
@@ -105,7 +107,7 @@ function evaluateBlock(policy, context) {
|
|
|
105
107
|
}
|
|
106
108
|
if (match.path !== undefined) {
|
|
107
109
|
if (useRegex) {
|
|
108
|
-
if (!
|
|
110
|
+
if (!safeRegexTest(match.path, context.path)) {
|
|
109
111
|
return { policyName: policy.name, policyType: 'block', allowed: true };
|
|
110
112
|
}
|
|
111
113
|
}
|
|
@@ -117,7 +119,7 @@ function evaluateBlock(policy, context) {
|
|
|
117
119
|
}
|
|
118
120
|
if (match.body !== undefined && context.body) {
|
|
119
121
|
if (useRegex) {
|
|
120
|
-
if (!
|
|
122
|
+
if (!safeRegexTest(match.body, context.body)) {
|
|
121
123
|
return { policyName: policy.name, policyType: 'block', allowed: true };
|
|
122
124
|
}
|
|
123
125
|
}
|
|
@@ -135,7 +137,7 @@ function evaluateBlock(policy, context) {
|
|
|
135
137
|
for (const [headerName, pattern] of Object.entries(match.headers)) {
|
|
136
138
|
const headerValue = context.headers[headerName.toLowerCase()] ?? context.headers[headerName] ?? '';
|
|
137
139
|
if (useRegex) {
|
|
138
|
-
if (!
|
|
140
|
+
if (!safeRegexTest(pattern, headerValue)) {
|
|
139
141
|
return { policyName: policy.name, policyType: 'block', allowed: true };
|
|
140
142
|
}
|
|
141
143
|
}
|
|
@@ -287,54 +289,47 @@ const BUILTIN_PATTERNS = {
|
|
|
287
289
|
email: /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/,
|
|
288
290
|
phone: /\b(?:\+?1[-.\s]?)?(?:\(?\d{3}\)?[-.\s]?)\d{3}[-.\s]?\d{4}\b/,
|
|
289
291
|
};
|
|
290
|
-
/**
|
|
291
|
-
* Recursively extract all string values from a parsed JSON object.
|
|
292
|
-
* Only values are extracted (not keys), to avoid false positives from JSON structure.
|
|
293
|
-
*/
|
|
294
|
-
function extractStringValues(obj) {
|
|
295
|
-
const values = [];
|
|
296
|
-
if (typeof obj === 'string') {
|
|
297
|
-
values.push(obj);
|
|
298
|
-
}
|
|
299
|
-
else if (Array.isArray(obj)) {
|
|
300
|
-
for (const item of obj) {
|
|
301
|
-
values.push(...extractStringValues(item));
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
else if (obj !== null && typeof obj === 'object') {
|
|
305
|
-
for (const val of Object.values(obj)) {
|
|
306
|
-
values.push(...extractStringValues(val));
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
return values;
|
|
310
|
-
}
|
|
311
292
|
/**
|
|
312
293
|
* Evaluate a content filter policy against a request context.
|
|
313
294
|
*
|
|
314
|
-
* Parses the request body as JSON, extracts
|
|
315
|
-
*
|
|
316
|
-
*
|
|
295
|
+
* Parses the request body as JSON, extracts only message content text
|
|
296
|
+
* (not metadata like model names or token counts) and scans it against
|
|
297
|
+
* configured patterns. Built-in pattern names resolve to predefined
|
|
298
|
+
* regexes; unrecognized names are treated as custom regex strings.
|
|
299
|
+
*
|
|
300
|
+
* Uses extractMessageContent() for scoped extraction and safeRegexTest()
|
|
301
|
+
* for ReDoS-safe custom pattern matching.
|
|
317
302
|
*/
|
|
318
303
|
function evaluateContentFilter(policy, context) {
|
|
319
304
|
if (!context.body) {
|
|
320
305
|
return { policyName: policy.name, policyType: 'content_filter', allowed: true };
|
|
321
306
|
}
|
|
322
|
-
// Parse body as JSON and extract
|
|
323
|
-
let
|
|
307
|
+
// Parse body as JSON and extract message content only (not metadata)
|
|
308
|
+
let messageText;
|
|
324
309
|
try {
|
|
325
310
|
const parsed = JSON.parse(context.body);
|
|
326
|
-
|
|
311
|
+
messageText = extractMessageContent(parsed);
|
|
327
312
|
}
|
|
328
313
|
catch {
|
|
329
314
|
// Non-JSON body — can't scan, allow
|
|
330
315
|
return { policyName: policy.name, policyType: 'content_filter', allowed: true };
|
|
331
316
|
}
|
|
332
|
-
|
|
317
|
+
// No message content to scan — allow
|
|
318
|
+
if (!messageText) {
|
|
319
|
+
return { policyName: policy.name, policyType: 'content_filter', allowed: true };
|
|
320
|
+
}
|
|
333
321
|
// Check each pattern
|
|
334
322
|
for (const pattern of policy.patterns) {
|
|
335
323
|
const builtinRegex = BUILTIN_PATTERNS[pattern];
|
|
336
|
-
|
|
337
|
-
if (
|
|
324
|
+
let matched;
|
|
325
|
+
if (builtinRegex) {
|
|
326
|
+
matched = builtinRegex.test(messageText);
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
// Custom regex pattern — use ReDoS-safe test
|
|
330
|
+
matched = safeRegexTest(pattern, messageText);
|
|
331
|
+
}
|
|
332
|
+
if (matched) {
|
|
338
333
|
const reason = policy.reveal_pattern
|
|
339
334
|
? `Content filter triggered: ${builtinRegex ? pattern : 'custom pattern'} detected`
|
|
340
335
|
: `Content blocked by policy '${policy.name}'`;
|
|
@@ -668,7 +663,7 @@ function evaluateRequireApproval(policy, context) {
|
|
|
668
663
|
if (match.model !== undefined) {
|
|
669
664
|
const contextModel = context.model ?? '';
|
|
670
665
|
if (useRegex) {
|
|
671
|
-
if (!
|
|
666
|
+
if (!safeRegexTest(match.model, contextModel)) {
|
|
672
667
|
return { policyName: policy.name, policyType: 'require_approval', allowed: true };
|
|
673
668
|
}
|
|
674
669
|
}
|
|
@@ -680,7 +675,7 @@ function evaluateRequireApproval(policy, context) {
|
|
|
680
675
|
}
|
|
681
676
|
if (match.path !== undefined) {
|
|
682
677
|
if (useRegex) {
|
|
683
|
-
if (!
|
|
678
|
+
if (!safeRegexTest(match.path, context.path)) {
|
|
684
679
|
return { policyName: policy.name, policyType: 'require_approval', allowed: true };
|
|
685
680
|
}
|
|
686
681
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../src/policy-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../src/policy-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReDoS (Regular Expression Denial of Service) protection utilities.
|
|
3
|
+
*
|
|
4
|
+
* Checks user-supplied regex patterns for known dangerous constructs
|
|
5
|
+
* before compiling them. Unsafe patterns are rejected (return false)
|
|
6
|
+
* rather than risking catastrophic backtracking.
|
|
7
|
+
*
|
|
8
|
+
* Dangerous constructs detected:
|
|
9
|
+
* - Nested quantifiers: e.g., (a+)+ or (a*){2,}
|
|
10
|
+
* - Overlapping alternation with quantifiers: e.g., (a|a)+
|
|
11
|
+
* - Excessive pattern length (>500 chars)
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Check whether a regex pattern is safe to compile and execute.
|
|
15
|
+
*
|
|
16
|
+
* Returns false if the pattern:
|
|
17
|
+
* - Exceeds MAX_PATTERN_LENGTH
|
|
18
|
+
* - Contains nested quantifiers
|
|
19
|
+
* - Contains overlapping alternation with quantifiers
|
|
20
|
+
* - Is not a valid regex (would throw on `new RegExp()`)
|
|
21
|
+
*
|
|
22
|
+
* @param pattern - The regex pattern string to validate
|
|
23
|
+
* @returns true if the pattern is safe to use, false otherwise
|
|
24
|
+
*/
|
|
25
|
+
export declare function isSafePattern(pattern: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Safely test a regex pattern against an input string.
|
|
28
|
+
*
|
|
29
|
+
* If the pattern is unsafe (per isSafePattern), returns false immediately
|
|
30
|
+
* instead of risking catastrophic backtracking. This is the correct
|
|
31
|
+
* semantic for policy matching: an unsafe pattern simply does not match.
|
|
32
|
+
*
|
|
33
|
+
* @param pattern - The regex pattern string
|
|
34
|
+
* @param input - The string to test against
|
|
35
|
+
* @returns true if the pattern is safe AND matches the input
|
|
36
|
+
*/
|
|
37
|
+
export declare function safeRegexTest(pattern: string, input: string): boolean;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReDoS (Regular Expression Denial of Service) protection utilities.
|
|
3
|
+
*
|
|
4
|
+
* Checks user-supplied regex patterns for known dangerous constructs
|
|
5
|
+
* before compiling them. Unsafe patterns are rejected (return false)
|
|
6
|
+
* rather than risking catastrophic backtracking.
|
|
7
|
+
*
|
|
8
|
+
* Dangerous constructs detected:
|
|
9
|
+
* - Nested quantifiers: e.g., (a+)+ or (a*){2,}
|
|
10
|
+
* - Overlapping alternation with quantifiers: e.g., (a|a)+
|
|
11
|
+
* - Excessive pattern length (>500 chars)
|
|
12
|
+
*/
|
|
13
|
+
/** Maximum allowed pattern length to prevent resource exhaustion. */
|
|
14
|
+
const MAX_PATTERN_LENGTH = 500;
|
|
15
|
+
/**
|
|
16
|
+
* Detects nested quantifiers like (a+)+, (a*){2,}, (a{1,3})*
|
|
17
|
+
* These cause exponential backtracking on non-matching input.
|
|
18
|
+
*/
|
|
19
|
+
const NESTED_QUANTIFIER = /(\+|\*|\{[^}]+\})\s*\)(\+|\*|\{[^}]+\})/;
|
|
20
|
+
/**
|
|
21
|
+
* Detects overlapping alternation with quantifiers like (a|a)+, (ab|ab)*
|
|
22
|
+
* These create ambiguous match paths leading to exponential time.
|
|
23
|
+
*/
|
|
24
|
+
const OVERLAPPING_ALT = /\(([^)]*\|[^)]*)\)(\+|\*|\{[^}]+\})/;
|
|
25
|
+
/**
|
|
26
|
+
* Check whether a regex pattern is safe to compile and execute.
|
|
27
|
+
*
|
|
28
|
+
* Returns false if the pattern:
|
|
29
|
+
* - Exceeds MAX_PATTERN_LENGTH
|
|
30
|
+
* - Contains nested quantifiers
|
|
31
|
+
* - Contains overlapping alternation with quantifiers
|
|
32
|
+
* - Is not a valid regex (would throw on `new RegExp()`)
|
|
33
|
+
*
|
|
34
|
+
* @param pattern - The regex pattern string to validate
|
|
35
|
+
* @returns true if the pattern is safe to use, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
export function isSafePattern(pattern) {
|
|
38
|
+
if (pattern.length > MAX_PATTERN_LENGTH)
|
|
39
|
+
return false;
|
|
40
|
+
if (NESTED_QUANTIFIER.test(pattern))
|
|
41
|
+
return false;
|
|
42
|
+
if (OVERLAPPING_ALT.test(pattern))
|
|
43
|
+
return false;
|
|
44
|
+
try {
|
|
45
|
+
new RegExp(pattern);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Safely test a regex pattern against an input string.
|
|
54
|
+
*
|
|
55
|
+
* If the pattern is unsafe (per isSafePattern), returns false immediately
|
|
56
|
+
* instead of risking catastrophic backtracking. This is the correct
|
|
57
|
+
* semantic for policy matching: an unsafe pattern simply does not match.
|
|
58
|
+
*
|
|
59
|
+
* @param pattern - The regex pattern string
|
|
60
|
+
* @param input - The string to test against
|
|
61
|
+
* @returns true if the pattern is safe AND matches the input
|
|
62
|
+
*/
|
|
63
|
+
export function safeRegexTest(pattern, input) {
|
|
64
|
+
if (!isSafePattern(pattern))
|
|
65
|
+
return false;
|
|
66
|
+
try {
|
|
67
|
+
return new RegExp(pattern).test(input);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=safe-regex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-regex.js","sourceRoot":"","sources":["../src/safe-regex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;GAGG;AACH,MAAM,iBAAiB,GAAG,yCAAyC,CAAC;AAEpE;;;GAGG;AACH,MAAM,eAAe,GAAG,qCAAqC,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAa;IAC1D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/security.d.ts
CHANGED
|
@@ -52,6 +52,23 @@ export interface ResolvedWebhookTarget {
|
|
|
52
52
|
protocol: 'http:' | 'https:';
|
|
53
53
|
search: string;
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Async SSRF check with DNS rebinding defense.
|
|
57
|
+
*
|
|
58
|
+
* First runs a synchronous check on the URL (protocol, hostname patterns, IP literals).
|
|
59
|
+
* If the hostname is not an IP literal, resolves both A (IPv4) and AAAA (IPv6) DNS records
|
|
60
|
+
* and checks ALL resolved addresses against private/reserved ranges.
|
|
61
|
+
*
|
|
62
|
+
* Returns true if the URL should be blocked.
|
|
63
|
+
*
|
|
64
|
+
* Behavior:
|
|
65
|
+
* - If the hostname is an IP literal already checked by sync path, skips DNS
|
|
66
|
+
* - Resolves A and AAAA records in parallel
|
|
67
|
+
* - ENODATA/ENOTFOUND per record type means "no records" (not a failure)
|
|
68
|
+
* - If both lookups fail with real errors, returns true (fail closed)
|
|
69
|
+
* - If ANY resolved IP is private/reserved, returns true
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveAndCheckUrl(urlStr: string): Promise<boolean>;
|
|
55
72
|
export declare function resolveWebhookTarget(value: string): Promise<{
|
|
56
73
|
ok: true;
|
|
57
74
|
target: ResolvedWebhookTarget;
|
package/dist/security.js
CHANGED
|
@@ -3,7 +3,31 @@ import * as dns from 'node:dns/promises';
|
|
|
3
3
|
import * as httpRequest from 'node:http';
|
|
4
4
|
import * as httpsRequest from 'node:https';
|
|
5
5
|
import * as net from 'node:net';
|
|
6
|
+
import ipaddr from 'ipaddr.js';
|
|
6
7
|
import { SESSION_COOKIE_NAME } from './auth.js';
|
|
8
|
+
/**
|
|
9
|
+
* IP ranges that must be blocked for SSRF protection.
|
|
10
|
+
* Covers IPv4 private/reserved and IPv6 equivalents including ULA, link-local,
|
|
11
|
+
* documentation ranges, and carrier-grade NAT.
|
|
12
|
+
*/
|
|
13
|
+
const BLOCKED_IP_RANGES = new Set([
|
|
14
|
+
'loopback',
|
|
15
|
+
'uniqueLocal',
|
|
16
|
+
'linkLocal',
|
|
17
|
+
'private',
|
|
18
|
+
'carrierGradeNat',
|
|
19
|
+
'unspecified',
|
|
20
|
+
'reserved',
|
|
21
|
+
]);
|
|
22
|
+
/**
|
|
23
|
+
* Hostnames that resolve to cloud metadata services or other internal endpoints.
|
|
24
|
+
* These must be blocked regardless of what IP they resolve to.
|
|
25
|
+
*/
|
|
26
|
+
const BLOCKED_METADATA_HOSTNAMES = new Set([
|
|
27
|
+
'metadata.google.internal',
|
|
28
|
+
]);
|
|
29
|
+
/** DNS error codes that mean "no records of this type" (not a real failure) */
|
|
30
|
+
const BENIGN_DNS_ERRORS = new Set(['ENODATA', 'ENOTFOUND']);
|
|
7
31
|
export const DEFAULT_ADMIN_API_KEY_ENV = 'GOVYN_ADMIN_API_KEY';
|
|
8
32
|
function unwrapHeader(value) {
|
|
9
33
|
if (Array.isArray(value))
|
|
@@ -18,16 +42,6 @@ function normalizeIp(ip) {
|
|
|
18
42
|
const normalized = withoutZone.toLowerCase();
|
|
19
43
|
return normalized.startsWith('::ffff:') ? normalized.slice(7) : normalized;
|
|
20
44
|
}
|
|
21
|
-
function parseIpv4(ip) {
|
|
22
|
-
const parts = normalizeIp(ip).split('.');
|
|
23
|
-
if (parts.length !== 4)
|
|
24
|
-
return null;
|
|
25
|
-
const octets = parts.map((part) => Number.parseInt(part, 10));
|
|
26
|
-
if (octets.some((octet) => Number.isNaN(octet) || octet < 0 || octet > 255)) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
return octets;
|
|
30
|
-
}
|
|
31
45
|
function extractBearerToken(headerValue) {
|
|
32
46
|
if (!headerValue)
|
|
33
47
|
return null;
|
|
@@ -73,37 +87,39 @@ export function normalizeOrigin(origin) {
|
|
|
73
87
|
}
|
|
74
88
|
}
|
|
75
89
|
export function isLoopbackIp(ip) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
try {
|
|
91
|
+
const addr = ipaddr.parse(normalizeIp(ip));
|
|
92
|
+
// Handle IPv4-mapped IPv6 loopback (e.g. ::ffff:127.0.0.1)
|
|
93
|
+
if (addr.kind() === 'ipv6') {
|
|
94
|
+
const v6 = addr;
|
|
95
|
+
if (v6.isIPv4MappedAddress()) {
|
|
96
|
+
return v6.toIPv4Address().range() === 'loopback';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return addr.range() === 'loopback';
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
81
102
|
return false;
|
|
82
|
-
|
|
103
|
+
}
|
|
83
104
|
}
|
|
84
105
|
export function isPrivateOrReservedIp(ip) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
106
|
+
try {
|
|
107
|
+
const addr = ipaddr.parse(normalizeIp(ip));
|
|
108
|
+
// Handle IPv4-mapped IPv6 addresses (e.g. ::ffff:10.0.0.1, ::ffff:192.168.1.1)
|
|
109
|
+
// These must be unwrapped and checked against IPv4 private ranges.
|
|
110
|
+
if (addr.kind() === 'ipv6') {
|
|
111
|
+
const v6 = addr;
|
|
112
|
+
if (v6.isIPv4MappedAddress()) {
|
|
113
|
+
const v4 = v6.toIPv4Address();
|
|
114
|
+
return BLOCKED_IP_RANGES.has(v4.range());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return BLOCKED_IP_RANGES.has(addr.range());
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Unparseable IP = reject (fail closed)
|
|
89
121
|
return true;
|
|
90
|
-
|
|
91
|
-
if (ipv4) {
|
|
92
|
-
const [a, b] = ipv4;
|
|
93
|
-
return (a === 0 ||
|
|
94
|
-
a === 10 ||
|
|
95
|
-
(a === 100 && b >= 64 && b <= 127) ||
|
|
96
|
-
(a === 169 && b === 254) ||
|
|
97
|
-
(a === 172 && b >= 16 && b <= 31) ||
|
|
98
|
-
(a === 192 && b === 168) ||
|
|
99
|
-
(a === 198 && (b === 18 || b === 19)));
|
|
100
|
-
}
|
|
101
|
-
if (!net.isIPv6(normalized))
|
|
102
|
-
return false;
|
|
103
|
-
const firstHextet = Number.parseInt(normalized.split(':')[0] || '0', 16);
|
|
104
|
-
return ((firstHextet & 0xfe00) === 0xfc00 || // fc00::/7 unique local
|
|
105
|
-
(firstHextet & 0xffc0) === 0xfe80 || // fe80::/10 link local
|
|
106
|
-
normalized === '::1');
|
|
122
|
+
}
|
|
107
123
|
}
|
|
108
124
|
function isLocalHostname(hostname) {
|
|
109
125
|
const normalized = normalizeHost(hostname);
|
|
@@ -137,6 +153,9 @@ function isBlockedWebhookHostname(hostname) {
|
|
|
137
153
|
normalized.endsWith('.home.arpa')) {
|
|
138
154
|
return true;
|
|
139
155
|
}
|
|
156
|
+
if (BLOCKED_METADATA_HOSTNAMES.has(normalized)) {
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
140
159
|
return net.isIP(normalized) ? isPrivateOrReservedIp(normalized) : false;
|
|
141
160
|
}
|
|
142
161
|
export function isAllowedOrigin(origin, security) {
|
|
@@ -352,6 +371,77 @@ async function resolvePublicAddress(hostname) {
|
|
|
352
371
|
}
|
|
353
372
|
return { ok: true, address: normalizedAnswers[0].address, family: normalizedAnswers[0].family };
|
|
354
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* Async SSRF check with DNS rebinding defense.
|
|
376
|
+
*
|
|
377
|
+
* First runs a synchronous check on the URL (protocol, hostname patterns, IP literals).
|
|
378
|
+
* If the hostname is not an IP literal, resolves both A (IPv4) and AAAA (IPv6) DNS records
|
|
379
|
+
* and checks ALL resolved addresses against private/reserved ranges.
|
|
380
|
+
*
|
|
381
|
+
* Returns true if the URL should be blocked.
|
|
382
|
+
*
|
|
383
|
+
* Behavior:
|
|
384
|
+
* - If the hostname is an IP literal already checked by sync path, skips DNS
|
|
385
|
+
* - Resolves A and AAAA records in parallel
|
|
386
|
+
* - ENODATA/ENOTFOUND per record type means "no records" (not a failure)
|
|
387
|
+
* - If both lookups fail with real errors, returns true (fail closed)
|
|
388
|
+
* - If ANY resolved IP is private/reserved, returns true
|
|
389
|
+
*/
|
|
390
|
+
export async function resolveAndCheckUrl(urlStr) {
|
|
391
|
+
let parsed;
|
|
392
|
+
try {
|
|
393
|
+
parsed = new URL(urlStr);
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
return true; // Unparseable URL = fail closed
|
|
397
|
+
}
|
|
398
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
399
|
+
return true;
|
|
400
|
+
}
|
|
401
|
+
const hostname = normalizeHost(parsed.hostname);
|
|
402
|
+
// Check blocked hostnames (localhost, metadata endpoints, etc.)
|
|
403
|
+
if (isBlockedWebhookHostname(hostname)) {
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
// If hostname is an IP literal, just check the IP directly
|
|
407
|
+
if (net.isIP(hostname)) {
|
|
408
|
+
return isPrivateOrReservedIp(hostname);
|
|
409
|
+
}
|
|
410
|
+
// Resolve DNS (both A and AAAA) and check all results
|
|
411
|
+
const [v4Result, v6Result] = await Promise.allSettled([
|
|
412
|
+
dns.resolve4(hostname),
|
|
413
|
+
dns.resolve6(hostname),
|
|
414
|
+
]);
|
|
415
|
+
const allIps = [];
|
|
416
|
+
let v4Benign = false;
|
|
417
|
+
let v6Benign = false;
|
|
418
|
+
if (v4Result.status === 'fulfilled') {
|
|
419
|
+
allIps.push(...v4Result.value);
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
const err = v4Result.reason;
|
|
423
|
+
v4Benign = BENIGN_DNS_ERRORS.has(err.code ?? '');
|
|
424
|
+
}
|
|
425
|
+
if (v6Result.status === 'fulfilled') {
|
|
426
|
+
allIps.push(...v6Result.value);
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
const err = v6Result.reason;
|
|
430
|
+
v6Benign = BENIGN_DNS_ERRORS.has(err.code ?? '');
|
|
431
|
+
}
|
|
432
|
+
// If both failed with real errors (not ENODATA/ENOTFOUND), fail closed
|
|
433
|
+
if (allIps.length === 0) {
|
|
434
|
+
const bothFailed = v4Result.status === 'rejected' && v6Result.status === 'rejected';
|
|
435
|
+
if (bothFailed && !v4Benign && !v6Benign) {
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
// Both returned ENODATA/ENOTFOUND: hostname has no records -- allow
|
|
439
|
+
// (will fail at the actual fetch anyway)
|
|
440
|
+
return false;
|
|
441
|
+
}
|
|
442
|
+
// If ANY resolved IP is private/reserved, block
|
|
443
|
+
return allIps.some((ip) => isPrivateOrReservedIp(ip));
|
|
444
|
+
}
|
|
355
445
|
export async function resolveWebhookTarget(value) {
|
|
356
446
|
const validated = validateWebhookUrl(value);
|
|
357
447
|
if (!validated.ok) {
|
package/dist/security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "govyn",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "AI agent governance proxy",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"better-sqlite3": "^12.8.0",
|
|
57
|
+
"ipaddr.js": "^2.3.0",
|
|
57
58
|
"postgres": "^3.4.8",
|
|
58
59
|
"yaml": "^2.8.2"
|
|
59
60
|
},
|