@fractary/faber 2.3.7 → 2.3.11

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.
@@ -6,7 +6,7 @@
6
6
  import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import * as os from 'os';
9
- import { WorkflowResolver, WorkflowNotFoundError, } from '../resolver.js';
9
+ import { WorkflowResolver, WorkflowNotFoundError, SSRFError, } from '../resolver.js';
10
10
  describe('WorkflowResolver', () => {
11
11
  let testDir;
12
12
  let marketplaceRoot;
@@ -17,8 +17,8 @@ describe('WorkflowResolver', () => {
17
17
  testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'faber-resolver-test-'));
18
18
  marketplaceRoot = path.join(testDir, 'marketplaces');
19
19
  projectRoot = path.join(testDir, 'project');
20
- // Create directory structures
21
- fs.mkdirSync(path.join(marketplaceRoot, 'fractary-faber/plugins/faber/config/workflows'), {
20
+ // Create directory structures (new .fractary/faber/workflows location)
21
+ fs.mkdirSync(path.join(marketplaceRoot, 'fractary-faber/plugins/faber/.fractary/faber/workflows'), {
22
22
  recursive: true,
23
23
  });
24
24
  fs.mkdirSync(path.join(projectRoot, '.fractary/faber/workflows'), { recursive: true });
@@ -34,11 +34,11 @@ describe('WorkflowResolver', () => {
34
34
  }
35
35
  });
36
36
  /**
37
- * Helper to create a workflow file
37
+ * Helper to create a workflow file in the new .fractary/faber/workflows location
38
38
  */
39
39
  function createWorkflow(namespace, name, config) {
40
40
  const basePath = namespace === 'fractary-faber'
41
- ? path.join(marketplaceRoot, 'fractary-faber/plugins/faber/config/workflows')
41
+ ? path.join(marketplaceRoot, 'fractary-faber/plugins/faber/.fractary/faber/workflows')
42
42
  : path.join(projectRoot, '.fractary/faber/workflows');
43
43
  const fullConfig = {
44
44
  id: config.id || name,
@@ -148,7 +148,7 @@ describe('WorkflowResolver', () => {
148
148
  it('should prepend ancestor global context to child global context', async () => {
149
149
  createWorkflow('project', 'child', {
150
150
  id: 'child',
151
- extends: 'fractary-faber:base',
151
+ extends: 'faber@fractary-faber:base',
152
152
  context: {
153
153
  global: 'Child global context',
154
154
  },
@@ -159,7 +159,7 @@ describe('WorkflowResolver', () => {
159
159
  it('should prepend ancestor phase context to child phase context', async () => {
160
160
  createWorkflow('project', 'child-phase', {
161
161
  id: 'child-phase',
162
- extends: 'fractary-faber:base',
162
+ extends: 'faber@fractary-faber:base',
163
163
  context: {
164
164
  phases: {
165
165
  build: 'Child build context',
@@ -174,7 +174,7 @@ describe('WorkflowResolver', () => {
174
174
  it('should override ancestor step context with child step context', async () => {
175
175
  createWorkflow('project', 'child-step', {
176
176
  id: 'child-step',
177
- extends: 'fractary-faber:base',
177
+ extends: 'faber@fractary-faber:base',
178
178
  context: {
179
179
  steps: {
180
180
  implement: 'Child implement step (overrides base)',
@@ -188,7 +188,7 @@ describe('WorkflowResolver', () => {
188
188
  it('should merge step contexts when different step IDs', async () => {
189
189
  createWorkflow('project', 'child-new-step', {
190
190
  id: 'child-new-step',
191
- extends: 'fractary-faber:base',
191
+ extends: 'faber@fractary-faber:base',
192
192
  context: {
193
193
  steps: {
194
194
  'new-step': 'Child new step context',
@@ -203,7 +203,7 @@ describe('WorkflowResolver', () => {
203
203
  it('should inherit ancestor context when child has none', async () => {
204
204
  createWorkflow('project', 'no-child-context', {
205
205
  id: 'no-child-context',
206
- extends: 'fractary-faber:base',
206
+ extends: 'faber@fractary-faber:base',
207
207
  // No context defined
208
208
  });
209
209
  const resolved = await resolver.resolveWorkflow('no-child-context');
@@ -218,7 +218,7 @@ describe('WorkflowResolver', () => {
218
218
  });
219
219
  createWorkflow('project', 'child-only-context', {
220
220
  id: 'child-only-context',
221
- extends: 'fractary-faber:no-ctx-base',
221
+ extends: 'faber@fractary-faber:no-ctx-base',
222
222
  context: {
223
223
  global: 'Child only global',
224
224
  },
@@ -246,7 +246,7 @@ describe('WorkflowResolver', () => {
246
246
  // Create parent extending core
247
247
  createWorkflow('fractary-faber', 'default', {
248
248
  id: 'default',
249
- extends: 'fractary-faber:core',
249
+ extends: 'faber@fractary-faber:core',
250
250
  context: {
251
251
  global: 'Default global',
252
252
  phases: {
@@ -262,7 +262,7 @@ describe('WorkflowResolver', () => {
262
262
  it('should accumulate global context from all ancestors (grandparent → parent → child)', async () => {
263
263
  createWorkflow('project', 'grandchild', {
264
264
  id: 'grandchild',
265
- extends: 'fractary-faber:default',
265
+ extends: 'faber@fractary-faber:default',
266
266
  context: {
267
267
  global: 'Grandchild global',
268
268
  },
@@ -273,7 +273,7 @@ describe('WorkflowResolver', () => {
273
273
  it('should accumulate phase context through inheritance chain', async () => {
274
274
  createWorkflow('project', 'grandchild-phase', {
275
275
  id: 'grandchild-phase',
276
- extends: 'fractary-faber:default',
276
+ extends: 'faber@fractary-faber:default',
277
277
  context: {
278
278
  phases: {
279
279
  build: 'Grandchild build',
@@ -291,7 +291,7 @@ describe('WorkflowResolver', () => {
291
291
  it('should resolve step contexts with proper override chain', async () => {
292
292
  createWorkflow('project', 'grandchild-step', {
293
293
  id: 'grandchild-step',
294
- extends: 'fractary-faber:default',
294
+ extends: 'faber@fractary-faber:default',
295
295
  context: {
296
296
  steps: {
297
297
  'core-step': 'Grandchild overrides core step',
@@ -310,13 +310,13 @@ describe('WorkflowResolver', () => {
310
310
  it('should preserve inheritance chain in resolved workflow', async () => {
311
311
  createWorkflow('project', 'grandchild-chain', {
312
312
  id: 'grandchild-chain',
313
- extends: 'fractary-faber:default',
313
+ extends: 'faber@fractary-faber:default',
314
314
  });
315
315
  const resolved = await resolver.resolveWorkflow('grandchild-chain');
316
316
  expect(resolved.inheritance_chain).toEqual([
317
317
  'grandchild-chain',
318
- 'fractary-faber:default',
319
- 'fractary-faber:core',
318
+ 'faber@fractary-faber:default',
319
+ 'faber@fractary-faber:core',
320
320
  ]);
321
321
  });
322
322
  });
@@ -405,14 +405,14 @@ describe('WorkflowResolver', () => {
405
405
  });
406
406
  createWorkflow('project', 'extends-legacy', {
407
407
  id: 'extends-legacy',
408
- extends: 'fractary-faber:legacy',
408
+ extends: 'faber@fractary-faber:legacy',
409
409
  context: {
410
410
  global: 'New context on child',
411
411
  },
412
412
  });
413
413
  const resolved = await resolver.resolveWorkflow('extends-legacy');
414
414
  expect(resolved.context?.global).toBe('New context on child');
415
- expect(resolved.inheritance_chain).toEqual(['extends-legacy', 'fractary-faber:legacy']);
415
+ expect(resolved.inheritance_chain).toEqual(['extends-legacy', 'faber@fractary-faber:legacy']);
416
416
  });
417
417
  it('should preserve other workflow properties alongside context', async () => {
418
418
  createWorkflow('project', 'full-workflow', {
@@ -470,5 +470,153 @@ describe('WorkflowResolver', () => {
470
470
  expect(fresh.description).toBe('Second version');
471
471
  });
472
472
  });
473
+ describe('Flexible Reference Formats', () => {
474
+ /**
475
+ * Helper to create a workflow in explicit plugin@marketplace format
476
+ */
477
+ function createExplicitWorkflow(marketplace, plugin, name, config) {
478
+ const basePath = path.join(marketplaceRoot, marketplace, 'plugins', plugin, '.fractary/faber/workflows');
479
+ fs.mkdirSync(basePath, { recursive: true });
480
+ const fullConfig = {
481
+ id: config.id || name,
482
+ phases: config.phases || {
483
+ frame: { enabled: true },
484
+ architect: { enabled: true },
485
+ build: { enabled: true },
486
+ evaluate: { enabled: true },
487
+ release: { enabled: true },
488
+ },
489
+ autonomy: config.autonomy || { level: 'guarded' },
490
+ ...config,
491
+ };
492
+ fs.writeFileSync(path.join(basePath, `${name}.json`), JSON.stringify(fullConfig, null, 2));
493
+ }
494
+ describe('Explicit plugin@marketplace:workflow Format', () => {
495
+ it('should resolve explicit format: faber@fractary-faber:default', async () => {
496
+ createExplicitWorkflow('fractary-faber', 'faber', 'default', {
497
+ id: 'default',
498
+ description: 'Default workflow from explicit format',
499
+ });
500
+ const resolved = await resolver.resolveWorkflow('faber@fractary-faber:default');
501
+ expect(resolved.id).toBe('default');
502
+ expect(resolved.description).toBe('Default workflow from explicit format');
503
+ expect(resolved.inheritance_chain).toEqual(['faber@fractary-faber:default']);
504
+ });
505
+ it('should resolve explicit format with different marketplace', async () => {
506
+ createExplicitWorkflow('fractary-faber-software', 'faber-software', 'software-development', {
507
+ id: 'software-development',
508
+ description: 'Software development workflow',
509
+ });
510
+ const resolved = await resolver.resolveWorkflow('faber-software@fractary-faber-software:software-development');
511
+ expect(resolved.id).toBe('software-development');
512
+ expect(resolved.description).toBe('Software development workflow');
513
+ });
514
+ it('should support inheritance with explicit format', async () => {
515
+ // Create parent in explicit format
516
+ createExplicitWorkflow('fractary-faber', 'faber', 'core', {
517
+ id: 'core',
518
+ description: 'Core workflow',
519
+ context: {
520
+ global: 'Core global context',
521
+ },
522
+ });
523
+ // Create child extending parent using explicit format
524
+ createWorkflow('project', 'my-workflow', {
525
+ id: 'my-workflow',
526
+ extends: 'faber@fractary-faber:core',
527
+ description: 'My custom workflow',
528
+ context: {
529
+ global: 'My custom context',
530
+ },
531
+ });
532
+ const resolved = await resolver.resolveWorkflow('my-workflow');
533
+ expect(resolved.id).toBe('my-workflow');
534
+ expect(resolved.inheritance_chain).toEqual(['my-workflow', 'faber@fractary-faber:core']);
535
+ expect(resolved.context?.global).toBe('Core global context\n\nMy custom context');
536
+ });
537
+ it('should throw WorkflowNotFoundError for non-existent explicit reference', async () => {
538
+ await expect(resolver.resolveWorkflow('nonexistent@nonexistent-marketplace:workflow')).rejects.toThrow(WorkflowNotFoundError);
539
+ });
540
+ });
541
+ describe('Project-local Format', () => {
542
+ it('should resolve project-local workflow by name only', async () => {
543
+ createWorkflow('project', 'my-local-workflow', {
544
+ id: 'my-local-workflow',
545
+ description: 'Project local workflow',
546
+ });
547
+ const resolved = await resolver.resolveWorkflow('my-local-workflow');
548
+ expect(resolved.id).toBe('my-local-workflow');
549
+ expect(resolved.description).toBe('Project local workflow');
550
+ });
551
+ it('should fallback to plugin defaults for project-local format', async () => {
552
+ // Create workflow in plugin defaults (simulating fallback path)
553
+ createWorkflow('fractary-faber', 'default-fallback', {
554
+ id: 'default-fallback',
555
+ description: 'Fallback workflow from plugin',
556
+ });
557
+ const resolved = await resolver.resolveWorkflow('default-fallback');
558
+ expect(resolved.id).toBe('default-fallback');
559
+ expect(resolved.description).toBe('Fallback workflow from plugin');
560
+ });
561
+ });
562
+ describe('URL Format', () => {
563
+ it('should recognize url: prefix as URL reference', async () => {
564
+ // URL format is detected by the resolver but requires network fetch
565
+ // We test that it throws the appropriate error for an invalid URL
566
+ await expect(resolver.resolveWorkflow('url:https://example.com/nonexistent-workflow.json')).rejects.toThrow();
567
+ });
568
+ });
569
+ describe('Path Security', () => {
570
+ it('should reject path traversal in explicit format plugin name', async () => {
571
+ await expect(resolver.resolveWorkflow('../../../etc/passwd@marketplace:workflow')).rejects.toThrow(/path traversal/);
572
+ });
573
+ it('should reject path traversal in explicit format marketplace name', async () => {
574
+ await expect(resolver.resolveWorkflow('plugin@../../../etc:workflow')).rejects.toThrow(/path traversal/);
575
+ });
576
+ it('should reject path traversal in explicit format workflow name', async () => {
577
+ await expect(resolver.resolveWorkflow('plugin@marketplace:../../../etc/passwd')).rejects.toThrow(/path traversal/);
578
+ });
579
+ it('should reject path traversal in project-local format', async () => {
580
+ await expect(resolver.resolveWorkflow('../../../etc/passwd')).rejects.toThrow(/path traversal/);
581
+ });
582
+ });
583
+ describe('SSRF Security', () => {
584
+ it('should reject HTTP URLs (only HTTPS allowed)', async () => {
585
+ await expect(resolver.resolveWorkflow('url:http://example.com/workflow.json')).rejects.toThrow(SSRFError);
586
+ await expect(resolver.resolveWorkflow('url:http://example.com/workflow.json')).rejects.toThrow(/not allowed.*HTTPS/i);
587
+ });
588
+ it('should reject file:// URLs', async () => {
589
+ await expect(resolver.resolveWorkflow('url:file:///etc/passwd')).rejects.toThrow(SSRFError);
590
+ });
591
+ it('should reject data: URLs', async () => {
592
+ await expect(resolver.resolveWorkflow('url:data:application/json,{"id":"test"}')).rejects.toThrow(SSRFError);
593
+ });
594
+ it('should reject localhost URLs', async () => {
595
+ await expect(resolver.resolveWorkflow('url:https://localhost/workflow.json')).rejects.toThrow(SSRFError);
596
+ await expect(resolver.resolveWorkflow('url:https://localhost/workflow.json')).rejects.toThrow(/[Ll]ocalhost/);
597
+ });
598
+ it('should reject localhost.localdomain URLs', async () => {
599
+ await expect(resolver.resolveWorkflow('url:https://localhost.localdomain/workflow.json')).rejects.toThrow(SSRFError);
600
+ });
601
+ it('should reject .local domain URLs', async () => {
602
+ await expect(resolver.resolveWorkflow('url:https://internal.local/workflow.json')).rejects.toThrow(SSRFError);
603
+ });
604
+ it('should reject .localhost subdomain URLs', async () => {
605
+ await expect(resolver.resolveWorkflow('url:https://evil.localhost/workflow.json')).rejects.toThrow(SSRFError);
606
+ });
607
+ it('should reject invalid URL format', async () => {
608
+ await expect(resolver.resolveWorkflow('url:not-a-valid-url')).rejects.toThrow(SSRFError);
609
+ await expect(resolver.resolveWorkflow('url:not-a-valid-url')).rejects.toThrow(/[Ii]nvalid URL/);
610
+ });
611
+ // Note: Testing actual private IP blocking requires DNS resolution,
612
+ // which is difficult to mock in unit tests. The following tests verify
613
+ // that the URL validation catches common attack patterns.
614
+ it('should block AWS metadata endpoint hostnames', async () => {
615
+ // AWS metadata endpoint typically requires resolution to 169.254.169.254
616
+ // This test verifies the hostname-based protection
617
+ await expect(resolver.resolveWorkflow('url:https://169.254.169.254/latest/meta-data/')).rejects.toThrow();
618
+ });
619
+ });
620
+ });
473
621
  });
474
622
  //# sourceMappingURL=resolver.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../../../src/workflow/__tests__/resolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.test.js","sourceRoot":"","sources":["../../../src/workflow/__tests__/resolver.test.ts"],"names":[],"mappings":"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"}
@@ -165,6 +165,11 @@ export declare class InvalidWorkflowError extends Error {
165
165
  reason: string;
166
166
  constructor(workflowId: string, reason: string);
167
167
  }
168
+ export declare class SSRFError extends Error {
169
+ url: string;
170
+ reason: string;
171
+ constructor(url: string, reason: string);
172
+ }
168
173
  /**
169
174
  * Resolves workflow inheritance chains and merges phases.
170
175
  *
@@ -200,7 +205,8 @@ export declare class WorkflowResolver {
200
205
  private buildInheritanceChain;
201
206
  /**
202
207
  * Load a workflow file by ID.
203
- * Supports namespace resolution (fractary-faber:, project:, etc.)
208
+ * Supports URL references, explicit plugin@marketplace references,
209
+ * and project-local references with fallback to plugin defaults.
204
210
  */
205
211
  private loadWorkflowFile;
206
212
  /**
@@ -208,7 +214,28 @@ export declare class WorkflowResolver {
208
214
  */
209
215
  private loadAndCacheWorkflow;
210
216
  /**
211
- * Resolve a workflow ID to a file path based on namespace.
217
+ * Fetch a workflow from a URL with caching.
218
+ * Cache is valid for 1 hour.
219
+ *
220
+ * Security: Validates URL to prevent SSRF attacks before fetching.
221
+ */
222
+ private fetchWorkflowFromUrl;
223
+ /**
224
+ * Hash a string using SHA-256.
225
+ */
226
+ private hashString;
227
+ /**
228
+ * Clean up expired cache entries (older than 1 hour).
229
+ * Called opportunistically when writing new cache files.
230
+ * Errors are silently ignored to not disrupt normal operations.
231
+ */
232
+ private cleanupExpiredCache;
233
+ /**
234
+ * Resolve a workflow ID to a file path or URL reference.
235
+ * Supports three formats:
236
+ * 1. URL: url:https://example.com/workflow.json
237
+ * 2. Explicit: plugin@marketplace:workflow
238
+ * 3. Project-local: workflow-name
212
239
  * Validates all path components to prevent path traversal attacks.
213
240
  */
214
241
  private resolveWorkflowPath;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/workflow/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/workflow/resolver.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,12 @@
6
6
  *
7
7
  * Centralized workflow resolution ensures consistent behavior across CLI, MCP, and agents.
8
8
  */
9
+ import * as crypto from 'crypto';
10
+ import * as dns from 'dns';
9
11
  import * as fs from 'fs';
10
12
  import * as os from 'os';
11
13
  import * as path from 'path';
14
+ import { promisify } from 'util';
12
15
  // ============================================================================
13
16
  // Custom Errors
14
17
  // ============================================================================
@@ -50,6 +53,120 @@ export class InvalidWorkflowError extends Error {
50
53
  this.name = 'InvalidWorkflowError';
51
54
  }
52
55
  }
56
+ export class SSRFError extends Error {
57
+ url;
58
+ reason;
59
+ constructor(url, reason) {
60
+ super(`SSRF protection blocked URL ${url}: ${reason}`);
61
+ this.url = url;
62
+ this.reason = reason;
63
+ this.name = 'SSRFError';
64
+ }
65
+ }
66
+ // ============================================================================
67
+ // URL Security Helpers
68
+ // ============================================================================
69
+ const dnsLookup = promisify(dns.lookup);
70
+ /** Timeout for URL fetch operations (30 seconds) */
71
+ const URL_FETCH_TIMEOUT_MS = 30000;
72
+ /** Allowed URL schemes for workflow references */
73
+ const ALLOWED_URL_SCHEMES = ['https:'];
74
+ /**
75
+ * Check if an IP address is in a private/internal range.
76
+ * Blocks: localhost, private networks, link-local, loopback
77
+ */
78
+ function isPrivateIP(ip) {
79
+ // IPv4 patterns
80
+ const ipv4Patterns = [
81
+ /^127\./, // 127.0.0.0/8 - Loopback
82
+ /^10\./, // 10.0.0.0/8 - Private
83
+ /^172\.(1[6-9]|2[0-9]|3[0-1])\./, // 172.16.0.0/12 - Private
84
+ /^192\.168\./, // 192.168.0.0/16 - Private
85
+ /^169\.254\./, // 169.254.0.0/16 - Link-local (AWS metadata!)
86
+ /^0\./, // 0.0.0.0/8 - Current network
87
+ /^100\.(6[4-9]|[7-9][0-9]|1[0-1][0-9]|12[0-7])\./, // 100.64.0.0/10 - Carrier-grade NAT
88
+ /^192\.0\.0\./, // 192.0.0.0/24 - IETF Protocol Assignments
89
+ /^192\.0\.2\./, // 192.0.2.0/24 - TEST-NET-1
90
+ /^198\.(1[89])\./, // 198.18.0.0/15 - Benchmarking
91
+ /^198\.51\.100\./, // 198.51.100.0/24 - TEST-NET-2
92
+ /^203\.0\.113\./, // 203.0.113.0/24 - TEST-NET-3
93
+ /^224\./, // 224.0.0.0/4 - Multicast
94
+ /^240\./, // 240.0.0.0/4 - Reserved
95
+ /^255\.255\.255\.255$/, // Broadcast
96
+ ];
97
+ // IPv6 patterns
98
+ const ipv6Patterns = [
99
+ /^::1$/, // Loopback
100
+ /^fe80:/i, // Link-local
101
+ /^fc00:/i, // Unique local (private)
102
+ /^fd[0-9a-f]{2}:/i, // Unique local (private)
103
+ /^::ffff:(127\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.|169\.254\.)/i, // IPv4-mapped
104
+ ];
105
+ for (const pattern of ipv4Patterns) {
106
+ if (pattern.test(ip))
107
+ return true;
108
+ }
109
+ for (const pattern of ipv6Patterns) {
110
+ if (pattern.test(ip))
111
+ return true;
112
+ }
113
+ return false;
114
+ }
115
+ /**
116
+ * Validate a URL for SSRF protection.
117
+ * Throws SSRFError if the URL is potentially dangerous.
118
+ *
119
+ * SECURITY NOTE: DNS Rebinding (TOCTOU) Limitation
120
+ * ------------------------------------------------
121
+ * This validation has a Time-of-Check-Time-of-Use vulnerability: the DNS
122
+ * resolution performed here may return a different IP than the one used
123
+ * by the subsequent fetch() call. An attacker with DNS control could:
124
+ * 1. First resolution (validation): returns public IP -> passes validation
125
+ * 2. Second resolution (fetch): returns private IP -> SSRF achieved
126
+ *
127
+ * Mitigation requires a custom HTTP agent that validates IP at connection
128
+ * time, which is complex to implement. For workflow references, this risk
129
+ * is acceptable because:
130
+ * - URL references are typically from trusted sources (marketplace configs)
131
+ * - The attacker would need DNS control over the domain
132
+ * - Additional mitigations exist (HTTPS-only, redirect blocking)
133
+ *
134
+ * For high-security environments, disable URL references entirely and use
135
+ * only explicit plugin@marketplace:workflow or project-local references.
136
+ */
137
+ async function validateUrlSecurity(url) {
138
+ let parsedUrl;
139
+ try {
140
+ parsedUrl = new URL(url);
141
+ }
142
+ catch {
143
+ throw new SSRFError(url, 'Invalid URL format');
144
+ }
145
+ // Check scheme (only HTTPS allowed)
146
+ if (!ALLOWED_URL_SCHEMES.includes(parsedUrl.protocol)) {
147
+ throw new SSRFError(url, `URL scheme '${parsedUrl.protocol}' not allowed. Only HTTPS is permitted.`);
148
+ }
149
+ // Block localhost hostnames
150
+ const hostname = parsedUrl.hostname.toLowerCase();
151
+ if (hostname === 'localhost' ||
152
+ hostname === 'localhost.localdomain' ||
153
+ hostname.endsWith('.localhost') ||
154
+ hostname.endsWith('.local')) {
155
+ throw new SSRFError(url, 'Localhost URLs are not allowed');
156
+ }
157
+ // Resolve hostname to IP and check if private
158
+ try {
159
+ const { address } = await dnsLookup(hostname);
160
+ if (isPrivateIP(address)) {
161
+ throw new SSRFError(url, `URL resolves to private/internal IP address (${address})`);
162
+ }
163
+ }
164
+ catch (error) {
165
+ if (error instanceof SSRFError)
166
+ throw error;
167
+ throw new SSRFError(url, `Failed to resolve hostname: ${error.message}`);
168
+ }
169
+ }
53
170
  // ============================================================================
54
171
  // Workflow Resolver Class
55
172
  // ============================================================================
@@ -158,19 +275,26 @@ export class WorkflowResolver {
158
275
  }
159
276
  /**
160
277
  * Load a workflow file by ID.
161
- * Supports namespace resolution (fractary-faber:, project:, etc.)
278
+ * Supports URL references, explicit plugin@marketplace references,
279
+ * and project-local references with fallback to plugin defaults.
162
280
  */
163
281
  async loadWorkflowFile(workflowId) {
164
282
  // Check cache first
165
283
  if (this.workflowCache.has(workflowId)) {
166
284
  return this.workflowCache.get(workflowId);
167
285
  }
168
- const filePath = this.resolveWorkflowPath(workflowId);
286
+ const pathOrUrl = this.resolveWorkflowPath(workflowId);
287
+ // Handle URL references
288
+ if (typeof pathOrUrl === 'object' && pathOrUrl.type === 'url') {
289
+ return this.fetchWorkflowFromUrl(workflowId, pathOrUrl.url);
290
+ }
291
+ // At this point, pathOrUrl is guaranteed to be a string
292
+ const filePath = pathOrUrl;
169
293
  const searchedPaths = [filePath];
170
294
  if (!fs.existsSync(filePath)) {
171
- // Fallback: if no explicit namespace, try plugin defaults
172
- if (!workflowId.includes(':')) {
173
- const fallbackPath = path.join(this.marketplaceRoot, 'fractary-faber/plugins/faber/config/workflows', `${workflowId}.json`);
295
+ // Fallback: if project-local (no @ or :), try plugin defaults
296
+ if (!workflowId.includes('@') && !workflowId.includes(':')) {
297
+ const fallbackPath = path.join(this.marketplaceRoot, 'fractary-faber/plugins/faber/.fractary/faber/workflows', `${workflowId}.json`);
174
298
  searchedPaths.push(fallbackPath);
175
299
  if (fs.existsSync(fallbackPath)) {
176
300
  return this.loadAndCacheWorkflow(workflowId, fallbackPath);
@@ -198,51 +322,159 @@ export class WorkflowResolver {
198
322
  }
199
323
  }
200
324
  /**
201
- * Resolve a workflow ID to a file path based on namespace.
202
- * Validates all path components to prevent path traversal attacks.
325
+ * Fetch a workflow from a URL with caching.
326
+ * Cache is valid for 1 hour.
327
+ *
328
+ * Security: Validates URL to prevent SSRF attacks before fetching.
203
329
  */
204
- resolveWorkflowPath(workflowId) {
205
- let namespace;
206
- let workflowName;
207
- if (workflowId.includes(':')) {
208
- const parts = workflowId.split(':');
209
- namespace = parts[0];
210
- workflowName = parts.slice(1).join(':');
211
- }
212
- else {
213
- namespace = 'project';
214
- workflowName = workflowId;
215
- }
216
- // Sanitize namespace and workflow name to prevent path traversal
217
- this.sanitizePathComponent(namespace, 'namespace');
218
- this.sanitizePathComponent(workflowName, 'workflow name');
219
- switch (namespace) {
220
- case 'fractary-faber':
221
- return path.join(this.marketplaceRoot, 'fractary-faber/plugins/faber/config/workflows', `${workflowName}.json`);
222
- case 'fractary-faber-cloud':
223
- return path.join(this.marketplaceRoot, 'fractary-faber/plugins/faber-cloud/config/workflows', `${workflowName}.json`);
224
- case 'fractary-core': {
225
- // Extract plugin name from workflow_name if it contains slash
226
- const parts = workflowName.split('/');
227
- // Sanitize each part individually
228
- const plugin = this.sanitizePathComponent(parts[0], 'plugin name');
229
- const workflow = parts.length > 1
230
- ? this.sanitizePathComponent(parts.slice(1).join('/'), 'workflow name')
231
- : plugin;
232
- return path.join(this.marketplaceRoot, `fractary-core/plugins/${plugin}/config/workflows`, `${workflow}.json`);
330
+ async fetchWorkflowFromUrl(workflowId, url) {
331
+ // SSRF Protection: Validate URL before fetching
332
+ await validateUrlSecurity(url);
333
+ const cacheDir = path.join(this.marketplaceRoot, '.cache', 'workflows');
334
+ const cacheFile = path.join(cacheDir, `${this.hashString(url)}.json`);
335
+ // Check cache (1 hour TTL)
336
+ if (fs.existsSync(cacheFile)) {
337
+ const stats = fs.statSync(cacheFile);
338
+ const ageMinutes = (Date.now() - stats.mtimeMs) / 60000;
339
+ if (ageMinutes < 60) {
340
+ return this.loadAndCacheWorkflow(workflowId, cacheFile);
341
+ }
342
+ }
343
+ // Fetch from URL with timeout and security settings
344
+ const controller = new AbortController();
345
+ const timeoutId = setTimeout(() => controller.abort(), URL_FETCH_TIMEOUT_MS);
346
+ try {
347
+ const response = await fetch(url, {
348
+ signal: controller.signal,
349
+ redirect: 'error', // Block redirects to prevent SSRF via redirect
350
+ headers: {
351
+ 'User-Agent': 'Fractary-Faber-WorkflowResolver/1.0',
352
+ },
353
+ });
354
+ if (!response.ok) {
355
+ throw new WorkflowNotFoundError(workflowId, [url]);
356
+ }
357
+ // Content-Length validation to prevent DoS via memory exhaustion (10MB limit)
358
+ const MAX_CONTENT_LENGTH = 10 * 1024 * 1024; // 10MB
359
+ const contentLengthHeader = response.headers.get('content-length');
360
+ if (contentLengthHeader) {
361
+ const contentLength = parseInt(contentLengthHeader, 10);
362
+ if (contentLength > MAX_CONTENT_LENGTH) {
363
+ throw new InvalidWorkflowError(workflowId, `Response too large (${contentLength} bytes). Maximum allowed: ${MAX_CONTENT_LENGTH} bytes`);
364
+ }
365
+ }
366
+ const content = await response.text();
367
+ // Also validate actual content size (in case Content-Length header was missing/incorrect)
368
+ if (content.length > MAX_CONTENT_LENGTH) {
369
+ throw new InvalidWorkflowError(workflowId, `Response too large (${content.length} bytes). Maximum allowed: ${MAX_CONTENT_LENGTH} bytes`);
370
+ }
371
+ // Validate JSON before caching
372
+ try {
373
+ JSON.parse(content);
374
+ }
375
+ catch {
376
+ throw new InvalidWorkflowError(workflowId, `Invalid JSON from URL: ${url}`);
377
+ }
378
+ // Create cache directory with restricted permissions (owner only)
379
+ fs.mkdirSync(cacheDir, { recursive: true, mode: 0o700 });
380
+ // Atomic file write to prevent permission race condition:
381
+ // Write to temp file first, then rename (atomic on POSIX systems)
382
+ const tempFile = `${cacheFile}.${process.pid}.tmp`;
383
+ try {
384
+ // Write with restrictive permissions from the start
385
+ const fd = fs.openSync(tempFile, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL, 0o600);
386
+ fs.writeSync(fd, content);
387
+ fs.closeSync(fd);
388
+ // Atomic rename
389
+ fs.renameSync(tempFile, cacheFile);
390
+ }
391
+ catch (writeError) {
392
+ // Clean up temp file on error
393
+ try {
394
+ fs.unlinkSync(tempFile);
395
+ }
396
+ catch { /* ignore */ }
397
+ throw writeError;
398
+ }
399
+ // Opportunistic cache cleanup: remove expired entries (>1 hour old)
400
+ this.cleanupExpiredCache(cacheDir);
401
+ return this.loadAndCacheWorkflow(workflowId, cacheFile);
402
+ }
403
+ catch (error) {
404
+ // Handle timeout
405
+ if (error instanceof Error && error.name === 'AbortError') {
406
+ throw new InvalidWorkflowError(workflowId, `URL fetch timed out after ${URL_FETCH_TIMEOUT_MS / 1000} seconds: ${url}`);
233
407
  }
234
- case 'fractary-codex':
235
- return path.join(this.marketplaceRoot, 'fractary-codex/plugins/codex/config/workflows', `${workflowName}.json`);
236
- case 'project':
237
- case '':
238
- return path.join(this.projectRoot, '.fractary/faber/workflows', `${workflowName}.json`);
239
- default: {
240
- // Fallback to old unified marketplace for backward compatibility
241
- // Sanitize the derived plugin name as well
242
- const pluginName = this.sanitizePathComponent(namespace.replace('fractary-', ''), 'plugin name');
243
- return path.join(this.marketplaceRoot, `fractary/plugins/${pluginName}/config/workflows`, `${workflowName}.json`);
408
+ throw error;
409
+ }
410
+ finally {
411
+ clearTimeout(timeoutId);
412
+ }
413
+ }
414
+ /**
415
+ * Hash a string using SHA-256.
416
+ */
417
+ hashString(str) {
418
+ return crypto.createHash('sha256').update(str).digest('hex');
419
+ }
420
+ /**
421
+ * Clean up expired cache entries (older than 1 hour).
422
+ * Called opportunistically when writing new cache files.
423
+ * Errors are silently ignored to not disrupt normal operations.
424
+ */
425
+ cleanupExpiredCache(cacheDir) {
426
+ try {
427
+ if (!fs.existsSync(cacheDir))
428
+ return;
429
+ const files = fs.readdirSync(cacheDir);
430
+ const now = Date.now();
431
+ const ONE_HOUR_MS = 60 * 60 * 1000;
432
+ for (const file of files) {
433
+ // Only process .json cache files (skip .tmp files)
434
+ if (!file.endsWith('.json'))
435
+ continue;
436
+ const filePath = path.join(cacheDir, file);
437
+ try {
438
+ const stats = fs.statSync(filePath);
439
+ const ageMs = now - stats.mtimeMs;
440
+ if (ageMs > ONE_HOUR_MS) {
441
+ fs.unlinkSync(filePath);
442
+ }
443
+ }
444
+ catch {
445
+ // Ignore errors for individual files (may have been deleted by another process)
446
+ }
244
447
  }
245
448
  }
449
+ catch {
450
+ // Silently ignore cleanup errors - this is opportunistic
451
+ }
452
+ }
453
+ /**
454
+ * Resolve a workflow ID to a file path or URL reference.
455
+ * Supports three formats:
456
+ * 1. URL: url:https://example.com/workflow.json
457
+ * 2. Explicit: plugin@marketplace:workflow
458
+ * 3. Project-local: workflow-name
459
+ * Validates all path components to prevent path traversal attacks.
460
+ */
461
+ resolveWorkflowPath(workflowId) {
462
+ // Format 1: URL reference
463
+ if (workflowId.startsWith('url:')) {
464
+ return { type: 'url', url: workflowId.slice(4) };
465
+ }
466
+ // Format 2: Explicit plugin@marketplace:workflow
467
+ const explicitMatch = workflowId.match(/^([^@]+)@([^:]+):(.+)$/);
468
+ if (explicitMatch) {
469
+ const [, plugin, marketplace, workflow] = explicitMatch;
470
+ this.sanitizePathComponent(plugin, 'plugin');
471
+ this.sanitizePathComponent(marketplace, 'marketplace');
472
+ this.sanitizePathComponent(workflow, 'workflow');
473
+ return path.join(this.marketplaceRoot, marketplace, 'plugins', plugin, '.fractary/faber/workflows', `${workflow}.json`);
474
+ }
475
+ // Format 3: Project-local (no @ symbol)
476
+ this.sanitizePathComponent(workflowId, 'workflow');
477
+ return path.join(this.projectRoot, '.fractary/faber/workflows', `${workflowId}.json`);
246
478
  }
247
479
  /**
248
480
  * Merge phases for an entire inheritance chain.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/workflow/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/workflow/resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fractary/faber",
3
- "version": "2.3.7",
3
+ "version": "2.3.11",
4
4
  "description": "FABER SDK - Development toolkit for AI-assisted workflows",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",