autodev-cli 1.4.33 → 1.4.35

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.
@@ -34,11 +34,71 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.createAgentBackup = createAgentBackup;
37
+ const fs = __importStar(require("fs"));
37
38
  const path = __importStar(require("path"));
38
39
  const archive_1 = require("./archive");
39
40
  const layout_1 = require("./layout");
40
41
  const sessionProviders_1 = require("./sessionProviders");
41
42
  const manifest_1 = require("./manifest");
43
+ /**
44
+ * Add the workspace `.autodev/` tree to the archive, but with `settings.json`
45
+ * SANITIZED — the raw file holds the live WS auth token + endpoint (IDENTITY_KEYS)
46
+ * written at connect time, and a backup ZIP is uploaded off-VM and served by the
47
+ * download endpoint. Shipping the token would let anyone who fetches the export
48
+ * connect AS the agent. Every other `.autodev` file is added verbatim so
49
+ * workspace-state portability is preserved. Symlinks are skipped (walk uses
50
+ * isFile), which also avoids following a link out of the tree.
51
+ */
52
+ function addSanitizedAutodev(root, archive) {
53
+ const srcDir = path.join(root, '.autodev');
54
+ if (!fs.existsSync(srcDir)) {
55
+ return;
56
+ }
57
+ const archiveBase = `${layout_1.ARCHIVE_PATHS.workspace}/.autodev`;
58
+ const walk = (absDir, relDir) => {
59
+ let entries;
60
+ try {
61
+ entries = fs.readdirSync(absDir, { withFileTypes: true });
62
+ }
63
+ catch {
64
+ return;
65
+ }
66
+ for (const e of entries) {
67
+ const abs = path.join(absDir, e.name);
68
+ const rel = relDir ? `${relDir}/${e.name}` : e.name;
69
+ if (e.isDirectory()) {
70
+ walk(abs, rel);
71
+ continue;
72
+ }
73
+ if (!e.isFile()) {
74
+ continue;
75
+ }
76
+ if (rel === 'settings.json') {
77
+ archive.addBuffer(`${archiveBase}/settings.json`, sanitizeSettings(abs));
78
+ }
79
+ else {
80
+ archive.addFile(abs, `${archiveBase}/${rel}`);
81
+ }
82
+ }
83
+ };
84
+ walk(srcDir, '');
85
+ }
86
+ /** Read settings.json and return it with all IDENTITY_KEYS stripped. Fails
87
+ * closed: an unreadable/malformed file yields an empty object rather than
88
+ * shipping the raw (token-bearing) contents. */
89
+ function sanitizeSettings(absPath) {
90
+ let obj = {};
91
+ try {
92
+ obj = JSON.parse(fs.readFileSync(absPath, 'utf8'));
93
+ }
94
+ catch {
95
+ obj = {};
96
+ }
97
+ for (const k of layout_1.IDENTITY_KEYS) {
98
+ delete obj[k];
99
+ }
100
+ return Buffer.from(JSON.stringify(obj, null, 2) + '\n', 'utf8');
101
+ }
42
102
  /**
43
103
  * Pure (vscode-free) core: build and write the agent backup ZIP.
44
104
  * Called both by the VS Code command (with a dialog-chosen path) and directly
@@ -46,9 +106,16 @@ const manifest_1 = require("./manifest");
46
106
  */
