MukundaKatta/jailbreak-corpus-mini-py

GitHub: MukundaKatta/jailbreak-corpus-mini-py

一个轻量级 Python 语料库,提供预设的 jailbreak 与 prompt 注入测试 fixture,帮助开发者快速验证 LLM 防护机制的有效性。

Stars: 0 | Forks: 0

# jailbreak-corpus-mini-py [![PyPI](https://img.shields.io/pypi/v/jailbreak-corpus-mini-py.svg)](https://pypi.org/project/jailbreak-corpus-mini-py/) [![Python](https://img.shields.io/pypi/pyversions/jailbreak-corpus-mini-py.svg)](https://pypi.org/project/jailbreak-corpus-mini-py/) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) **用于测试的小型本地 jailbreak 和 prompt 注入测试集。** 内置了一个 JSON 语料库,包含经典的攻击 prompt(指令覆盖、prompt 泄露、过度授权、编码欺骗、角色劫持),并附带了可供筛选的 category 和 severity 标签。零运行时依赖。 [@mukundakatta/jailbreak-corpus-mini](https://github.com/MukundaKatta/jailbreak-corpus-mini) 的 Python 移植版。 ## 安装 ``` pip install jailbreak-corpus-mini-py ``` ## 用法 ``` from jailbreak_corpus_mini import ( load_corpus, get_jailbreak_fixtures, fixture_texts, Fixture, ) # 完整 corpus(每个条目是一个 Fixture: {id, prompt, category, severity, text})。 corpus = load_corpus() len(corpus) # > 5 corpus[0].prompt # canonical attack string corpus[0].category # e.g. "prompt_injection" corpus[0].severity # "low" | "medium" | "high" # 筛选为单一 category(与 JS 同级项的 getJailbreakFixtures 匹配)。 get_jailbreak_fixtures(category="prompt_injection") # 仅原始字符串(便于挂载到 guardrail eval loop 中)。 texts = fixture_texts(severity="high") ``` ## 在 guardrail 测试中使用 ``` import pytest from jailbreak_corpus_mini import load_corpus def my_guardrail(prompt: str) -> bool: """Return True if prompt should be blocked.""" ... @pytest.mark.parametrize("fixture", load_corpus()) def test_guardrail_blocks_known_attacks(fixture): assert my_guardrail(fixture.prompt), ( f"missed {fixture.category}/{fixture.severity}: {fixture.prompt!r}" ) ``` ## API | 符号 | 行为 | |---|---| | `Fixture` | Dataclass:包含 `id`、`prompt`、`category`、`severity`,以及用于与 JS 版本保持一致的 `text` 别名。 | | `load_corpus()` | 返回完整的 `Fixture` 对象列表。 | | `get_jailbreak_fixtures(*, category=None, severity=None, risk=None)` | 过滤后的视图。`risk=` 是 JS 版本中 `category=` 的别名。 | | `fixture_texts(...)` | 应用相同的过滤器,仅返回包含 prompt 的 `list[str]`。 | 测试 fixture 语料库以 `corpus.json` 的形式打包在内部,并在导入时加载一次。你可以修改该文件(或调用 `load_corpus_from(path)`)来使用自定义语料库。 有关完整的设计说明,请参阅 JS 版本的 [README](https://github.com/MukundaKatta/jailbreak-corpus-mini)。
标签:DLL 劫持, Python, 人工智能, 大语言模型, 安全测试, 安全规则引擎, 攻击性安全, 无后门, 测试夹具, 用户模式Hook绕过, 逆向工具