@saferun/cli 0.5.6 → 0.5.8

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.
@@ -121,7 +121,7 @@ class HookRunner {
121
121
  }
122
122
  }
123
123
  async handlePrePush(context) {
124
- var _a, _b, _c, _d, _e, _f;
124
+ var _a, _b, _c, _d, _e;
125
125
  const [localRef, localSha, remoteRef, remoteSha, remoteName = 'origin', remoteUrl = ''] = context.args;
126
126
  if (!localRef || !remoteRef) {
127
127
  return;
@@ -175,16 +175,35 @@ class HookRunner {
175
175
  });
176
176
  }
177
177
  else if (isMergeCommit && protectedBranch) {
178
- // Handle merge to protected branch via API
179
- const reason = `Merge commit to protected branch ${branch}`;
180
- dryRun = await context.client.mergeGithub({
178
+ // Merge commit to protected branch detected
179
+ console.log('\n' + chalk_1.default.cyan('═'.repeat(60)));
180
+ console.log(chalk_1.default.bold.white(' šŸ”€ Merge Commit Detected'));
181
+ console.log(chalk_1.default.cyan('═'.repeat(60)));
182
+ console.log('');
183
+ console.log(chalk_1.default.white('Target Branch: ') + chalk_1.default.yellow(branch) + chalk_1.default.gray(' (protected)'));
184
+ console.log(chalk_1.default.white('Source Branch: ') + chalk_1.default.gray('unknown (merged via git CLI)'));
185
+ console.log('');
186
+ console.log(chalk_1.default.yellow('āš ļø SafeRun Recommendation:'));
187
+ console.log(chalk_1.default.gray(' • Use Pull Requests for better tracking and review'));
188
+ console.log(chalk_1.default.gray(' • AI agents should use SafeRun SDK for full protection'));
189
+ console.log('');
190
+ console.log(chalk_1.default.green('āœ“ Proceeding with merge (manual merge allowed)'));
191
+ console.log(chalk_1.default.cyan('═'.repeat(60)) + '\n');
192
+ await context.metrics.track('operation_allowed', {
193
+ hook: 'pre-push',
194
+ operation_type: 'merge',
195
+ branch,
181
196
  repo: repoSlug,
182
- sourceBranch: 'feature', // We can't determine exact source from hook
183
- targetBranch: branch,
184
- githubToken,
185
- reason,
186
- webhookUrl: (_e = context.config.notifications) === null || _e === void 0 ? void 0 : _e.webhook_url,
197
+ reason: 'manual_merge_cli',
198
+ });
199
+ await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
200
+ event: 'allow',
201
+ operation: 'merge',
202
+ repo: repoSlug,
203
+ branch,
204
+ reason: 'manual_merge_via_git_cli',
187
205
  });
206
+ return;
188
207
  }
189
208
  else {
190
209
  // Regular push - allow
@@ -273,7 +292,7 @@ class HookRunner {
273
292
  metrics: context.metrics,
274
293
  config: context.config,
275
294
  modeSettings: context.modeSettings,
276
- timeoutMs: ((_f = context.config.approval_timeout) === null || _f === void 0 ? void 0 : _f.duration) ? context.config.approval_timeout.duration * 1000 : undefined,
295
+ timeoutMs: ((_e = context.config.approval_timeout) === null || _e === void 0 ? void 0 : _e.duration) ? context.config.approval_timeout.duration * 1000 : undefined,
277
296
  });
278
297
  const outcome = await approvalFlow.requestApproval(dryRun);
279
298
  if (outcome === approval_flow_1.ApprovalOutcome.Approved || outcome === approval_flow_1.ApprovalOutcome.Bypassed) {
@@ -363,20 +382,58 @@ class HookRunner {
363
382
  }
364
383
  }