47
107
  async function createAgentBackup(root, destPath) {
48
108
  const archive = archive_1.AdmZipArchive.create();
49
- // Workspace state directories (single source of truth in layout).
109
+ // Workspace state directories (single source of truth in layout). The
110
+ // `.autodev` tree is added via a sanitizing walk that strips the agent's WS
111
+ // auth token from settings.json before it can leave the VM.
50
112
  for (const rel of layout_1.WORKSPACE_DIRS) {
51
- archive.addDir(path.join(root, rel), `${layout_1.ARCHIVE_PATHS.workspace}/${rel}`);
113
+ if (rel === '.autodev') {
114
+ addSanitizedAutodev(root, archive);
115
+ }
116
+ else {
117
+ archive.addDir(path.join(root, rel), `${layout_1.ARCHIVE_PATHS.workspace}/${rel}`);
118
+ }
52
119
  }
53
120
  // Root-level agent docs.
54
121
  for (const f of layout_1.ROOT_DOCS) {
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/agentBackup/export.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,8CA2CC;AA9DD,2CAA6B;AAC7B,uCAA0C;AAC1C,qCAAoE;AACpE,yDAA8D;AAC9D,yCAAsF;AAUtF;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAgB;IACpE,MAAM,OAAO,GAAG,uBAAa,CAAC,MAAM,EAAE,CAAC;IAEvC,kEAAkE;IAClE,KAAK,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,sBAAa,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,CAAC,IAAI,kBAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,sBAAa,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAA,2BAAgB,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAA0C,EAAE,CAAC;IAC5D,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,2CAAwB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAkC,EAAE,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC5C,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC7C,CAAC;QACD,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,oBAAoB,EAAE,MAAM,CAAC,aAAa;YAC1C,mBAAmB,EAAE,SAAS;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACrE,CAAC;IAED,+DAA+D;IAC/D,MAAM,QAAQ,GAAoB;QAChC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,aAAa,EAAE,IAAI;QACnB,SAAS;KACV,CAAC;IACF,OAAO,CAAC,SAAS,CAAC,sBAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC;AAED;;;GAGG"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/agentBackup/export.ts"],"names":[],"mappings":"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"}
@@ -40,12 +40,6 @@ const archive_1 = require("./archive");
40
40
  const layout_1 = require("./layout");
41
41
  const sessionProviders_1 = require("./sessionProviders");
42
42
  const manifest_1 = require("./manifest");
43
- /**
44
- * Identity/connection settings that belong to the DESTINATION agent, not the
45
- * backed-up one. Restoring a backup must never overwrite these, or the restored
46
- * agent would connect as the source agent (identity hijack).
47
- */
48
- const IDENTITY_KEYS = ['wsUrl', 'serverBaseUrl', 'serverApiKey', 'webhookSlug', 'agentId'];
49
43
  /**
50
44
  * Restore an agent backup ZIP into a destination folder and wire up its
51
45
  * session state so it resumes there. Mirrors {@link './export'} using the
@@ -69,7 +63,7 @@ async function restoreAgentBackup(zipPath, destRoot) {
69
63
  try {
70
64
  if (fs.existsSync(destSettingsPath)) {
71
65
  const cur = JSON.parse(fs.readFileSync(destSettingsPath, 'utf8'));
72
- for (const k of IDENTITY_KEYS) {
66
+ for (const k of layout_1.IDENTITY_KEYS) {
73
67
  if (cur[k] !== undefined) {
74
68
  preservedIdentity[k] = cur[k];
75
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/agentBackup/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/agentBackup/import.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ export declare const ROOT_DOCS: readonly string[];
20
20
  * by both export and import (DRY).
21
21
  */
22
22
  export declare const WORKSPACE_DIRS: readonly string[];
23
+ /**
24
+ * Identity/connection settings in `.autodev/settings.json` that are scoped to a
25
+ * specific agent and MUST NOT travel in a backup: they are the live WS auth
26
+ * token + endpoint. Export strips them from the shipped settings.json (a backup
27
+ * ZIP is uploaded off-VM), and import preserves the destination agent's own
28
+ * values so a restore never hijacks its identity. Single source of truth shared
29
+ * by both sides (DRY).
30
+ */
31
+ export declare const IDENTITY_KEYS: readonly ["wsUrl", "serverBaseUrl", "serverApiKey", "webhookSlug", "agentId"];
23
32
  /** Normalise a filesystem path for comparison (case-insensitive, slash-form). */
24
33
  export declare function normalizePath(p: string): string;
25
34
  /** Root of the Copilot CLI store. */
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.WORKSPACE_DIRS = exports.ROOT_DOCS = exports.ARCHIVE_PATHS = exports.TOP_FOLDER = void 0;
36
+ exports.IDENTITY_KEYS = exports.WORKSPACE_DIRS = exports.ROOT_DOCS = exports.ARCHIVE_PATHS = exports.TOP_FOLDER = void 0;
37
37
  exports.sessionsPath = sessionsPath;
38
38
  exports.normalizePath = normalizePath;
39
39
  exports.copilotDir = copilotDir;
@@ -73,6 +73,15 @@ exports.WORKSPACE_DIRS = [
73
73
  path.posix.join('media', 'profile'),
74
74
  path.posix.join('media', 'skills'),
75
75
  ];
