@saferun/cli 0.6.19 → 0.6.20

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 CHANGED
@@ -49,13 +49,52 @@ saferun uninstall --global # Remove completely
49
49
 
50
50
  ## How It Works
51
51
 
52
- 1. Shell wrapper intercepts dangerous Git commands
53
- 2. SafeRun calculates risk score and detects AI agent
54
- 3. Slack notification sent with Approve/Reject buttons
55
- 4. You approve command executes. You reject → command blocked.
52
+ SafeRun uses **multiple layers** of protection:
53
+
54
+ 1. **Shell Wrapper** Intercepts `git` commands in interactive shells
55
+ 2. **Git Hooks** `pre-commit`, `pre-push`, `post-checkout`
56
+ 3. **reference-transaction Hook** — Intercepts ALL ref changes at Git core level (Git 2.29+)
57
+
58
+ The `reference-transaction` hook is the **most reliable** layer — it catches operations even when AI agents call `/usr/bin/git` directly, bypassing shell aliases and PATH wrappers.
59
+
60
+ ```
61
+ AI Agent → /usr/bin/git reset --hard → Git internals → reference-transaction hook → SafeRun blocks!
62
+ ```
63
+
64
+ When a dangerous operation is detected:
65
+ 1. SafeRun calculates risk score and detects AI agent
66
+ 2. Slack notification sent with Approve/Reject buttons
67
+ 3. You approve → command executes. You reject → command blocked.
56
68
 
57
69
  Approval timeout: 2 hours.
58
70
 
71
+ ## Requirements
72
+
73
+ - **Node.js** 18+
74
+ - **Git** 2.29+ (for `reference-transaction` hook)
75
+ - **Slack** workspace with bot token
76
+
77
+ ## Known Limitations (Help Wanted! 🙏)
78
+
79
+ SafeRun protects **Git ref-changing operations**. Some operations are outside our scope:
80
+
81
+ **✅ Protected Operations** (ref-changing):
82
+ - `git reset --hard` — changes branch ref
83
+ - `git branch -D` — deletes branch ref
84
+ - `git push --force` — changes remote ref
85
+ - `git rebase` — rewrites branch ref
86
+ - `git checkout` to different branch — updates HEAD ref
87
+
88
+ **❌ Not Protected** (no ref change):
89
+ - `git clean -fd` — deletes untracked files only → *use `.gitignore`*
90
+ - `rm -rf .git` — filesystem operation → *use Docker/sandbox*
91
+ - Deleting `.git/hooks/` — filesystem operation → *use Docker/sandbox*
92
+
93
+ **Why can't we protect `git clean`?**
94
+ Git's `reference-transaction` hook only fires when refs change. `git clean` deletes untracked files without touching refs.
95
+
96
+ **Community contributions welcome!** If you know how to intercept these operations, please open an issue or PR.
97
+
59
98
  ## Documentation
60
99
 
