@saferun/cli 0.5.22 → 0.5.23

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Command: saferun shell-init
3
- * Setup shell integration for AI session detection
3
+ * Setup shell integration for AI session detection and git command interception
4
4
  */
5
5
  export declare class ShellInitCommand {
6
6
  run(options: {
@@ -9,6 +9,7 @@ export declare class ShellInitCommand {
9
9
  }): Promise<void>;
10
10
  private detectShell;
11
11
  private generateSnippet;
12
+ private generateFishSnippet;
12
13
  private autoInstall;
13
14
  private showManualInstructions;
14
15
  private getRCFile;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Command: saferun shell-init
4
- * Setup shell integration for AI session detection
4
+ * Setup shell integration for AI session detection and git command interception
5
5
  */
6
6
  var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -36,24 +36,153 @@ class ShellInitCommand {
36
36
  return 'bash'; // Default
37
37
  }
38
38
  generateSnippet(shell) {
39
- const baseSnippet = `
40
- # SafeRun AI Session Detection
39
+ if (shell === 'fish') {
40
+ return this.generateFishSnippet();
41
+ }
42
+ // Bash/Zsh snippet
43
+ return `
44
+ # ============================================
45
+ # SafeRun Shell Integration
46
+ # Protects against dangerous git operations
47
+ # ============================================
48
+
49
+ # AI Session Detection
41
50
  export SAFERUN_AI_SESSION="conversational"
42
51
  export SAFERUN_AGENT_ID="\${USER}-\$(date +%s)"
43
52
 
44
- # Optional: Auto-detect AI prompts
45
- if [[ "\$PS1" =~ "ChatGPT" ]] || [[ "\$PS1" =~ "Claude" ]]; then
46
- export SAFERUN_DETECTED_AI="true"
47
- fi
53
+ # Git Command Interceptor
54
+ # Catches dangerous operations in SafeRun-protected repos
55
+ git() {
56
+ # Check if we're in a SafeRun protected repo
57
+ if [[ -d ".saferun" ]] || [[ -f ".saferun/config.yml" ]]; then
58
+ local cmd="\$1"
59
+ local all_args="\$*"
60
+
61
+ case "\$cmd" in
62
+ commit)
63
+ # Block --no-verify (bypasses pre-commit hooks)
64
+ if [[ "\$all_args" == *"--no-verify"* ]] || [[ "\$all_args" == *" -n "* ]] || [[ "\$all_args" == *" -n\$"* ]]; then
65
+ echo -e "\\033[33m⚠️ SafeRun: git commit --no-verify detected\\033[0m"
66
+ echo -e "\\033[90m This bypasses pre-commit security hooks.\\033[0m"
67
+ saferun hook git-commit "\${@:2}"
68
+ return \$?
69
+ fi
70
+ ;;
71
+ push)
72
+ # Intercept --force and --no-verify
73
+ if [[ "\$all_args" == *"--force"* ]] || [[ "\$all_args" == *" -f "* ]] || [[ "\$all_args" == *" -f\$"* ]]; then
74
+ saferun hook git-push "\${@:2}"
75
+ return \$?
76
+ fi
77
+ if [[ "\$all_args" == *"--no-verify"* ]]; then
78
+ echo -e "\\033[33m⚠️ SafeRun: git push --no-verify detected\\033[0m"
79
+ saferun hook git-push "\${@:2}"
80
+ return \$?
81
+ fi
82
+ ;;
83
+ branch)
84
+ # Intercept branch deletion
85
+ if [[ "\$all_args" == *"-D"* ]] || [[ "\$all_args" == *"--delete"* ]]; then
86
+ saferun hook git-branch "\${@:2}"
87
+ return \$?
88
+ fi
89
+ ;;
90
+ reset)
91
+ # Intercept hard reset
92
+ if [[ "\$all_args" == *"--hard"* ]]; then
93
+ saferun hook git-reset "\${@:2}"
94
+ return \$?
95
+ fi
96
+ ;;
97
+ clean)
98
+ # Intercept force clean
99
+ if [[ "\$all_args" == *"-f"* ]]; then
100
+ saferun hook git-clean "\${@:2}"
101
+ return \$?
102
+ fi
103
+ ;;
104
+ config)
105
+ # Block attempts to disable hooks
106
+ if [[ "\$all_args" == *"core.hooksPath"* ]]; then
107
+ echo -e "\\033[31m🛑 SafeRun: Blocked attempt to modify hooks path\\033[0m"
108
+ echo -e "\\033[90m Changing core.hooksPath can disable SafeRun protection.\\033[0m"
109
+ return 1
110
+ fi
111
+ ;;
112
+ esac
113
+ fi
114
+
115
+ # Pass through to real git
116
+ command git "\$@"
117
+ }
118
+
119
+ # Protect against direct hook deletion
120
+ rm() {
121
+ if [[ "\$*" == *".git/hooks"* ]]; then
122
+ echo -e "\\033[31m🛑 SafeRun: Blocked deletion of git hooks\\033[0m"
123
+ return 1
124
+ fi
125
+ command rm "\$@"
126
+ }
127
+
128
+ # End SafeRun Shell Integration
48
129
  `;
49
- if (shell === 'fish') {
50
- return `
51
- # SafeRun AI Session Detection
130
+ }
131
+ generateFishSnippet() {
132
+ return `
133
+ # ============================================
134
+ # SafeRun Shell Integration (Fish)
135
+ # Protects against dangerous git operations
136
+ # ============================================
137
+
52
138
  set -x SAFERUN_AI_SESSION "conversational"
53
139
  set -x SAFERUN_AGENT_ID "$USER-"(date +%s)
140
+
141
+ function git --wraps git
142
+ if test -d ".saferun"; or test -f ".saferun/config.yml"
143
+ set -l cmd $argv[1]
144
+ set -l all_args "$argv"
145
+
146
+ switch $cmd
147
+ case commit
148
+ if string match -q "*--no-verify*" $all_args; or string match -q "* -n *" $all_args
149
+ echo "⚠️ SafeRun: git commit --no-verify detected"
150
+ saferun hook git-commit $argv[2..-1]
151
+ return $status
152
+ end
153
+ case push
154
+ if string match -q "*--force*" $all_args; or string match -q "* -f *" $all_args
155
+ saferun hook git-push $argv[2..-1]
156
+ return $status
157
+ end
158
+ case branch
159
+ if string match -q "*-D*" $all_args; or string match -q "*--delete*" $all_args
160
+ saferun hook git-branch $argv[2..-1]
161
+ return $status
162
+ end
163
+ case reset
164
+ if string match -q "*--hard*" $all_args
165
+ saferun hook git-reset $argv[2..-1]
166
+ return $status
167
+ end
168
+ case clean
169
+ if string match -q "*-f*" $all_args
170
+ saferun hook git-clean $argv[2..-1]
171
+ return $status
172
+ end
173
+ case config
174
+ if string match -q "*core.hooksPath*" $all_args
175
+ echo "🛑 SafeRun: Blocked attempt to modify hooks path"
176
+ return 1
177
+ end
178
+ end
179
+ end
180
+
181
+ command git $argv
182
+ end
183
+
184
+ # End SafeRun Shell Integration
54
185
  `;
55
- }
56
- return baseSnippet;
57
186
  }
