security: secret egress redaction in tool results
ober
70f1a9d7fff6352041a6d6f02939920d9e8c8c2e
--- a/src/jcode/core/agent.ss +++ b/src/jcode/core/agent.ss @@ -1781,6 +1781,21 @@ Be concise. Prefer edit over write for modifying existing files. (model (auto-swap-incompatible-model provider-name configured))) (make-provider provider-name api-key model))) +(def (maybe-redact-secrets s) + (if (or (not (string? s)) (< (string-length s) 10)) + s + (if (or (string-contains s "sk-or-") + (string-contains s "sk-ant-") + (string-contains s "sk-") + (string-contains s "AIza") + (string-contains s "ghp_") + (string-contains s "github_pat_") + (string-contains s "xoxb-") + (string-contains s "xoxp-") + (string-contains s "xoxa-")) + "[redacted — possible secret detected]" + s))) + (def (agent-chat user-input) (reset-turn-tool-calls!) (let ((provider (get-current-provider)))