$ the-wire · showcase
Credential leaks patched across promptfoo and PyRIT
By RepoJournal · Filed · About AI Red Teaming · Composed from the cited sources · methodology
Both AI red teaming toolkits shipped credential-handling fixes today, and promptfoo's response-cache corrections matter more to operators than the new Nova model support riding alongside them.
fix(security): redact Azure Storage connection strings in logs and exports (#12130) promptfoo/promptfoo
Azure Storage connection strings no longer appear in logs or exports, which matters for anyone who has been shipping promptfoo output into a ticket, a report, or a CI artifact. If your eval logs have been archived or attached anywhere, treat those stored connection strings as exposed and rotate them.
fix(azure): isolate explicitly configured Foundry service principals promptfoo/promptfoo
Azure Foundry providers used to ignore a service principal configured on the provider, and two instances targeting the same project shared response-cache entries, so a cache hit could occur before the SDK authenticated the caller. Explicit client-secret configurations now skip shared cache reads and writes entirely, and an incomplete secret or incompatible host credential selector is rejected b...
fix(providers): isolate credentialed Bedrock response caches promptfoo/promptfoo
Bedrock Agents and Knowledge Bases could reuse a cached response from a differently credentialed client; providers now bypass the shared cache whenever they see explicit IAM credentials, a profile, or a bearer key, and the cache checks the credentials actually selected during asynchronous construction. If you run per-tenant or per-account Bedrock evals against one promptfoo instance, this close...
fix(providers): support Nova 2.5 Sonic and final transcripts promptfoo/promptfoo
Nova 2.5 Sonic now routes through Bedrock bidirectional streaming with its model ID, shorthand, and supported regions, while existing Sonic aliases still resolve. Transcripts are graded on finalized speech only, speculative and interruption content is excluded, and audio chunks are decoded before joining so base64 padding no longer truncates the WAV.
FIX: Only accept Azure region names for the Speech converters microsoft/PyRIT
PyRIT's Speech converters now accept only Azure region names, so a converter config holding an endpoint-like value or a non-region string needs correcting. Promptfoo's Nova parameter cleanup also normalizes generation options to maxTokens, topP, and topK, with canonical configuration taking precedence over legacy aliases; PyRIT separately stops leaving a temporary WAV behind when audio conversi...
Action items
- → Rotate any Azure Storage connection strings that appeared in promptfoo logs or exports before this fix promptfoo/promptfoo [immediate]
- → Check PyRIT Speech converter configs for non-region values and replace them with Azure region names microsoft/PyRIT [plan]