365
384
  async handlePreCommit(context) {
366
- var _a, _b, _c, _d, _e;
385
+ var _a, _b, _c, _d, _e, _f;
367
386
  const branch = await (0, git_1.getCurrentBranch)(context.gitInfo.repoRoot);
368
387
  if (!branch) {
369
388
  return;
370
389
  }
371
- const protectedBranch = (0, git_1.isProtectedBranch)(branch, (_a = context.config.github.protected_branches) !== null && _a !== void 0 ? _a : []);
390
+ // STEP 1: Scan for secrets in ALL commits (not just protected branches)
391
+ const { scanStagedFilesForSecrets } = await Promise.resolve().then(() => __importStar(require('../utils/secrets-scanner')));
392
+ const { secrets, sensitiveFiles } = scanStagedFilesForSecrets(context.gitInfo.repoRoot);
393
+ if (secrets.length > 0 || sensitiveFiles.length > 0) {
394
+ console.error(chalk_1.default.red('\nšŸ” SECRETS DETECTED! Commit blocked.\n'));
395
+ if (sensitiveFiles.length > 0) {
396
+ console.error(chalk_1.default.yellow('Sensitive files found:'));
397
+ sensitiveFiles.forEach((file) => {
398
+ console.error(chalk_1.default.yellow(` • ${file}`));
399
+ });
400
+ console.error('');
401
+ }
402
+ if (secrets.length > 0) {
403
+ console.error(chalk_1.default.red('Secret patterns detected:'));
404
+ secrets.forEach((match) => {
405
+ console.error(chalk_1.default.red(` • ${match.file}:${match.line} - ${match.pattern}`));
406
+ if (match.snippet && process.env.SAFERUN_DEBUG) {
407
+ console.error(chalk_1.default.gray(` ${match.snippet}`));
408
+ }
409
+ });
410
+ console.error('');
411
+ }
412
+ console.error(chalk_1.default.cyan('To fix:'));
413
+ console.error(chalk_1.default.cyan(' 1. Remove secrets from staged files'));
414
+ console.error(chalk_1.default.cyan(' 2. Use environment variables or secret managers'));
415
+ console.error(chalk_1.default.cyan(' 3. Add sensitive files to .gitignore\n'));
416
+ await context.metrics.track('operation_blocked', {
417
+ hook: 'pre-commit',
418
+ operation_type: 'secrets_detected',
419
+ repo: (_a = context.gitInfo.repoSlug) !== null && _a !== void 0 ? _a : 'unknown',
420
+ branch,
421
+ reason: 'secrets_in_commit',
422
+ secrets_count: secrets.length,
423
+ sensitive_files_count: sensitiveFiles.length,
424
+ }).catch(() => undefined);
425
+ process.exit(1);
426
+ }
427
+ // STEP 2: Check protected branch commits (existing logic)
428
+ const protectedBranch = (0, git_1.isProtectedBranch)(branch, (_b = context.config.github.protected_branches) !== null && _b !== void 0 ? _b : []);
372
429
  if (!protectedBranch) {
373
430
  return;
374
431
  }
375
- const repoSlug = context.config.github.repo === 'auto' ? (_b = context.gitInfo.repoSlug) !== null && _b !== void 0 ? _b : 'unknown/repo' : context.config.github.repo;
432
+ const repoSlug = context.config.github.repo === 'auto' ? (_c = context.gitInfo.repoSlug) !== null && _c !== void 0 ? _c : 'unknown/repo' : context.config.github.repo;
376
433
  const rule = this.getRule(context.config, 'commit_protected');
377
434
  const enforcement = this.resolveEnforcement(context.modeSettings, rule === null || rule === void 0 ? void 0 : rule.action, 'require_approval');
378
435
  if (enforcement.action === 'allow' || enforcement.action === 'warn') {
379
- if (enforcement.action === 'warn' || ((_c = context.modeSettings) === null || _c === void 0 ? void 0 : _c.show_warnings)) {
436
+ if (enforcement.action === 'warn' || ((_d = context.modeSettings) === null || _d === void 0 ? void 0 : _d.show_warnings)) {
380
437
  console.warn(chalk_1.default.yellow(`SafeRun warning: committing directly to protected branch '${branch}'.`));
381
438
  }
382
439
  await context.metrics.track('operation_allowed', {
@@ -396,7 +453,7 @@ class HookRunner {
396
453
  return;
397
454
  }
398
455
  const humanPreview = `Commit to protected branch ${branch}`;
399
- const riskScore = this.clampRisk((_d = rule === null || rule === void 0 ? void 0 : rule.risk_score) !== null && _d !== void 0 ? _d : 8.5);
456
+ const riskScore = this.clampRisk((_e = rule === null || rule === void 0 ? void 0 : rule.risk_score) !== null && _e !== void 0 ? _e : 8.5);
400
457
  try {
401
458
  const dryRun = await context.client.gitOperation({
402
459
  operationType: 'commit_protected',
@@ -453,7 +510,7 @@ class HookRunner {
453
510
  metrics: context.metrics,
454
511
  config: context.config,
455
512
  modeSettings: context.modeSettings,
456
- timeoutMs: ((_e = context.config.approval_timeout) === null || _e === void 0 ? void 0 : _e.duration) ? context.config.approval_timeout.duration * 1000 : undefined,
513
+ timeoutMs: ((_f = context.config.approval_timeout) === null || _f === void 0 ? void 0 : _f.duration) ? context.config.approval_timeout.duration * 1000 : undefined,
457
514
  });
458
515
  const outcome = await flow.requestApproval(dryRun);
459
516
  if (outcome !== approval_flow_1.ApprovalOutcome.Approved && outcome !== approval_flow_1.ApprovalOutcome.Bypassed) {
@@ -1 +1 @@
1
- {"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../src/hooks/hook-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../src/hooks/hook-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface SecretMatch {
2
+ file: string;
3
+ pattern: string;
4
+ line?: number;
5
+ snippet?: string;
6
+ }
7
+ /**
8
+ * Get list of staged files for commit
9
+ */
10
+ export declare function getStagedFiles(repoRoot: string): string[];
11
+ /**
12
+ * Check if filename is sensitive (e.g., .env, credentials)
13
+ */
14
+ export declare function isSensitiveFile(filename: string): boolean;
15
+ /**
16
+ * Scan file content for secret patterns
17
+ */
18
+ export declare function scanFileForSecrets(filepath: string, repoRoot: string): SecretMatch[];
19
+ /**
20
+ * Scan all staged files for secrets
21
+ */
22
+ export declare function scanStagedFilesForSecrets(repoRoot: string): {
23
+ secrets: SecretMatch[];
24
+ sensitiveFiles: string[];
25
+ };
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStagedFiles = getStagedFiles;
4
+ exports.isSensitiveFile = isSensitiveFile;
5
+ exports.scanFileForSecrets = scanFileForSecrets;
6
+ exports.scanStagedFilesForSecrets = scanStagedFilesForSecrets;
7
+ const child_process_1 = require("child_process");
8
+ const fs_1 = require("fs");
9
+ const path_1 = require("path");
10
+ const SECRET_PATTERNS = [
11
+ // AWS
12
+ { name: 'AWS Access Key', regex: /AKIA[0-9A-Z]{16}/g },
13
+ { name: 'AWS Secret Key', regex: /aws.{0,20}?['\"][0-9a-zA-Z/+]{40}['\"]/ },
14
+ // GitHub
15
+ { name: 'GitHub Personal Access Token', regex: /ghp_[a-zA-Z0-9]{36}/g },
16
+ { name: 'GitHub OAuth Token', regex: /gho_[a-zA-Z0-9]{36}/g },
17
+ { name: 'GitHub App Token', regex: /ghs_[a-zA-Z0-9]{36}/g },
18
+ // OpenAI
19
+ { name: 'OpenAI API Key', regex: /sk-[a-zA-Z0-9]{48}/g },
20
+ { name: 'OpenAI Project Key', regex: /sk-proj-[a-zA-Z0-9-]{48}/g },
21
+ // Stripe
22
+ { name: 'Stripe Secret Key', regex: /sk_live_[0-9a-zA-Z]{24}/g },
23
+ { name: 'Stripe Restricted Key', regex: /rk_live_[0-9a-zA-Z]{24}/g },
24
+ // Slack
25
+ { name: 'Slack Token', regex: /xox[baprs]-[0-9]{10,13}-[0-9]{10,13}-[a-zA-Z0-9]{24,32}/g },
26
+ { name: 'Slack Webhook', regex: /https:\/\/hooks\.slack\.com\/services\/T[a-zA-Z0-9_]+\/B[a-zA-Z0-9_]+\/[a-zA-Z0-9_]+/g },
27
+ // Google
28
+ { name: 'Google API Key', regex: /AIza[0-9A-Za-z-_]{35}/g },
29
+ { name: 'Google OAuth', regex: /[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com/g },
30
+ // Generic patterns
31
+ { name: 'Generic API Key', regex: /api[_-]?key[_-]?[=:]\s*['\"][a-zA-Z0-9]{32,}['\"]/gi },
32
+ { name: 'Generic Secret', regex: /secret[_-]?[=:]\s*['\"][a-zA-Z0-9]{32,}['\"]/gi },
33
+ { name: 'Private Key Header', regex: /-----BEGIN (RSA |EC |OPENSSH )?PRIVATE KEY-----/g },
34
+ ];
35
+ const SENSITIVE_FILES = [
36
+ '.env',
37
+ '.env.local',
38
+ '.env.production',
39
+ '.env.development',
40
+ '.env.test',
41
+ 'credentials',
42
+ 'secrets',
43
+ 'secrets.json',
44
+ 'secrets.yaml',
45
+ 'secrets.yml',
46
+ 'private-key',
47
+ 'privatekey',
48
+ 'id_rsa',
49
+ 'id_ed25519',
50
+ '.npmrc',
51
+ '.pypirc',
52
+ 'config.json',
53
+ 'settings.json',
54
+ ];
55
+ /**
56
+ * Get list of staged files for commit
57
+ */
58
+ function getStagedFiles(repoRoot) {
59
+ try {
60
+ const output = (0, child_process_1.execSync)('git diff --cached --name-only', {
61
+ cwd: repoRoot,
62
+ encoding: 'utf-8',
63
+ });
64
+ return output
65
+ .trim()
66
+ .split('\n')
67
+ .filter((f) => f.length > 0);
68
+ }
69
+ catch (err) {
70
+ return [];
71
+ }
72
+ }
73
+ /**
74
+ * Check if filename is sensitive (e.g., .env, credentials)
75
+ */
76
+ function isSensitiveFile(filename) {
77
+ var _a;
78
+ const basename = ((_a = filename.split('/').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
79
+ return SENSITIVE_FILES.some((pattern) => basename.includes(pattern.toLowerCase()));
80
+ }
81
+ /**
82
+ * Scan file content for secret patterns
83
+ */
84
+ function scanFileForSecrets(filepath, repoRoot) {
85
+ const matches = [];
86
+ const fullPath = (0, path_1.join)(repoRoot, filepath);
87
+ if (!(0, fs_1.existsSync)(fullPath)) {
88
+ return matches;
89
+ }
90
+ try {
91
+ const content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
92
+ const lines = content.split('\n');
93
+ for (const pattern of SECRET_PATTERNS) {
94
+ for (let i = 0; i < lines.length; i++) {
95
+ const line = lines[i];
96
+ const regex = new RegExp(pattern.regex.source, pattern.regex.flags);
97
+ const found = line.match(regex);
98
+ if (found) {
99
+ matches.push({
100
+ file: filepath,
101
+ pattern: pattern.name,
102
+ line: i + 1,
103
+ snippet: line.trim().substring(0, 80),
104
+ });
105
+ }
106
+ }
107
+ }
108
+ }
109
+ catch (err) {
110
+ // Ignore binary files or read errors
111
+ }
112
+ return matches;
113
+ }
114
+ /**
115
+ * Scan all staged files for secrets
116
+ */
117
+ function scanStagedFilesForSecrets(repoRoot) {
118
+ const stagedFiles = getStagedFiles(repoRoot);
119
+ const secrets = [];
120
+ const sensitiveFiles = [];
121
+ for (const file of stagedFiles) {
122
+ // Check if filename itself is sensitive
123
+ if (isSensitiveFile(file)) {
124
+ sensitiveFiles.push(file);
125
+ }
126
+ // Scan file content for secret patterns
127
+ const fileSecrets = scanFileForSecrets(file, repoRoot);
128
+ secrets.push(...fileSecrets);
129
+ }
130
+ return { secrets, sensitiveFiles };
131
+ }
132
+ //# sourceMappingURL=secrets-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets-scanner.js","sourceRoot":"","sources":["../../src/utils/secrets-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saferun/cli",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "description": "AI Safety Middleware - Protect your Git workflows from dangerous AI agent operations",
5
5
  "author": "SafeRun Team",
6
6
  "license": "MIT",