romovpa/claudini

GitHub: romovpa/claudini

一个利用Claude Code实现LLM白盒对抗攻击自动搜索与评估的研究框架。

Stars: 234 | Forks: 25

# ⛓️‍💥 Claudini ⛓️‍💥 **Autoresearch 发现最先进的 LLM 对抗攻击算法** [![arXiv](https://img.shields.io/badge/arXiv-2603.24511-b31b1b.svg?logo=arxiv)](https://arxiv.org/abs/2603.24511)

Pareto front with evolution annotations

我们展示了由 Claude Code 驱动的 *[autoresearch](https://github.com/karpathy/autoresearch)* 风格 pipeline,它能够发现全新的白盒对抗攻击*算法*,这些算法在越狱和 prompt 注入评估中**显著优于**所有现有的[方法](claudini/methods/original/)。 这个官方代码仓库包含了一个 autoresearch pipeline 的 demo、论文中由 Claude 发现的方法、baseline 实现以及评估 benchmark。如果您觉得本项目有用,请阅读我们的[论文](https://arxiv.org/abs/2603.24511)并考虑[引用我们](#citation)。 ## 环境配置 ``` git clone https://github.com/romovpa/claudini.git cd claudini uv sync ``` 需要 Python 3.12+ 和 [uv](https://docs.astral.sh/uv/)。 ## 发现你自己的 SOTA 攻击

Autoresearch loop: seeding, analysis-experiment cycle, evaluation

要运行 autoresearch,请打开 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 并在一个循环中启动 `/claudini` 技能: ``` claude > /loop /claudini my_run break Qwen2.5-7B on random strings under 1e15 FLOPs ``` 在每次迭代中,Claude 会研究现有的方法和结果,设计一个新的 optimizer,对其进行 benchmark 测试并提交代码——从而在多次迭代中维护一份 agent 日志。运行的代码(上面的 `my_run`)会隔离方法链、git 分支和日志。 详情请查看完整的[技能 prompt](.claude/skills/claudini/SKILL.md)。 建议使用 `tmux` 或 `screen`,以便在断开连接时会话仍然能保留。可以通过 `git log` 跟踪进度。 ## 评估 所有实验均通过 `claudini.run_bench` CLI 运行: ``` uv run -m claudini.run_bench --help ``` 它接受一个预设名称(来自 [`configs/`](configs/))或一个 YAML 文件的路径。 可以使用 CLI 选项覆盖配置设置。例如,要在随机目标赛道上评估方法,可以覆盖 FLOPs 预算: ``` uv run -m claudini.run_bench random_valid --method gcg,acg --max-flops 1e15 ``` 结果将保存到 `results////sample__seed_.json`。已有的结果会被自动跳过。 论文中的预计算结果可作为 [GitHub release](https://github.com/romovpa/claudini/releases) 下载。请下载 `claudini-results.zip` 并将其解压到仓库根目录。 ## 攻击方法 我们研究了 GCG 风格的白盒攻击,这些攻击利用梯度直接在模型的词汇表上进行搜索。每种方法([`TokenOptimizer`](claudini/base.py#L429))都会优化一个简短的离散 token *后缀*,当该后缀被附加到输入 prompt 时,会引导模型生成所需的目标序列。 所有实现均位于 [`claudini/methods/`](claudini/methods/) 下: - **Baseline**(现有方法):[`original/`](claudini/methods/original/) - **Autoresearch 发现的方法**: - 泛化攻击(随机目标):[`claude/`](claudini/methods/claude/)、[`kimi/`](claudini/methods/kimi/)、[`codex/`](claudini/methods/codex/)、[`glm/`](claudini/methods/glm/) - 随机目标,但仅以 GCG 作为起点:[`claude_gcgonly/`](claudini/methods/claude_gcgonly/)、[`codex_gcgonly/`](claudini/methods/codex_gcgonly/) - 针对防护模型(GPT-OSS-Safeguard)的攻击:[`claude_oss/`](claudini/methods/claude_oss/)、[`claude_oss2/`](claudini/methods/claude_oss2/) - **论文中所介绍方法的干净且独立的版本**:[`unrolled/`](claudini/methods/unrolled/) 完整表格请查看[方法索引](claudini/methods/),或者查阅 [`CLAUDE.md`](CLAUDE.md) 了解如何实现新方法。 **排行榜。** 运行 `uv run -m claudini.leaderboard results/` 可生成按平均 loss 对所有方法进行排名的各赛道、各模型排行榜。结果将保存到 `results/loss_leaderboard//.json`。 ## 引用 ``` @article{panfilov2026claudini, title = {Claudini: Autoresearch Discovers State-of-the-Art Adversarial Attack Algorithms for LLMs}, author = {Alexander Panfilov and Peter Romov and Igor Shilov and Yves-Alexandre de Montjoye and Jonas Geiping and Maksym Andriushchenko}, journal = {arXiv preprint}, eprint = {2603.24511}, archivePrefix = {arXiv}, year = {2026}, url = {https://arxiv.org/abs/2603.24511}, } ```
标签:AI安全, Chat Copilot, Claude Code, DLL 劫持, 大语言模型, 对抗攻击, 敏感信息检测, 自动化研究, 越狱测试