61
100
  Full documentation: [github.com/Cocabadger/saferun-api](https://github.com/Cocabadger/saferun-api)
@@ -93,6 +93,10 @@ class HookCommand {
93
93
  const { interceptCommit } = await Promise.resolve().then(() => __importStar(require('../interceptors/commit')));
94
94
  return await interceptCommit(context);
95
95
  }
96
+ case 'git-rebase': {
97
+ const { interceptRebase } = await Promise.resolve().then(() => __importStar(require('../interceptors/rebase')));
98
+ return await interceptRebase(context);
99
+ }
96
100
  default: {
97
101
  console.warn(chalk_1.default.yellow(`Unknown SafeRun hook handler: ${handler}`));
98
102
  return (0, git_1.runGitCommand)(this.mapHandlerToGitCommand(handler, forwarded), {
@@ -118,6 +122,8 @@ class HookCommand {
118
122
  return 'push';
119
123
  case 'git-commit':
120
124
  return 'commit';
125
+ case 'git-rebase':
126
+ return 'rebase';
121
127
  default:
122
128
  return handler;
123
129
  }
@@ -134,6 +140,8 @@ class HookCommand {
134
140
  return ['push', ...args];
135
141
  case 'git-commit':
136
142
  return ['commit', ...args];
143
+ case 'git-rebase':
144
+ return ['rebase', ...args];
137
145
  default: {
138
146
  const command = handler.startsWith('git-') ? handler.slice(4) : handler;
139
147
  return [command, ...args];
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,0DAA0D;AAC1D,8DAA+D;AAC/D,oDAA0D;AAC1D,sCAAyD;AACzD,8CAAoD;AAGpD,MAAa,WAAW;IACtB,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,SAAmB;;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAU,GAAE,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,IAAA,qCAAmB,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,+BAA+B;YAC/B,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;gBACpE,GAAG,EAAE,OAAO,CAAC,QAAQ;gBACrB,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAgB,GAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,0BAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,gCAAmB,EAAC,EAAE,MAAM,EAAE,CAAQ,CAAC;YACtD,MAAM,OAAO,GAAuB;gBAClC,IAAI,EAAE,SAAS;gBACf,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,YAAY;aACb,CAAC;YAEF,QAAQ,OAAO,EAAE,CAAC;gBAChB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,+BAA+B,GAAC,CAAC;oBAChF,OAAO,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;oBACtE,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;oBACjE,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;oBAC1E,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;oBACnE,OAAO,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACvE,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;wBACpE,GAAG,EAAE,OAAO,CAAC,QAAQ;wBACrB,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;qBAC1C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC;YAClB,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC;YACjB,KAAK,UAAU;gBACb,OAAO,MAAM,CAAC;YAChB,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC;YAClB;gBACE,OAAO,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAAe,EAAE,IAAc;QAC5D,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7B,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5B,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5B,KAAK,UAAU;gBACb,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3B,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AArGD,kCAqGC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,11 @@ git() {
110
110
  return \$?
111
111
  fi
112
112
  ;;
113
+ rebase)
114
+ # Intercept all rebase operations (especially interactive)
115
+ saferun hook git-rebase "\${@:2}"
116
+ return \$?
117
+ ;;
113
118
  config)
114
119
  # Block attempts to disable hooks
115
120
  if [[ "\$all_args" == *"core.hooksPath"* ]]; then
@@ -180,6 +185,10 @@ function git --wraps git
180
185
  saferun hook git-clean $argv[2..-1]
181
186
  return $status
182
187
  end
188
+ case rebase
189
+ # Intercept all rebase operations
190
+ saferun hook git-rebase $argv[2..-1]
191
+ return $status
183
192
  case config
184
193
  if string match -q "*core.hooksPath*" $all_args
185
194
  echo "🛑 SafeRun: Blocked attempt to modify hooks path"
@@ -1 +1 @@
1
- {"version":3,"file":"shell-init.js","sourceRoot":"","sources":["../../src/commands/shell-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-init.js","sourceRoot":"","sources":["../../src/commands/shell-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { InterceptorContext } from './types';
2
+ export declare function interceptRebase(context: InterceptorContext): Promise<number>;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.interceptRebase = interceptRebase;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const approval_flow_1 = require("../utils/approval-flow");
9
+ const git_1 = require("../utils/git");
10
+ const logger_1 = require("../utils/logger");
11
+ function parseRebaseArgs(args) {
12
+ const interactiveFlags = new Set(['-i', '--interactive']);
13
+ let isInteractive = false;
14
+ let hasOnto = false;
15
+ let target;
16
+ const nonFlags = [];
17
+ for (const arg of args) {
18
+ if (interactiveFlags.has(arg)) {
19
+ isInteractive = true;
20
+ }
21
+ else if (arg === '--onto') {
22
+ hasOnto = true;
23
+ }
24
+ else if (!arg.startsWith('-')) {
25
+ nonFlags.push(arg);
26
+ }
27
+ }
28
+ // First non-flag arg is usually the target (upstream or branch)
29
+ if (nonFlags.length > 0) {
30
+ target = nonFlags[0];
31
+ }
32
+ return { isInteractive, hasOnto, target };
33
+ }
34
+ async function interceptRebase(context) {
35
+ var _a, _b, _c;
36
+ const params = parseRebaseArgs(context.args);
37
+ const repoSlug = context.config.github.repo === 'auto'
38
+ ? (_a = context.gitInfo.repoSlug) !== null && _a !== void 0 ? _a : 'local/repo'
39
+ : context.config.github.repo;
40
+ // Calculate risk score based on rebase type
41
+ let riskScore = 6.0; // Base risk for rebase
42
+ const reasons = ['git_rebase'];
43
+ if (params.isInteractive) {
44
+ riskScore = 8.5; // Interactive rebase is higher risk
45
+ reasons.push('interactive_mode');
46
+ }
47
+ if (params.hasOnto) {
48
+ riskScore = Math.max(riskScore, 7.5);
49
+ reasons.push('onto_mode');
50
+ }
51
+ const humanPreview = params.isInteractive
52
+ ? 'Interactive rebase will allow rewriting, combining, or dropping commits. This can corrupt history if done incorrectly.'
53
+ : `Rebase will move your commits on top of ${params.target || 'the target branch'}, rewriting local history.`;
54
+ // Check if blocking is disabled
55
+ if (((_b = context.modeSettings) === null || _b === void 0 ? void 0 : _b.block_operations) === false) {
56
+ if ((_c = context.modeSettings) === null || _c === void 0 ? void 0 : _c.show_warnings) {
57
+ console.warn(chalk_1.default.yellow('SafeRun warning: git rebase will run without approval (block_operations=false).'));
58
+ }
59
+ return (0, git_1.runGitCommand)(['rebase', ...context.args], {
60
+ cwd: context.gitInfo.repoRoot,
61
+ disableAliases: ['rebase'],
62
+ });
63
+ }
64
+ try {
65
+ const dryRun = await context.client.gitOperation({
66
+ operationType: 'rebase',
67
+ target: repoSlug,
68
+ command: `git rebase ${context.args.join(' ')}`,
69
+ riskScore: riskScore / 10,
70
+ humanPreview,
71
+ requiresApproval: true,
72
+ reasons,
73
+ });
74
+ const flow = new approval_flow_1.ApprovalFlow({
75
+ client: context.client,
76
+ metrics: context.metrics,
77
+ config: context.config,
78
+ modeSettings: context.modeSettings,
79
+ });
80
+ const outcome = await flow.requestApproval(dryRun);
81
+ if (outcome !== approval_flow_1.ApprovalOutcome.Approved) {
82
+ console.error(chalk_1.default.red('SafeRun blocked git rebase. Approval denied or timed out.'));
83
+ (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
84
+ event: 'rebase_blocked',
85
+ operation: 'rebase',
86
+ command: `git rebase ${context.args.join(' ')}`,
87
+ status: 'blocked',
88
+ reason: 'approval_denied',
89
+ });
90
+ return 1;
91
+ }
92
+ (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
93
+ event: 'rebase_approved',
94
+ operation: 'rebase',
95
+ command: `git rebase ${context.args.join(' ')}`,
96
+ status: 'approved',
97
+ changeId: dryRun.changeId,
98
+ });
99
+ return await (0, git_1.runGitCommand)(['rebase', ...context.args], {
100
+ cwd: context.gitInfo.repoRoot,
101
+ disableAliases: ['rebase'],
102
+ });
103
+ }
104
+ catch (error) {
105
+ console.error(chalk_1.default.red('SafeRun error: API unreachable. Blocking rebase for safety.'));
106
+ (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
107
+ event: 'rebase_blocked',
108
+ operation: 'rebase',
109
+ command: `git rebase ${context.args.join(' ')}`,
110
+ status: 'blocked',
111
+ reason: 'api_error',
112
+ });
113
+ return 1;
114
+ }
115
+ }
116
+ //# sourceMappingURL=rebase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebase.js","sourceRoot":"","sources":["../../src/interceptors/rebase.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type GitOperationType = 'push' | 'branch' | 'reset' | 'clean' | 'unknown';
1
+ export type GitOperationType = 'push' | 'branch' | 'reset' | 'clean' | 'rebase' | 'unknown';
2
2
  export interface GitOperation {
3
3
  type: GitOperationType;
4
4
  action: string;
@@ -14,5 +14,6 @@ export declare class GitCommandParser {
14
14
  parseBranch(args: string[]): GitOperation;
15
15
  parseReset(args: string[]): GitOperation;
16
16
  parseClean(args: string[]): GitOperation;
17
+ parseRebase(args: string[]): GitOperation;
17
18
  resolveAlias(command: string, cwd?: string): Promise<string[] | null>;
18
19
  }
@@ -15,6 +15,8 @@ class GitCommandParser {
15
15
  return this.parseReset(args);
16
16
  case 'clean':
17
17
  return this.parseClean(args);
18
+ case 'rebase':
19
+ return this.parseRebase(args);
18
20
  default:
19
21
  return {
20
22
  type: 'unknown',
@@ -170,6 +172,30 @@ class GitCommandParser {
170
172
  }
171
173
  return operation;
172
174
  }
175
+ parseRebase(args) {
176
+ const operation = {
177
+ type: 'rebase',
178
+ action: 'rebase',
179
+ targets: [],
180
+ flags: [],
181
+ risk: 'medium',
182
+ };
183
+ const interactiveFlags = new Set(['-i', '--interactive']);
184
+ args.forEach((arg) => {
185
+ if (interactiveFlags.has(arg)) {
186
+ operation.flags.push('interactive');
187
+ operation.risk = 'high';
188
+ }
189
+ if (arg === '--onto') {
190
+ operation.flags.push('onto');
191
+ operation.risk = 'high';
192
+ }
193
+ if (!arg.startsWith('-')) {
194
+ operation.targets.push(arg);
195
+ }
196
+ });
197
+ return operation;
198
+ }
173
199
  async resolveAlias(command, cwd = process.cwd()) {
174
200
  try {
175
201
  const { stdout } = await execFileAsync('git', ['config', '--get', `alias.${command}`], { cwd });
@@ -1 +1 @@
1
- {"version":3,"file":"git-parser.js","sourceRoot":"","sources":["../../src/utils/git-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-parser.js","sourceRoot":"","sources":["../../src/utils/git-parser.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.6.19",
3
+ "version": "0.6.20",
4
4
  "description": "AI Safety Middleware - Protect your Git workflows from dangerous AI agent operations",
5
5
  "author": "SafeRun Team",
6
6
  "license": "MIT",