You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Injection and tool-use benchmark on local models #179
No published evaluation shows how CaMeL-style or spotlighting defenses do on 7 to 8B models. Sentient should know before it advertises SAFE-2 and SAFE-12, and it can fill that gap publicly.
Idea: A local harness modelled on AgentDojo and ClawBench that runs injection attempts and multi-step tool chains on qwen3:8b before each release and measures the effect of SAFE-12 and SAFE-2. It is a manual or scheduled job, never part of the no-network CI.
Status in Sentient today: New. docs/VERIFICATION.md records manual real-model checks.
Where: A new bench/ or tests/bench/ folder excluded from the default pytest run, a script entry in sentient/cli.py, and results recorded in docs/VERIFICATION.md.
Done when:
one command runs the suite against a configured local model and prints attack success and task success rates
results for qwen3:8b with and without spotlighting are recorded
A bench/injection/ harness, outside testpaths so the default pytest run and CI skip it. It drives the real agent loop with fixture tools: a web page, an email and a file that carry injected instructions, plus sink tools (send an email, write a file, run code) that only record their calls. Nothing leaves the machine.
Cases are user tasks times injection payloads, as in AgentDojo, including a fake closing marker and a payload in another language.
Scoring is deterministic, with no model judge: task success (the reply has the expected fact), attack attempted (the model called a sink with the attacker's target) and attack executed (that call actually ran). With SAFE-2 in place, executed should stay at 0 and attempted shows what the model tried. SAFE-12 is compared by running with chat.mark_outside_content on and off.
sentient bench injection --model ollama_chat/qwen3:8b prints the rates, and the qwen3:8b results with and without spotlighting go in docs/VERIFICATION.md. One FakeProvider test in tests/ keeps the harness from breaking.
One question: should SAFE-2 get an off switch for the benchmark, or is attempted vs executed enough? I'd rather not add a way to turn the gate off.
Activity
Tanmay-Ts commentedon Nov 4, 2026
Hi @itsskofficial, I'd like to take this one.
Plan:
bench/injection/harness, outsidetestpathsso the default pytest run and CI skip it. It drives the real agent loop with fixture tools: a web page, an email and a file that carry injected instructions, plus sink tools (send an email, write a file, run code) that only record their calls. Nothing leaves the machine.chat.mark_outside_contenton and off.sentient bench injection --model ollama_chat/qwen3:8bprints the rates, and the qwen3:8b results with and without spotlighting go in docs/VERIFICATION.md. One FakeProvider test intests/keeps the harness from breaking.One question: should SAFE-2 get an off switch for the benchmark, or is attempted vs executed enough? I'd rather not add a way to turn the gate off.