summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
authorSeth Troisi <[email protected]>2025-07-24 16:05:13 -0700
committerGitHub <[email protected]>2025-07-24 23:05:13 +0000
commite9ee686ab6c5c99d895d80951336613f248f6560 (patch)
tree0845abd821f734e74dff15d80227e0c624d4fca7 /packages/core/src
parentf0400912fd3f6abd4d5ea08cb99d2dfdffec1dc0 (diff)
Sanitize checkpoint tags (#4813)
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/core/logger.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/core/src/core/logger.ts b/packages/core/src/core/logger.ts
index e857bd46..450a0d2f 100644
--- a/packages/core/src/core/logger.ts
+++ b/packages/core/src/core/logger.ts
@@ -238,6 +238,12 @@ export class Logger {
if (!this.geminiDir) {
throw new Error('Checkpoint file path not set.');
}
+ // Sanitize tag to prevent directory traversal attacks
+ tag = tag.replace(/[^a-zA-Z0-9-_]/g, '');
+ if (!tag) {
+ console.error('Sanitized tag is empty setting to "default".');
+ tag = 'default';
+ }
return path.join(this.geminiDir, `checkpoint-${tag}.json`);
}