feat: 完善 AI Studio Key 自动化流程
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
const assert = require('assert');
|
||||
const { redactText } = require('../src/utils/diagnostics');
|
||||
|
||||
const secret = 'DoNotLeak123456';
|
||||
const input = `https://example.test/path?username=user@example.com&password=${secret}&confirmation_password=${secret}&pli=1`;
|
||||
const redacted = redactText(input);
|
||||
|
||||
assert(!redacted.includes(secret), '诊断脱敏后不得保留密码值');
|
||||
assert(redacted.includes('password=***'));
|
||||
assert(redacted.includes('confirmation_password=***'));
|
||||
|
||||
const googleApiKey = `AIza${'A'.repeat(35)}`;
|
||||
const geminiApiKey = `AQ.${'B'.repeat(30)}`;
|
||||
const keyRedacted = redactText(`https://example.test?key=${googleApiKey}&gemini=${geminiApiKey}`);
|
||||
assert(!keyRedacted.includes(googleApiKey), 'Google API Key 不得进入诊断日志');
|
||||
assert(!keyRedacted.includes(geminiApiKey), 'Gemini API Key 不得进入诊断日志');
|
||||
assert(keyRedacted.includes('key=AIza***'));
|
||||
assert(keyRedacted.includes('gemini=AQ.***'));
|
||||
|
||||
console.log('diagnostics_sensitive_url_redaction.test.js: PASS');
|
||||
Reference in New Issue
Block a user