clawsec 0.0.1 → 0.0.2
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/dist/src/actions/block.js +2 -2
- package/dist/src/actions/block.js.map +1 -1
- package/dist/src/actions/confirm.d.ts +1 -1
- package/dist/src/actions/confirm.d.ts.map +1 -1
- package/dist/src/actions/confirm.js +57 -26
- package/dist/src/actions/confirm.js.map +1 -1
- package/dist/src/actions/executor.d.ts +3 -1
- package/dist/src/actions/executor.d.ts.map +1 -1
- package/dist/src/actions/executor.js +48 -11
- package/dist/src/actions/executor.js.map +1 -1
- package/dist/src/actions/warn.js +2 -2
- package/dist/src/actions/warn.js.map +1 -1
- package/dist/src/approval/agent-confirm.d.ts +4 -0
- package/dist/src/approval/agent-confirm.d.ts.map +1 -1
- package/dist/src/approval/agent-confirm.js +14 -0
- package/dist/src/approval/agent-confirm.js.map +1 -1
- package/dist/src/approval/store.d.ts +4 -0
- package/dist/src/approval/store.d.ts.map +1 -1
- package/dist/src/approval/store.js +19 -0
- package/dist/src/approval/store.js.map +1 -1
- package/dist/src/config/loader.d.ts +7 -4
- package/dist/src/config/loader.d.ts.map +1 -1
- package/dist/src/config/loader.js +58 -27
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/config/schema.d.ts +60 -41
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +12 -0
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/template-loader.d.ts +34 -0
- package/dist/src/config/template-loader.d.ts.map +1 -0
- package/dist/src/config/template-loader.js +127 -0
- package/dist/src/config/template-loader.js.map +1 -0
- package/dist/src/detectors/destructive/cloud-detector.d.ts +10 -3
- package/dist/src/detectors/destructive/cloud-detector.d.ts.map +1 -1
- package/dist/src/detectors/destructive/cloud-detector.js +45 -5
- package/dist/src/detectors/destructive/cloud-detector.js.map +1 -1
- package/dist/src/detectors/destructive/code-detector.d.ts +9 -2
- package/dist/src/detectors/destructive/code-detector.d.ts.map +1 -1
- package/dist/src/detectors/destructive/code-detector.js +43 -4
- package/dist/src/detectors/destructive/code-detector.js.map +1 -1
- package/dist/src/detectors/destructive/index.d.ts +5 -3
- package/dist/src/detectors/destructive/index.d.ts.map +1 -1
- package/dist/src/detectors/destructive/index.js +42 -10
- package/dist/src/detectors/destructive/index.js.map +1 -1
- package/dist/src/detectors/destructive/shell-detector.d.ts +10 -3
- package/dist/src/detectors/destructive/shell-detector.d.ts.map +1 -1
- package/dist/src/detectors/destructive/shell-detector.js +44 -5
- package/dist/src/detectors/destructive/shell-detector.js.map +1 -1
- package/dist/src/detectors/destructive/types.d.ts +6 -0
- package/dist/src/detectors/destructive/types.d.ts.map +1 -1
- package/dist/src/detectors/exfiltration/cloud-detector.d.ts +3 -2
- package/dist/src/detectors/exfiltration/cloud-detector.d.ts.map +1 -1
- package/dist/src/detectors/exfiltration/cloud-detector.js +21 -3
- package/dist/src/detectors/exfiltration/cloud-detector.js.map +1 -1
- package/dist/src/detectors/exfiltration/http-detector.d.ts +3 -2
- package/dist/src/detectors/exfiltration/http-detector.d.ts.map +1 -1
- package/dist/src/detectors/exfiltration/http-detector.js +21 -3
- package/dist/src/detectors/exfiltration/http-detector.js.map +1 -1
- package/dist/src/detectors/exfiltration/index.d.ts +5 -3
- package/dist/src/detectors/exfiltration/index.d.ts.map +1 -1
- package/dist/src/detectors/exfiltration/index.js +44 -11
- package/dist/src/detectors/exfiltration/index.js.map +1 -1
- package/dist/src/detectors/exfiltration/network-detector.d.ts +3 -2
- package/dist/src/detectors/exfiltration/network-detector.d.ts.map +1 -1
- package/dist/src/detectors/exfiltration/network-detector.js +26 -8
- package/dist/src/detectors/exfiltration/network-detector.js.map +1 -1
- package/dist/src/detectors/exfiltration/types.d.ts +2 -0
- package/dist/src/detectors/exfiltration/types.d.ts.map +1 -1
- package/dist/src/detectors/purchase/domain-detector.d.ts +1 -1
- package/dist/src/detectors/purchase/domain-detector.d.ts.map +1 -1
- package/dist/src/detectors/purchase/domain-detector.js +1 -1
- package/dist/src/detectors/purchase/domain-detector.js.map +1 -1
- package/dist/src/detectors/purchase/form-detector.d.ts +2 -2
- package/dist/src/detectors/purchase/form-detector.d.ts.map +1 -1
- package/dist/src/detectors/purchase/form-detector.js +7 -4
- package/dist/src/detectors/purchase/form-detector.js.map +1 -1
- package/dist/src/detectors/purchase/index.d.ts +5 -3
- package/dist/src/detectors/purchase/index.d.ts.map +1 -1
- package/dist/src/detectors/purchase/index.js +35 -6
- package/dist/src/detectors/purchase/index.js.map +1 -1
- package/dist/src/detectors/purchase/spend-tracker.d.ts +6 -2
- package/dist/src/detectors/purchase/spend-tracker.d.ts.map +1 -1
- package/dist/src/detectors/purchase/spend-tracker.js +19 -3
- package/dist/src/detectors/purchase/spend-tracker.js.map +1 -1
- package/dist/src/detectors/purchase/url-detector.d.ts +2 -2
- package/dist/src/detectors/purchase/url-detector.d.ts.map +1 -1
- package/dist/src/detectors/purchase/url-detector.js +3 -3
- package/dist/src/detectors/purchase/url-detector.js.map +1 -1
- package/dist/src/detectors/secrets/api-key-detector.d.ts +6 -6
- package/dist/src/detectors/secrets/api-key-detector.d.ts.map +1 -1
- package/dist/src/detectors/secrets/api-key-detector.js +33 -7
- package/dist/src/detectors/secrets/api-key-detector.js.map +1 -1
- package/dist/src/detectors/secrets/index.d.ts +5 -3
- package/dist/src/detectors/secrets/index.d.ts.map +1 -1
- package/dist/src/detectors/secrets/index.js +52 -11
- package/dist/src/detectors/secrets/index.js.map +1 -1
- package/dist/src/detectors/secrets/pii-detector.d.ts +2 -2
- package/dist/src/detectors/secrets/pii-detector.d.ts.map +1 -1
- package/dist/src/detectors/secrets/pii-detector.js +3 -3
- package/dist/src/detectors/secrets/pii-detector.js.map +1 -1
- package/dist/src/detectors/secrets/token-detector.d.ts +2 -2
- package/dist/src/detectors/secrets/token-detector.d.ts.map +1 -1
- package/dist/src/detectors/secrets/token-detector.js +3 -3
- package/dist/src/detectors/secrets/token-detector.js.map +1 -1
- package/dist/src/detectors/secrets/types.d.ts +5 -3
- package/dist/src/detectors/secrets/types.d.ts.map +1 -1
- package/dist/src/detectors/website/index.d.ts +5 -3
- package/dist/src/detectors/website/index.d.ts.map +1 -1
- package/dist/src/detectors/website/index.js +21 -6
- package/dist/src/detectors/website/index.js.map +1 -1
- package/dist/src/engine/analyzer.d.ts +3 -1
- package/dist/src/engine/analyzer.d.ts.map +1 -1
- package/dist/src/engine/analyzer.js +66 -10
- package/dist/src/engine/analyzer.js.map +1 -1
- package/dist/src/engine/types.d.ts +4 -1
- package/dist/src/engine/types.d.ts.map +1 -1
- package/dist/src/engine/types.js.map +1 -1
- package/dist/src/hooks/before-agent-start/handler.d.ts +3 -1
- package/dist/src/hooks/before-agent-start/handler.d.ts.map +1 -1
- package/dist/src/hooks/before-agent-start/handler.js +59 -12
- package/dist/src/hooks/before-agent-start/handler.js.map +1 -1
- package/dist/src/hooks/before-tool-call/handler.d.ts +3 -1
- package/dist/src/hooks/before-tool-call/handler.d.ts.map +1 -1
- package/dist/src/hooks/before-tool-call/handler.js +86 -54
- package/dist/src/hooks/before-tool-call/handler.js.map +1 -1
- package/dist/src/hooks/tool-result-persist/handler.d.ts +3 -1
- package/dist/src/hooks/tool-result-persist/handler.d.ts.map +1 -1
- package/dist/src/hooks/tool-result-persist/handler.js +36 -34
- package/dist/src/hooks/tool-result-persist/handler.js.map +1 -1
- package/dist/src/index.d.ts +45 -47
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +120 -96
- package/dist/src/index.js.map +1 -1
- package/dist/src/notifications/index.d.ts.map +1 -1
- package/dist/src/notifications/index.js +2 -1
- package/dist/src/notifications/index.js.map +1 -1
- package/dist/src/notifications/telegram.js +1 -1
- package/dist/src/notifications/telegram.js.map +1 -1
- package/dist/src/notifications/types.d.ts +1 -1
- package/dist/src/notifications/types.d.ts.map +1 -1
- package/dist/src/utils/logger.d.ts +26 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +76 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/openclaw.plugin.json +7 -22
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Monitors per-transaction and daily spending limits for purchase protection
|
|
4
4
|
*/
|
|
5
5
|
import type { SpendLimits } from '../../config/index.js';
|
|
6
|
+
import { type Logger } from '../../utils/logger.js';
|
|
6
7
|
/**
|
|
7
8
|
* Record of a tracked spend transaction
|
|
8
9
|
*/
|
|
@@ -61,9 +62,10 @@ export declare function extractAmount(value: string): number | null;
|
|
|
61
62
|
* Extract amount from tool input
|
|
62
63
|
* Searches common field names for price/amount values
|
|
63
64
|
* @param toolInput Tool input object
|
|
65
|
+
* @param this.logger Optional this.logger instance
|
|
64
66
|
* @returns Extracted amount or null
|
|
65
67
|
*/
|
|
66
|
-
export declare function extractAmountFromInput(toolInput: Record<string, unknown
|
|
68
|
+
export declare function extractAmountFromInput(toolInput: Record<string, unknown>, logger?: Logger): number | null;
|
|
67
69
|
/**
|
|
68
70
|
* SpendTracker implementation
|
|
69
71
|
* Tracks spending transactions and enforces limits
|
|
@@ -72,11 +74,13 @@ export declare class SpendTracker implements ISpendTracker {
|
|
|
72
74
|
private transactions;
|
|
73
75
|
private readonly cleanupIntervalMs;
|
|
74
76
|
private lastCleanup;
|
|
77
|
+
private readonly logger;
|
|
75
78
|
/**
|
|
76
79
|
* Create a new SpendTracker
|
|
77
80
|
* @param cleanupIntervalMs How often to run cleanup (default: 1 hour)
|
|
81
|
+
* @param logger Optional logger instance
|
|
78
82
|
*/
|
|
79
|
-
constructor(cleanupIntervalMs?: number);
|
|
83
|
+
constructor(cleanupIntervalMs?: number, logger?: Logger);
|
|
80
84
|
/**
|
|
81
85
|
* Record a transaction
|
|
82
86
|
* @param amount Transaction amount
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spend-tracker.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/spend-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"spend-tracker.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/spend-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Spend Tracker
|
|
3
3
|
* Monitors per-transaction and daily spending limits for purchase protection
|
|
4
4
|
*/
|
|
5
|
+
import { createLogger } from '../../utils/logger.js';
|
|
5
6
|
/**
|
|
6
7
|
* Amount patterns for detecting prices in text
|
|
7
8
|
*/
|
|
@@ -51,9 +52,11 @@ export function extractAmount(value) {
|
|
|
51
52
|
* Extract amount from tool input
|
|
52
53
|
* Searches common field names for price/amount values
|
|
53
54
|
* @param toolInput Tool input object
|
|
55
|
+
* @param this.logger Optional this.logger instance
|
|
54
56
|
* @returns Extracted amount or null
|
|
55
57
|
*/
|
|
56
|
-
export function extractAmountFromInput(toolInput) {
|
|
58
|
+
export function extractAmountFromInput(toolInput, logger) {
|
|
59
|
+
const log = logger ?? createLogger(null, null);
|
|
57
60
|
// Priority field names to check
|
|
58
61
|
const amountFields = [
|
|
59
62
|
'amount',
|
|
@@ -74,11 +77,13 @@ export function extractAmountFromInput(toolInput) {
|
|
|
74
77
|
const value = toolInput[field];
|
|
75
78
|
if (value !== undefined && value !== null) {
|
|
76
79
|
if (typeof value === 'number' && value > 0) {
|
|
80
|
+
log.debug(`[SpendTracker] Extracted amount: ${value} from field="${field}"`);
|
|
77
81
|
return value;
|
|
78
82
|
}
|
|
79
83
|
if (typeof value === 'string') {
|
|
80
84
|
const parsed = extractAmount(value);
|
|
81
85
|
if (parsed !== null) {
|
|
86
|
+
log.debug(`[SpendTracker] Extracted amount: ${parsed} from field="${field}"`);
|
|
82
87
|
return parsed;
|
|
83
88
|
}
|
|
84
89
|
}
|
|
@@ -94,6 +99,7 @@ export function extractAmountFromInput(toolInput) {
|
|
|
94
99
|
if (param) {
|
|
95
100
|
const parsed = extractAmount(param);
|
|
96
101
|
if (parsed !== null) {
|
|
102
|
+
log.debug(`[SpendTracker] Extracted amount: ${parsed} from URL param="${field}"`);
|
|
97
103
|
return parsed;
|
|
98
104
|
}
|
|
99
105
|
}
|
|
@@ -106,8 +112,9 @@ export function extractAmountFromInput(toolInput) {
|
|
|
106
112
|
// Check nested form data
|
|
107
113
|
const formData = toolInput.data || toolInput.body || toolInput.formData;
|
|
108
114
|
if (formData && typeof formData === 'object') {
|
|
109
|
-
const result = extractAmountFromInput(formData);
|
|
115
|
+
const result = extractAmountFromInput(formData, log);
|
|
110
116
|
if (result !== null) {
|
|
117
|
+
log.debug(`[SpendTracker] Extracted amount: ${result} from nested form data`);
|
|
111
118
|
return result;
|
|
112
119
|
}
|
|
113
120
|
}
|
|
@@ -120,11 +127,13 @@ export function extractAmountFromInput(toolInput) {
|
|
|
120
127
|
const value = field.value;
|
|
121
128
|
if (typeof name === 'string' && amountFields.includes(name.toLowerCase())) {
|
|
122
129
|
if (typeof value === 'number' && value > 0) {
|
|
130
|
+
log.debug(`[SpendTracker] Extracted amount: ${value} from fields array (name="${name}")`);
|
|
123
131
|
return value;
|
|
124
132
|
}
|
|
125
133
|
if (typeof value === 'string') {
|
|
126
134
|
const parsed = extractAmount(value);
|
|
127
135
|
if (parsed !== null) {
|
|
136
|
+
log.debug(`[SpendTracker] Extracted amount: ${parsed} from fields array (name="${name}")`);
|
|
128
137
|
return parsed;
|
|
129
138
|
}
|
|
130
139
|
}
|
|
@@ -144,6 +153,7 @@ export function extractAmountFromInput(toolInput) {
|
|
|
144
153
|
if (currencyMatch && currencyMatch[1]) {
|
|
145
154
|
const parsed = extractAmount(value);
|
|
146
155
|
if (parsed !== null) {
|
|
156
|
+
log.debug(`[SpendTracker] Extracted amount: ${parsed} from currency pattern in key="${key}"`);
|
|
147
157
|
return parsed;
|
|
148
158
|
}
|
|
149
159
|
}
|
|
@@ -174,12 +184,15 @@ export class SpendTracker {
|
|
|
174
184
|
transactions = [];
|
|
175
185
|
cleanupIntervalMs;
|
|
176
186
|
lastCleanup = Date.now();
|
|
187
|
+
logger;
|
|
177
188
|
/**
|
|
178
189
|
* Create a new SpendTracker
|
|
179
190
|
* @param cleanupIntervalMs How often to run cleanup (default: 1 hour)
|
|
191
|
+
* @param logger Optional logger instance
|
|
180
192
|
*/
|
|
181
|
-
constructor(cleanupIntervalMs = 60 * 60 * 1000) {
|
|
193
|
+
constructor(cleanupIntervalMs = 60 * 60 * 1000, logger) {
|
|
182
194
|
this.cleanupIntervalMs = cleanupIntervalMs;
|
|
195
|
+
this.logger = logger ?? createLogger(null, null);
|
|
183
196
|
}
|
|
184
197
|
/**
|
|
185
198
|
* Record a transaction
|
|
@@ -209,8 +222,10 @@ export class SpendTracker {
|
|
|
209
222
|
this.maybeCleanup();
|
|
210
223
|
const dailyTotal = this.getDailyTotal();
|
|
211
224
|
const remainingDaily = Math.max(0, limits.daily - dailyTotal);
|
|
225
|
+
this.logger.debug(`[SpendTracker] Checking limits: amount=${amount}, dailyTotal=${dailyTotal}, perTxLimit=${limits.perTransaction}, dailyLimit=${limits.daily}`);
|
|
212
226
|
// Check per-transaction limit first
|
|
213
227
|
if (amount > limits.perTransaction) {
|
|
228
|
+
this.logger.warn(`[SpendTracker] Limit exceeded: amount=${amount}, limit=${limits.perTransaction}, type=perTransaction`);
|
|
214
229
|
return {
|
|
215
230
|
allowed: false,
|
|
216
231
|
exceededLimit: 'perTransaction',
|
|
@@ -221,6 +236,7 @@ export class SpendTracker {
|
|
|
221
236
|
}
|
|
222
237
|
// Check if adding this amount would exceed daily limit
|
|
223
238
|
if (dailyTotal + amount > limits.daily) {
|
|
239
|
+
this.logger.warn(`[SpendTracker] Limit exceeded: amount=${amount}, dailyTotal=${dailyTotal}, limit=${limits.daily}, type=daily`);
|
|
224
240
|
return {
|
|
225
241
|
allowed: false,
|
|
226
242
|
exceededLimit: 'daily',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spend-tracker.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/spend-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"spend-tracker.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/spend-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare function matchUrlPath(url: string): UrlMatchResult;
|
|
|
17
17
|
*/
|
|
18
18
|
export declare class UrlDetector implements SubDetector {
|
|
19
19
|
private severity;
|
|
20
|
-
constructor(severity?: Severity);
|
|
20
|
+
constructor(severity?: Severity, _logger?: any);
|
|
21
21
|
/**
|
|
22
22
|
* Extract URL from tool context
|
|
23
23
|
*/
|
|
@@ -27,5 +27,5 @@ export declare class UrlDetector implements SubDetector {
|
|
|
27
27
|
/**
|
|
28
28
|
* Create a URL detector with the given configuration
|
|
29
29
|
*/
|
|
30
|
-
export declare function createUrlDetector(severity?: Severity): UrlDetector;
|
|
30
|
+
export declare function createUrlDetector(severity?: Severity, logger?: any): UrlDetector;
|
|
31
31
|
//# sourceMappingURL=url-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/url-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA0HtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBtD;AAUD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA6ExD;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,GAAE,QAAqB;
|
|
1
|
+
{"version":3,"file":"url-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/purchase/url-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA0HtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBtD;AAUD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA6ExD;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,GAAE,QAAqB,EAAE,OAAO,CAAC,EAAE,GAAG;IAI1D;;OAEG;IACH,OAAO,CAAC,UAAU;IAiClB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;CA4B1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,QAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,WAAW,CAE5F"}
|
|
@@ -227,7 +227,7 @@ export function matchUrlPath(url) {
|
|
|
227
227
|
*/
|
|
228
228
|
export class UrlDetector {
|
|
229
229
|
severity;
|
|
230
|
-
constructor(severity =
|
|
230
|
+
constructor(severity = "critical", _logger) {
|
|
231
231
|
this.severity = severity;
|
|
232
232
|
}
|
|
233
233
|
/**
|
|
@@ -286,7 +286,7 @@ export class UrlDetector {
|
|
|
286
286
|
/**
|
|
287
287
|
* Create a URL detector with the given configuration
|
|
288
288
|
*/
|
|
289
|
-
export function createUrlDetector(severity =
|
|
290
|
-
return new UrlDetector(severity);
|
|
289
|
+
export function createUrlDetector(severity = "critical", logger) {
|
|
290
|
+
return new UrlDetector(severity, logger);
|
|
291
291
|
}
|
|
292
292
|
//# sourceMappingURL=url-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/url-detector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"url-detector.js","sourceRoot":"","sources":["../../../../src/detectors/purchase/url-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { SecretsDetectionResult, SecretSubDetector, ApiKeyMatch } from './types.js';
|
|
6
6
|
import type { Severity } from '../../config/index.js';
|
|
7
|
+
import { type Logger } from '../../utils/logger.js';
|
|
7
8
|
/**
|
|
8
9
|
* Redact a value showing first and last few characters
|
|
9
10
|
*/
|
|
@@ -17,14 +18,13 @@ export declare function matchApiKeys(text: string): ApiKeyMatch[];
|
|
|
17
18
|
*/
|
|
18
19
|
export declare class ApiKeyDetector implements SecretSubDetector {
|
|
19
20
|
private severity;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*/
|
|
21
|
+
private customPatterns;
|
|
22
|
+
private logger;
|
|
23
|
+
constructor(severity: Severity, customPatterns?: string[], logger?: Logger);
|
|
24
24
|
scan(text: string, location: string): SecretsDetectionResult[];
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* Create an API key detector
|
|
27
|
+
* Create an API key detector with custom patterns
|
|
28
28
|
*/
|
|
29
|
-
export declare function createApiKeyDetector(severity: Severity): ApiKeyDetector;
|
|
29
|
+
export declare function createApiKeyDetector(severity: Severity, customPatterns?: string[], logger?: Logger): ApiKeyDetector;
|
|
30
30
|
//# sourceMappingURL=api-key-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/secrets/api-key-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"api-key-detector.d.ts","sourceRoot":"","sources":["../../../../src/detectors/secrets/api-key-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA0MlE;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,EAAE,OAAO,SAAI,GAAG,MAAM,CAM7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgExD;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAM1E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,EAAE;CA0C/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAEnH"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* API Key Detector
|
|
3
3
|
* Detects API keys from various providers
|
|
4
4
|
*/
|
|
5
|
+
import { createLogger } from '../../utils/logger.js';
|
|
5
6
|
/**
|
|
6
7
|
* API key patterns for various providers
|
|
7
8
|
*/
|
|
@@ -265,14 +266,39 @@ export function matchApiKeys(text) {
|
|
|
265
266
|
*/
|
|
266
267
|
export class ApiKeyDetector {
|
|
267
268
|
severity;
|
|
268
|
-
|
|
269
|
+
customPatterns;
|
|
270
|
+
logger;
|
|
271
|
+
constructor(severity, customPatterns, logger) {
|
|
269
272
|
this.severity = severity;
|
|
273
|
+
this.customPatterns = customPatterns || [];
|
|
274
|
+
this.logger = logger ?? createLogger(null, null);
|
|
270
275
|
}
|
|
271
|
-
/**
|
|
272
|
-
* Scan text for API keys
|
|
273
|
-
*/
|
|
274
276
|
scan(text, location) {
|
|
275
277
|
const matches = matchApiKeys(text);
|
|
278
|
+
// Add custom pattern matches
|
|
279
|
+
if (this.customPatterns.length > 0) {
|
|
280
|
+
this.logger.debug(`[ApiKeyDetector] Checking ${this.customPatterns.length} custom patterns`);
|
|
281
|
+
for (const pattern of this.customPatterns) {
|
|
282
|
+
try {
|
|
283
|
+
const regex = new RegExp(pattern, 'gi');
|
|
284
|
+
let match;
|
|
285
|
+
while ((match = regex.exec(text)) !== null) {
|
|
286
|
+
this.logger.info(`[ApiKeyDetector] Custom pattern matched: ${pattern}`);
|
|
287
|
+
matches.push({
|
|
288
|
+
matched: true,
|
|
289
|
+
value: match[0],
|
|
290
|
+
provider: 'custom',
|
|
291
|
+
redactedValue: '[REDACTED:custom]',
|
|
292
|
+
confidence: 0.85,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
this.logger.warn(`[ApiKeyDetector] Invalid regex pattern skipped: "${pattern}" - ${error instanceof Error ? error.message : String(error)}`);
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
276
302
|
return matches.map((match) => ({
|
|
277
303
|
detected: true,
|
|
278
304
|
category: 'secrets',
|
|
@@ -289,9 +315,9 @@ export class ApiKeyDetector {
|
|
|
289
315
|
}
|
|
290
316
|
}
|
|
291
317
|
/**
|
|
292
|
-
* Create an API key detector
|
|
318
|
+
* Create an API key detector with custom patterns
|
|
293
319
|
*/
|
|
294
|
-
export function createApiKeyDetector(severity) {
|
|
295
|
-
return new ApiKeyDetector(severity);
|
|
320
|
+
export function createApiKeyDetector(severity, customPatterns, logger) {
|
|
321
|
+
return new ApiKeyDetector(severity, customPatterns, logger);
|
|
296
322
|
}
|
|
297
323
|
//# sourceMappingURL=api-key-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-detector.js","sourceRoot":"","sources":["../../../../src/detectors/secrets/api-key-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"api-key-detector.js","sourceRoot":"","sources":["../../../../src/detectors/secrets/api-key-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Main detector that combines API key, token, credential, and PII detection
|
|
4
4
|
*/
|
|
5
5
|
import type { SecretsDetectionContext, SecretsDetectionResult, SecretsDetector as ISecretsDetector, SecretsDetectorConfig } from './types.js';
|
|
6
|
+
import { type Logger } from '../../utils/logger.js';
|
|
6
7
|
import type { SecretsRule } from '../../config/index.js';
|
|
7
8
|
export * from './types.js';
|
|
8
9
|
export { ApiKeyDetector, createApiKeyDetector, matchApiKeys, redactValue } from './api-key-detector.js';
|
|
@@ -16,7 +17,8 @@ export declare class SecretsDetectorImpl implements ISecretsDetector {
|
|
|
16
17
|
private apiKeyDetector;
|
|
17
18
|
private tokenDetector;
|
|
18
19
|
private piiDetector;
|
|
19
|
-
|
|
20
|
+
private logger;
|
|
21
|
+
constructor(config: SecretsDetectorConfig, logger?: Logger);
|
|
20
22
|
detect(context: SecretsDetectionContext): Promise<SecretsDetectionResult>;
|
|
21
23
|
/**
|
|
22
24
|
* Get all individual detection results (for detailed reporting)
|
|
@@ -25,7 +27,7 @@ export declare class SecretsDetectorImpl implements ISecretsDetector {
|
|
|
25
27
|
/**
|
|
26
28
|
* Get the configured action for detected secrets
|
|
27
29
|
*/
|
|
28
|
-
getAction(): "
|
|
30
|
+
getAction(): "warn" | "log" | "block" | "confirm" | "agent-confirm";
|
|
29
31
|
/**
|
|
30
32
|
* Check if the detector is enabled
|
|
31
33
|
*/
|
|
@@ -34,7 +36,7 @@ export declare class SecretsDetectorImpl implements ISecretsDetector {
|
|
|
34
36
|
/**
|
|
35
37
|
* Create a secrets detector from SecretsRule configuration
|
|
36
38
|
*/
|
|
37
|
-
export declare function createSecretsDetector(rule: SecretsRule): SecretsDetectorImpl;
|
|
39
|
+
export declare function createSecretsDetector(rule: SecretsRule, logger?: Logger): SecretsDetectorImpl;
|
|
38
40
|
/**
|
|
39
41
|
* Create a secrets detector with default configuration
|
|
40
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/detectors/secrets/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,IAAI,gBAAgB,EACnC,qBAAqB,EACtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/detectors/secrets/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,IAAI,gBAAgB,EACnC,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,uBAAuB,CAAC;AAGnE,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAgL3B;;GAEG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,MAAM;IAQpD,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoE/E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA2BpF;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAS7F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,mBAAmB,CAMlE;AAGD,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Secrets Detector
|
|
3
3
|
* Main detector that combines API key, token, credential, and PII detection
|
|
4
4
|
*/
|
|
5
|
+
import { createLogger } from '../../utils/logger.js';
|
|
5
6
|
import { createApiKeyDetector } from './api-key-detector.js';
|
|
6
7
|
import { createTokenDetector } from './token-detector.js';
|
|
7
8
|
import { createPiiDetector } from './pii-detector.js';
|
|
@@ -79,6 +80,10 @@ function combineResults(results, severity) {
|
|
|
79
80
|
*/
|
|
80
81
|
function extractTextContent(obj) {
|
|
81
82
|
const content = new Map();
|
|
83
|
+
// Guard against undefined/null input
|
|
84
|
+
if (!obj || typeof obj !== 'object') {
|
|
85
|
+
return content;
|
|
86
|
+
}
|
|
82
87
|
const textFields = [
|
|
83
88
|
'command', 'script', 'code', 'content', 'body', 'text',
|
|
84
89
|
'message', 'response', 'output', 'result', 'data',
|
|
@@ -167,35 +172,70 @@ export class SecretsDetectorImpl {
|
|
|
167
172
|
apiKeyDetector;
|
|
168
173
|
tokenDetector;
|
|
169
174
|
piiDetector;
|
|
170
|
-
|
|
175
|
+
logger;
|
|
176
|
+
constructor(config, logger) {
|
|
171
177
|
this.config = config;
|
|
172
|
-
this.
|
|
173
|
-
this.
|
|
174
|
-
this.
|
|
178
|
+
this.logger = logger ?? createLogger(null, null);
|
|
179
|
+
this.apiKeyDetector = createApiKeyDetector(config.severity, config.patterns, this.logger);
|
|
180
|
+
this.tokenDetector = createTokenDetector(config.severity, this.logger);
|
|
181
|
+
this.piiDetector = createPiiDetector(config.severity, false, this.logger); // Don't include email by default
|
|
175
182
|
}
|
|
176
183
|
async detect(context) {
|
|
184
|
+
this.logger.debug(`[SecretsDetector] Starting detection: tool=${context.toolName}`);
|
|
177
185
|
// Check if detector is enabled
|
|
178
186
|
if (!this.config.enabled) {
|
|
187
|
+
this.logger.debug(`[SecretsDetector] Detector disabled`);
|
|
179
188
|
return noDetection(this.config.severity);
|
|
180
189
|
}
|
|
181
190
|
const allResults = [];
|
|
182
191
|
// Extract text content from tool input
|
|
183
192
|
const inputContent = extractTextContent(context.toolInput);
|
|
193
|
+
this.logger.debug(`[SecretsDetector] Scanning ${inputContent.size} text fields in tool input`);
|
|
184
194
|
for (const [location, text] of inputContent) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
195
|
+
this.logger.debug(`[SecretsDetector] Running API key detector on ${location}`);
|
|
196
|
+
const apiKeyResults = this.apiKeyDetector.scan(text, `input.${location}`);
|
|
197
|
+
if (apiKeyResults.length > 0) {
|
|
198
|
+
this.logger.info(`[SecretsDetector] API key detection: count=${apiKeyResults.length}, location=${location}`);
|
|
199
|
+
}
|
|
200
|
+
allResults.push(...apiKeyResults);
|
|
201
|
+
this.logger.debug(`[SecretsDetector] Running token detector on ${location}`);
|
|
202
|
+
const tokenResults = this.tokenDetector.scan(text, `input.${location}`);
|
|
203
|
+
if (tokenResults.length > 0) {
|
|
204
|
+
this.logger.info(`[SecretsDetector] Token detection: count=${tokenResults.length}, location=${location}`);
|
|
205
|
+
}
|
|
206
|
+
allResults.push(...tokenResults);
|
|
207
|
+
this.logger.debug(`[SecretsDetector] Running PII detector on ${location}`);
|
|
208
|
+
const piiResults = this.piiDetector.scan(text, `input.${location}`);
|
|
209
|
+
if (piiResults.length > 0) {
|
|
210
|
+
this.logger.info(`[SecretsDetector] PII detection: count=${piiResults.length}, location=${location}`);
|
|
211
|
+
}
|
|
212
|
+
allResults.push(...piiResults);
|
|
213
|
+
this.logger.debug(`[SecretsDetector] Running credential scanner on ${location}`);
|
|
214
|
+
const credResults = scanCredentials(text, `input.${location}`, this.config.severity);
|
|
215
|
+
if (credResults.length > 0) {
|
|
216
|
+
this.logger.info(`[SecretsDetector] Credential detection: count=${credResults.length}, location=${location}`);
|
|
217
|
+
}
|
|
218
|
+
allResults.push(...credResults);
|
|
189
219
|
}
|
|
190
220
|
// Also scan tool output if provided
|
|
191
221
|
if (context.toolOutput) {
|
|
222
|
+
this.logger.debug(`[SecretsDetector] Scanning tool output`);
|
|
192
223
|
allResults.push(...this.apiKeyDetector.scan(context.toolOutput, 'output'));
|
|
193
224
|
allResults.push(...this.tokenDetector.scan(context.toolOutput, 'output'));
|
|
194
225
|
allResults.push(...this.piiDetector.scan(context.toolOutput, 'output'));
|
|
195
226
|
allResults.push(...scanCredentials(context.toolOutput, 'output', this.config.severity));
|
|
196
227
|
}
|
|
228
|
+
const detections = allResults.filter((r) => r.detected);
|
|
229
|
+
if (detections.length === 0) {
|
|
230
|
+
this.logger.debug(`[SecretsDetector] No secrets detected`);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
this.logger.debug(`[SecretsDetector] Combining ${detections.length} secret detections`);
|
|
234
|
+
}
|
|
197
235
|
// Combine and return results
|
|
198
|
-
|
|
236
|
+
const combined = combineResults(allResults, this.config.severity);
|
|
237
|
+
this.logger.debug(`[SecretsDetector] Detection complete: detected=${combined.detected}, confidence=${combined.confidence}`);
|
|
238
|
+
return combined;
|
|
199
239
|
}
|
|
200
240
|
/**
|
|
201
241
|
* Get all individual detection results (for detailed reporting)
|
|
@@ -238,13 +278,14 @@ export class SecretsDetectorImpl {
|
|
|
238
278
|
/**
|
|
239
279
|
* Create a secrets detector from SecretsRule configuration
|
|
240
280
|
*/
|
|
241
|
-
export function createSecretsDetector(rule) {
|
|
281
|
+
export function createSecretsDetector(rule, logger) {
|
|
242
282
|
const config = {
|
|
243
283
|
enabled: rule.enabled,
|
|
244
284
|
severity: rule.severity,
|
|
245
285
|
action: rule.action,
|
|
286
|
+
patterns: rule.patterns,
|
|
246
287
|
};
|
|
247
|
-
return new SecretsDetectorImpl(config);
|
|
288
|
+
return new SecretsDetectorImpl(config, logger);
|
|
248
289
|
}
|
|
249
290
|
/**
|
|
250
291
|
* Create a secrets detector with default configuration
|