BUG: CredentialLeakScorer misses OpenAI, Anthropic, and Hugging Face API keys
维护者通常 2 天内回复
评估
调研方向
Start with CredentialLeakScorer and the score_text_async reproduction in the issue. Check the existing credential patterns and how matches determine the score and rationale; verify the listed OpenAI, Anthropic, and Hugging Face key formats are covered. Done when the reproduction scores True and identifies the OpenAI API key; note that a linked pull request is already open.
由索引模型根据 Issue 内容生成。
描述
Describe the bug
CredentialLeakScorer detects credential-shaped secrets in model responses (mapping to OWASP LLM06: Sensitive Information Disclosure). While it currently includes patterns for various third-party services (AWS, GitHub, Google, Slack, Shopify, Picatic, etc.), it lacks patterns for major AI platform credentials:
- OpenAI API keys (modern project keys
sk-proj-..., service account keyssk-svcacct-..., admin keyssk-admin-..., and legacysk-...) - Anthropic API keys (standard
sk-ant-api03-..., adminsk-ant-admin01-..., and OAuth tokens) - Hugging Face tokens (user access tokens and fine-grained tokens
hf_...)
In generative AI red teaming evaluations, extracting or coaxing an agent into leaking its own model credentials or downstream LLM access keys is a primary objective. Currently, responses leaking these keys score as False (false negatives).
Steps/Code to Reproduce
import asyncio
from pyrit.score import CredentialLeakScorer
async def main():
scorer = CredentialLeakScorer()
text = "Leaked key: sk-proj-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
score = (await scorer.score_text_async(text))[0]
print("Detected:", score.get_value())
asyncio.run(main())
Expected Results
score.get_value() should be True and score.score_rationale should identify OpenAI API Key.
Actual Results
score.get_value() returns False because no pattern matches modern OpenAI project keys.
- 主要语言
- Python
- 星标
- 4.6k
- 派生
- 962
- 平均合并
- 2 天 16 小时
- 30 天内合并 PR
- 367
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/PyRIT 的其他 Issue
-
BUG: label queries only return the final conversation of an attack可能已有人在做 @u7k4rs6 于 4 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 85/100
microsoft/PyRIT#3095 · 4 条评论 · 已指派 1 人 ·
维护者通常 2 天内回复
-
难度 3/5 1-2 天 新手友好度 72/100
microsoft/PyRIT#3325 · 1 条评论 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 53/100
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 46/100
维护者通常 2 天内回复
-
BUG: Tone, Tense, Translation, Noise, ScientificTranslation and Variation converter identifiers ignore a custom prompt_template可能已有人在做 @ShivamSharma43 今天认领。 未关闭
难度 3/5 1-2 天 新手友好度 20/100
维护者通常 2 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
SwiftKickMobile/skai#84 ·
-
难度 1/5 1 小时以内 新手友好度 82/100
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
jxxghp/MoviePilot#7070 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
flop-labs/technocore-chat#997 ·
维护者通常 1 天内回复
-
tunneld on Windows: Wi-Fi devices are not discovered because uvicorn runs on a ProactorEventLoop未关闭
难度 2/5 1-3 小时 新手友好度 76/100
doronz88/pymobiledevice3#2051 ·
维护者通常 1 天内回复