safemode 2.0.8 → 2.0.10

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
@@ -132,7 +132,7 @@ safemode phone --test # Send a test notification
132
132
  | 1 | Loop Killer | Repeated identical tool calls |
133
133
  | 2 | Oscillation | Write-undo-write cycles |
134
134
  | 3 | Velocity Limiter | Too many calls per minute |
135
- | 4 | Cost Exposure | Session cost exceeding budget |
135
+ | 4 | Cost Exposure | Estimated session cost approaching budget |
136
136
  | 5 | Action Growth | Escalating permission requests |
137
137
  | 6 | Latency Spike | Abnormal response times |
138
138
  | 7 | Error Rate | Sustained error patterns |
@@ -142,7 +142,7 @@ safemode phone --test # Send a test notification
142
142
  | 11 | Prompt Injection | Injection attempts in tool outputs |
143
143
  | 12 | Jailbreak | Attempts to bypass safety controls |
144
144
  | 13 | Command Firewall | Dangerous shell commands (rm -rf, chmod 777, etc.) |
145
- | 14 | Budget Cap | Hard spending limits |
145
+ | 14 | Budget Cap | Hard estimated spending limit |
146
146
  | 15 | Action-Label Mismatch | Tool says "read" but actually writes |
147
147
 
148
148
  ## Config
@@ -5696,9 +5696,23 @@ var SecretsScanner = class {
5696
5696
  const severityOrder = { low: 0, medium: 1, high: 2, critical: 3 };
5697
5697
  for (const { name, pattern, severity } of SECRET_PATTERNS) {
5698
5698
  pattern.lastIndex = 0;
5699
- const matches = content.match(pattern) || [];
5700
- if (matches.length > 0) {
5701
- findings.push({ type: name, severity, count: matches.length });
5699
+ let matchCount = 0;
5700
+ let match;
5701
+ while ((match = pattern.exec(content)) !== null) {
5702
+ const matched = match[0];
5703
+ if (name === "aws_secret_key" && !/[/+]/.test(matched)) {
5704
+ continue;
5705
+ }
5706
+ const ctxStart = Math.max(0, match.index - 80);
5707
+ const ctxEnd = Math.min(content.length, match.index + matched.length + 80);
5708
+ const nearby = content.slice(ctxStart, ctxEnd).toLowerCase();
5709
+ if (/\b(?:patterns?|detects?|scanning|scans?|coverage|engine)\b/.test(nearby)) {
5710
+ continue;
5711
+ }
5712
+ matchCount++;
5713
+ }
5714
+ if (matchCount > 0) {
5715
+ findings.push({ type: name, severity, count: matchCount });
5702
5716
  if (severityOrder[severity] > severityOrder[maxSeverity]) {
5703
5717
  maxSeverity = severity;
5704
5718
  }
@@ -1 +1 @@
1
- {"version":3,"file":"10-secrets-scanner.d.ts","sourceRoot":"","sources":["../../../src/engines/10-secrets-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA8F9E,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,EAAE,MAAM;IACjB,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,WAAW,8CAA8C;IAE5D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;CA4D9D"}
1
+ {"version":3,"file":"10-secrets-scanner.d.ts","sourceRoot":"","sources":["../../../src/engines/10-secrets-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA8F9E,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,EAAE,MAAM;IACjB,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,WAAW,8CAA8C;IAE5D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;CAgF9D"}
@@ -82,9 +82,25 @@ export class SecretsScanner {
82
82
  for (const { name, pattern, severity } of SECRET_PATTERNS) {
83
83
  // Reset regex state
84
84
  pattern.lastIndex = 0;
85
- const matches = content.match(pattern) || [];
86
- if (matches.length > 0) {
87
- findings.push({ type: name, severity, count: matches.length });
85
+ let matchCount = 0;
86
+ let match;
87
+ while ((match = pattern.exec(content)) !== null) {
88
+ const matched = match[0];
89
+ // AWS secret key: must contain / or + (real keys always do, identifiers don't)
90
+ if (name === 'aws_secret_key' && !/[/+]/.test(matched)) {
91
+ continue;
92
+ }
93
+ // Skip documentation context: nearby text about patterns/detection is not a secret
94
+ const ctxStart = Math.max(0, match.index - 80);
95
+ const ctxEnd = Math.min(content.length, match.index + matched.length + 80);
96
+ const nearby = content.slice(ctxStart, ctxEnd).toLowerCase();
97
+ if (/\b(?:patterns?|detects?|scanning|scans?|coverage|engine)\b/.test(nearby)) {
98
+ continue;
99
+ }
100
+ matchCount++;
101
+ }
102
+ if (matchCount > 0) {
103
+ findings.push({ type: name, severity, count: matchCount });
88
104
  if (severityOrder[severity] > severityOrder[maxSeverity]) {
89
105
  maxSeverity = severity;
90
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"10-secrets-scanner.js","sourceRoot":"","sources":["../../../src/engines/10-secrets-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"10-secrets-scanner.js","sourceRoot":"","sources":["../../../src/engines/10-secrets-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safemode",
3
- "version": "2.0.8",
3
+ "version": "2.0.10",
4
4
  "description": "Stop your AI coding agent from doing something you'll regret.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",