76
+ /**
77
+ * Identity/connection settings in `.autodev/settings.json` that are scoped to a
78
+ * specific agent and MUST NOT travel in a backup: they are the live WS auth
79
+ * token + endpoint. Export strips them from the shipped settings.json (a backup
80
+ * ZIP is uploaded off-VM), and import preserves the destination agent's own
81
+ * values so a restore never hijacks its identity. Single source of truth shared
82
+ * by both sides (DRY).
83
+ */
84
+ exports.IDENTITY_KEYS = ['wsUrl', 'serverBaseUrl', 'serverApiKey', 'webhookSlug', 'agentId'];
76
85
  /** Normalise a filesystem path for comparison (case-insensitive, slash-form). */
77
86
  function normalizePath(p) {
78
87
  return p.replace(/\\/g, '/').replace(/\/+$/, '').toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/agentBackup/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/agentBackup/layout.ts"],"names":[],"mappings":"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"}
@@ -31,5 +31,12 @@ export interface SessionBackupProvider {
31
31
  /** Restore this provider's sessions for the destination workspace. Returns files written. */
32
32
  restore(destRoot: string, archive: Archive): Promise<number>;
33
33
  }
34
+ /**
35
+ * A path segment safe to `path.join()` onto a state directory: non-empty, not a
36
+ * traversal token, and containing no separators or null bytes. Rejects the
37
+ * zip-slip vector where a crafted archive entry (`copilot-cli/../evil/x`) yields
38
+ * a `..` segment that would escape the destination directory.
39
+ */
40
+ export declare function isSafeChildSegment(name: string): boolean;
34
41
  /** All registered session-backup strategies (covers every ProviderId). */
35
42
  export declare const SESSION_BACKUP_PROVIDERS: readonly SessionBackupProvider[];
@@ -34,12 +34,23 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SESSION_BACKUP_PROVIDERS = void 0;
37
+ exports.isSafeChildSegment = isSafeChildSegment;
37
38
  const fs = __importStar(require("fs"));
38
39
  const path = __importStar(require("path"));
39
40
  const layout_1 = require("./layout");
40
41
  const claudeCliProvider_1 = require("../providers/claudeCliProvider");
41
42
  const opencodeCliProvider_1 = require("../providers/opencodeCliProvider");
42
43
  const opencodeDb_1 = require("./opencodeDb");
44
+ /**
45
+ * A path segment safe to `path.join()` onto a state directory: non-empty, not a
46
+ * traversal token, and containing no separators or null bytes. Rejects the
47
+ * zip-slip vector where a crafted archive entry (`copilot-cli/../evil/x`) yields
48
+ * a `..` segment that would escape the destination directory.
49
+ */
50
+ function isSafeChildSegment(name) {
51
+ return !!name && name !== '.' && name !== '..'
52
+ && !name.includes('/') && !name.includes('\\') && !name.includes('\0');
53
+ }
43
54
  /** List the immediate child folder names under an archive directory prefix. */
44
55
  function archiveChildDirs(archive, prefix) {
45
56
  const base = prefix.replace(/\/$/, '') + '/';
@@ -49,7 +60,9 @@ function archiveChildDirs(archive, prefix) {
49
60
  continue;
50
61
  }
51
62
  const top = entry.slice(base.length).split('/')[0];
52
- if (top) {
63
+ // Drop traversal/separator segments so a malicious archive cannot write
64
+ // outside the provider's session-state directory.
65
+ if (isSafeChildSegment(top)) {
53
66
  names.add(top);
54
67
  }
55
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionProviders.js","sourceRoot":"","sources":["../../src/agentBackup/sessionProviders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionProviders.js","sourceRoot":"","sources":["../../src/agentBackup/sessionProviders.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,17 @@ function startCommand(program) {
97
97
  sdk_1.AutoDev.loop.stop();
98
98
  setTimeout(() => process.exit(0), 1500).unref();
99
99
  });
100
+ // Backstop: an unexpected throw or rejection anywhere in the loop (a
101
+ // hostile WS frame, an I/O error) must not take the whole agent offline
102
+ // requiring a manual respawn. Log and keep the process alive so it stays
103
+ // online and serving. The per-frame try/catch in webSocketPoller is the
104
+ // primary guard; these are the last line of defence.
105
+ process.on('uncaughtException', (err) => {
106
+ logger_1.log.error(`Uncaught exception (kept alive): ${err instanceof Error ? err.stack ?? err.message : String(err)}`);
107
+ });
108
+ process.on('unhandledRejection', (reason) => {
109
+ logger_1.log.error(`Unhandled rejection (kept alive): ${reason instanceof Error ? reason.stack ?? reason.message : String(reason)}`);
110
+ });
100
111
  try {
101
112
  const options = {
102
113
  cwd,
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,36 @@ export interface EmailPollerOptions {
8
8
  allowedSenders: string[];
9
9
  /** Verify TLS cert. Default true. */
10
10
  rejectUnauthorized?: boolean;
11
+ /**
12
+ * Require the receiving MTA's Authentication-Results header to show
13
+ * dkim/spf=pass aligned to the sender domain before ingesting a message.
14
+ * Default true — the From header is trivially spoofable and inbound mail runs
15
+ * autonomous full-tool tasks. Set false only on a trusted internal relay.
16
+ */
17
+ requireAuth?: boolean;
18
+ /**
19
+ * Optional authserv-id of the trusted receiving MTA (the token that opens its
20
+ * Authentication-Results header, e.g. "mx.google.com"). When set, only an AR
21
+ * header stamped by this id is trusted — hardening against a forged topmost
22
+ * header on an MTA that adds none of its own.
23
+ */
24
+ authServId?: string;
11
25
  }
26
+ /**
27
+ * Decide whether a message is authenticated as genuinely from `senderDomain`.
28
+ *
29
+ * The From header is forgeable, so authorization must rest on the receiving
30
+ * MTA's DKIM/SPF verdict. Only the TOPMOST Authentication-Results header is
31
+ * trusted: a conformant MTA strips forged copies bearing its own authserv-id
32
+ * and prepends its own, so the first AR line (as it appears in the raw header
33
+ * block) is the one our server added; lines below it may be attacker-supplied
34
+ * and are ignored. Requires dkim=pass with header.d aligned to the sender
35
+ * domain, or spf=pass with smtp.mailfrom aligned. Returns false when no AR
36
+ * header is present (fail closed).
37
+ *
38
+ * Exported for unit testing.
39
+ */
40
+ export declare function emailPassesAuth(arLines: string[], senderDomain: string, authServId?: string): boolean;
12
41
  export declare class EmailTaskPoller {
13
42
  private readonly opts;
14
43
  private client;
@@ -27,6 +56,8 @@ export declare class EmailTaskPoller {
27
56
  private connectedAt;
28
57
  /** Force a fresh IMAP connection every 15 minutes regardless of state. */
29
58
  private static readonly MAX_CONN_AGE_MS;
59
+ private readonly requireAuth;
60
+ private readonly authServId?;
30
61
  constructor(opts: EmailPollerOptions);
31
62
  /**
32
63
  * Connect once. Any UNSEEN message in the inbox — both pre-existing and
@@ -38,5 +69,10 @@ export declare class EmailTaskPoller {
38
69
  dispose(): Promise<void>;
39
70
  private _ensureConnected;
40
71
  private _senderAllowed;
72
+ /**
73
+ * True if the receiving MTA authenticated this message as genuinely from the
74
+ * sender's domain (DKIM or SPF pass, topmost Authentication-Results only).
75
+ */
76
+ private _isAuthenticated;
41
77
  private _buildTaskFromMessage;
42
78
  }
@@ -1,11 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmailTaskPoller = void 0;
4
+ exports.emailPassesAuth = emailPassesAuth;
4
5
  const imapflow_1 = require("imapflow");
5
6
  const mailparser_1 = require("mailparser");
6
7
  const messageBuilder_1 = require("./messageBuilder");
7
8
  const todo_1 = require("./todo");
8
9
  const todoWriteManager_1 = require("./todoWriteManager");
10
+ /** Relaxed domain alignment (RFC 5322.From domain vs DKIM d= / SPF mailfrom). */
11
+ function _domainAligned(a, b) {
12
+ a = a.replace(/\.$/, '').toLowerCase().trim();
13
+ b = b.replace(/\.$/, '').toLowerCase().trim();
14
+ if (!a || !b) {
15
+ return false;
16
+ }
17
+ return a === b || b.endsWith('.' + a) || a.endsWith('.' + b);
18
+ }
19
+ /**
20
+ * Decide whether a message is authenticated as genuinely from `senderDomain`.
21
+ *
22
+ * The From header is forgeable, so authorization must rest on the receiving
23
+ * MTA's DKIM/SPF verdict. Only the TOPMOST Authentication-Results header is
24
+ * trusted: a conformant MTA strips forged copies bearing its own authserv-id
25
+ * and prepends its own, so the first AR line (as it appears in the raw header
26
+ * block) is the one our server added; lines below it may be attacker-supplied
27
+ * and are ignored. Requires dkim=pass with header.d aligned to the sender
28
+ * domain, or spf=pass with smtp.mailfrom aligned. Returns false when no AR
29
+ * header is present (fail closed).
30
+ *
31
+ * Exported for unit testing.
32
+ */
33
+ function emailPassesAuth(arLines, senderDomain, authServId) {
34
+ const domain = (senderDomain || '').toLowerCase().trim();
35
+ if (!domain || arLines.length === 0) {
36
+ return false;
37
+ }
38
+ // Trust only the topmost AR header (index 0 = first in the raw header block).
39
+ const lc = arLines[0].toLowerCase().replace(/^authentication-results:\s*/, '');
40
+ if (authServId) {
41
+ const id = lc.split(/[;\s]/)[0].replace(/\.$/, '');
42
+ if (id !== authServId.toLowerCase().trim().replace(/\.$/, '')) {
43
+ return false;
44
+ }
45
+ }
46
+ for (const m of lc.matchAll(/dkim=pass\b([^;]*)/g)) {
47
+ const d = /header\.d=([a-z0-9.\-]+)/.exec(m[1]);
48
+ if (d && _domainAligned(d[1], domain)) {
49
+ return true;
50
+ }
51
+ }
52
+ for (const m of lc.matchAll(/spf=pass\b([^;]*)/g)) {
53
+ const f = /smtp\.mailfrom=([^;\s]+)/.exec(m[1]);
54
+ if (f) {
55
+ const mf = f[1].includes('@') ? f[1].split('@')[1] : f[1];
56
+ if (_domainAligned(mf, domain)) {
57
+ return true;
58
+ }
59
+ }
60
+ }
61
+ return false;
62
+ }
9
63
  class EmailTaskPoller {
10
64
  opts;
11
65
  client = null;
@@ -24,6 +78,8 @@ class EmailTaskPoller {
24
78
  connectedAt = 0;
25
79
  /** Force a fresh IMAP connection every 15 minutes regardless of state. */
26
80
  static MAX_CONN_AGE_MS = 15 * 60 * 1000;
81
+ requireAuth;
82
+ authServId;
27
83
  constructor(opts) {
28
84
  this.opts = opts;
29
85
  // Pre-compile each pattern to a regex — '*' acts as a wildcard.
@@ -32,6 +88,8 @@ class EmailTaskPoller {
32
88
  .map(s => s.toLowerCase().trim())
33
89
  .filter(Boolean)
34
90
  .map(p => new RegExp('^' + p.replace(/[.+?^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '.*') + '$'));
91
+ this.requireAuth = opts.requireAuth !== false; // default: require DKIM/SPF
92
+ this.authServId = opts.authServId?.trim() || undefined;
35
93
  }
36
94
  /**
37
95
  * Connect once. Any UNSEEN message in the inbox — both pre-existing and
@@ -74,12 +132,23 @@ class EmailTaskPoller {
74
132
  await this.client.messageFlagsAdd({ uid }, ['\\Seen'], { uid: true });
75
133
  continue;
76
134
  }
77
- if (!this._senderAllowed(msg.envelope?.from?.[0]?.address)) {
135
+ const parsed = await (0, mailparser_1.simpleParser)(msg.source);
136
+ const senderAddr = parsed.from?.value?.[0]?.address ?? msg.envelope?.from?.[0]?.address;
137
+ if (!this._senderAllowed(senderAddr)) {
78
138
  // Don't \Seen — leave for the human user to read.
79
139
  processed = true;
80
140
  continue;
81
141
  }
82
- const taskText = await this._buildTaskFromMessage(msg.source, msg.envelope, workspaceRoot);
142
+ // The From header is trivially spoofable, so a matching allowlist
143
+ // entry is NOT proof of origin. Require the receiving MTA's
144
+ // Authentication-Results (DKIM/SPF) to align with the sender domain
145
+ // before turning the message into an autonomous, full-tool task.
146
+ // Unauthenticated mail is left UNSEEN for the human to review.
147
+ if (this.requireAuth && !this._isAuthenticated(parsed, senderAddr)) {
148
+ processed = true;
149
+ continue;
150
+ }
151
+ const taskText = await this._buildTaskFromMessage(parsed, msg.envelope, workspaceRoot);
83
152
  if (taskText) {
84
153
  await todoWriteManager_1.todoWriter.append(todoPath, taskText, (0, todo_1.shortId)());
85
154
  appended = true;
@@ -185,8 +254,21 @@ class EmailTaskPoller {
185
254
  const addr = address.toLowerCase();
186
255
  return this.allowed.some(p => p.test(addr));
187
256
  }
188
- async _buildTaskFromMessage(source, envelope, workspaceRoot) {
189
- const parsed = await (0, mailparser_1.simpleParser)(source);
257
+ /**
258
+ * True if the receiving MTA authenticated this message as genuinely from the
259
+ * sender's domain (DKIM or SPF pass, topmost Authentication-Results only).
260
+ */
261
+ _isAuthenticated(parsed, senderAddress) {
262
+ const domain = senderAddress?.split('@')[1]?.toLowerCase().trim();
263
+ if (!domain) {
264
+ return false;
265
+ }
266
+ const arLines = (parsed.headerLines || [])
267
+ .filter(h => h.key === 'authentication-results')
268
+ .map(h => h.line);
269
+ return emailPassesAuth(arLines, domain, this.authServId);
270
+ }
271
+ async _buildTaskFromMessage(parsed, envelope, workspaceRoot) {
190
272
  const subject = (parsed.subject || envelope?.subject || '(no subject)').trim();
191
273
  const fromAddr = parsed.from?.value?.[0]?.address ?? envelope?.from?.[0]?.address ?? 'unknown';
192
274
  const fromName = parsed.from?.value?.[0]?.name ?? '';
@@ -1 +1 @@
1
- {"version":3,"file":"emailPoller.js","sourceRoot":"","sources":["../src/emailPoller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emailPoller.js","sourceRoot":"","sources":["../src/emailPoller.ts"],"names":[],"mappings":"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"}
@@ -113,8 +113,16 @@ async function getDiff(cwd, filePath, staged) {
113
113
  if (!out && !staged) {
114
114
  const content = await git(cwd, ['show', `:${filePath}`]).catch(async () => {
115
115
  const { readFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
116
+ const pathMod = await Promise.resolve().then(() => __importStar(require('path')));
117
+ // Containment guard: never read outside the repo even if a caller passes a
118
+ // traversing path. The WS handler already validates, but keep this defensive
119
+ // so getDiff cannot be turned into an arbitrary-file read by another caller.
120
+ const abs = pathMod.resolve(cwd, filePath);
121
+ if (abs !== cwd && !abs.startsWith(cwd + pathMod.sep)) {
122
+ return '';
123
+ }
116
124
  try {
117
- return readFileSync(require('path').join(cwd, filePath), 'utf8');
125
+ return readFileSync(abs, 'utf8');
118
126
  }
119
127
  catch {
120
128
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"gitService.js","sourceRoot":"","sources":["../../src/git/gitService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitService.js","sourceRoot":"","sources":["../../src/git/gitService.ts"],"names":[],"mappings":"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"}
@@ -262,6 +262,10 @@ class OfficeSocket {
262
262
  return { fin, opcode, payload };
263
263
  }
264
264
  _onFrame(fin, opcode, payload) {
265
+ // Any inbound frame (data as well as control) is proof of life — refresh
266
+ // liveness so a connection actively receiving traffic is never force-
267
+ // reconnected by the heartbeat sweep just because protocol pongs lapsed.
268
+ this._lastPongAt = Date.now();
265
269
  // Control frames (never fragmented) — handle immediately; they may be
266
270
  // interleaved between data fragments.
267
271
  if (opcode === 0x9) {