58
187
  async autoInstall(shell, snippet) {
59
188
  const rcFile = this.getRCFile(shell);
@@ -66,27 +195,37 @@ set -x SAFERUN_AGENT_ID "$USER-"(date +%s)
66
195
  // Check if already installed
67
196
  if (fs_1.default.existsSync(rcFile)) {
68
197
  const content = fs_1.default.readFileSync(rcFile, 'utf-8');
69
- if (content.includes('SafeRun AI Session Detection')) {
198
+ if (content.includes('SafeRun Shell Integration')) {
70
199
  console.log(chalk_1.default.yellow('⚠️ SafeRun shell integration already installed'));
200
+ console.log(chalk_1.default.gray(' To reinstall, remove the SafeRun section from ' + rcFile));
71
201
  return;
72
202
  }
73
203
  }
74
204
  // Append snippet
75
205
  fs_1.default.appendFileSync(rcFile, '\n' + snippet, 'utf-8');
76
206
  console.log(chalk_1.default.green('✅ SafeRun shell integration installed'));
77
- console.log(chalk_1.default.bold('\n📝 Next steps:'));
207
+ console.log(chalk_1.default.bold('\n📝 What was added:'));
208
+ console.log(chalk_1.default.gray(' • Git command interceptor (catches --no-verify, --force, -D)'));
209
+ console.log(chalk_1.default.gray(' • Hook deletion protection'));
210
+ console.log(chalk_1.default.gray(' • AI session detection'));
211
+ console.log(chalk_1.default.bold('\n🔄 Next steps:'));
78
212
  console.log(chalk_1.default.gray(` 1. Restart your terminal, or run:`));
79
213
  console.log(chalk_1.default.cyan(` source ${rcFile}`));
80
- console.log(chalk_1.default.gray(` 2. Your AI sessions will now be detected automatically`));
81
- console.log(chalk_1.default.gray(` 3. Test it: saferun status --agents`));
214
+ console.log(chalk_1.default.gray(` 2. Test it:`));
215
+ console.log(chalk_1.default.cyan(` cd <your-saferun-repo> && git commit --no-verify -m "test"`));
216
+ console.log(chalk_1.default.gray(` 3. SafeRun should intercept the command`));
82
217
  }
83
218
  showManualInstructions(shell, snippet) {
84
219
  const rcFile = this.getRCFile(shell) || `~/.${shell}rc`;
85
220
  console.log(chalk_1.default.bold('\n📋 Manual Installation\n'));
86
221
  console.log(chalk_1.default.gray(`Add the following to ${rcFile}:`));
87
- console.log(chalk_1.default.cyan(snippet));
222
+ console.log(chalk_1.default.cyan('─'.repeat(50)));
223
+ console.log(snippet);
224
+ console.log(chalk_1.default.cyan('─'.repeat(50)));
88
225
  console.log(chalk_1.default.gray('\nThen restart your terminal or run:'));
89
226
  console.log(chalk_1.default.cyan(` source ${rcFile}`));
227
+ console.log(chalk_1.default.bold('\n💡 Or install automatically:'));
228
+ console.log(chalk_1.default.cyan(' saferun shell-init --auto'));
90
229
  }
91
230
  getRCFile(shell) {
92
231
  const home = os_1.default.homedir();
@@ -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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"}
@@ -32,7 +32,8 @@ async function interceptCommit(context) {
32
32
  let riskScore = (rule === null || rule === void 0 ? void 0 : rule.risk_score) != null ? rule.risk_score : 7.0;
33
33
  riskScore = clampRisk(riskScore);
34
34
  const humanPreview = 'Committing with --no-verify bypasses pre-commit and commit-msg hooks.';
35
- const enforcement = resolveEnforcement(context.modeSettings, rule === null || rule === void 0 ? void 0 : rule.action, 'warn');
35
+ // SECURITY: Default to 'block' for --no-verify as it bypasses security hooks
36
+ const enforcement = resolveEnforcement(context.modeSettings, rule === null || rule === void 0 ? void 0 : rule.action, 'block');
36
37
  // Log the attempt
37
38
  console.log(chalk_1.default.yellow('\n⚠️ SafeRun detected: git commit --no-verify'));
38
39
  console.log(chalk_1.default.gray(' This bypasses pre-commit hooks including security checks.\n'));
@@ -54,13 +55,14 @@ async function interceptCommit(context) {
54
55
  const approvals = [];
55
56
  try {
56
57
  const dryRun = await context.client.gitOperation({
57
- operationType: 'commit_no_verify',
58
+ operationType: 'custom', // API doesn't have commit_no_verify yet
58
59
  target: `${repoSlug}@workspace`,
59
60
  command,
60
61
  metadata: {
61
62
  repo: repoSlug,
62
63
  args: context.args,
63
64
  bypassed_hooks: ['pre-commit', 'commit-msg'],
65
+ custom_type: 'commit_no_verify',
64
66
  },
65
67
  riskScore: riskScore / 10,
66
68
  humanPreview,
@@ -137,7 +139,25 @@ async function interceptCommit(context) {
137
139
  catch (error) {
138
140
  const message = error instanceof Error ? error.message : String(error);
139
141
  console.error(chalk_1.default.red(`SafeRun error: ${message}`));
140
- console.warn(chalk_1.default.yellow('Proceeding without SafeRun approval.'));
142
+ // If enforcement requires blocking, do NOT proceed on API error
143
+ if (enforcement.shouldBlock || enforcement.action === 'block') {
144
+ console.error(chalk_1.default.red('🛑 SafeRun blocks commit --no-verify even when API fails.'));
145
+ context.metrics.track('operation_blocked', {
146
+ hook: 'alias:commit',
147
+ operation_type: 'commit_no_verify',
148
+ repo: repoSlug,
149
+ reason: 'api_error_with_block_policy',
150
+ }).catch(() => undefined);
151
+ await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
152
+ event: 'commit_no_verify',
153
+ operation: 'commit',
154
+ repo: repoSlug,
155
+ outcome: 'blocked_api_error',
156
+ error: message,
157
+ });
158
+ return 1;
159
+ }
160
+ console.warn(chalk_1.default.yellow('Proceeding without SafeRun approval (non-blocking mode).'));
141
161
  context.metrics.track('operation_allowed', {
142
162
  hook: 'alias:commit',
143
163
  operation_type: 'commit_no_verify',
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/interceptors/commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/interceptors/commit.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.22",
3
+ "version": "0.5.23",
4
4
  "description": "AI Safety Middleware - Protect your Git workflows from dangerous AI agent operations",
5
5
  "author": "SafeRun Team",
6
6
  "license": "MIT",