Replies: 2 comments 4 replies
|
Thanks, I see the same pattern on my sensors: most sessions stop right after the canary prompt fails, so passing the check should get us much more interesting follow-up traffic. Let's do this. Two rules for the implementation:
Each event logs which rule matched (promptpot.matched_rule), so Kibana can show which canaries were passed and what the attacker did next. I'll also ship a small default ruleset (pong / OK / simple arithmetic) so it works without any config. Do you want to send a PR? If not, I'll implement it next week. |
|
Shipped in #23, thanks @Taka-cst. It's on main and in ghcr.io/ta-061/promptpot:latest now. The default ruleset in config.example.json covers the canaries we discussed, and matched_rule is in every event, so you can watch which canaries get passed and add rules when a new campaign shows up. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Ideas
Currently,
completion_text(profile)only returns a fixed string configured viaPROMPTPOT_RESPONSE_TEXT, completely ignoring the actual prompt content.Looking at the promptpot.messages keyword aggregation in Kibana, canary-style liveness-check prompts like "say pong" and "Reply with OK" show up near the top. These are almost certainly used by scanners to verify that an endpoint is actually running a live LLM before proceeding further. If the expected response isn't returned, the scanner likely bails out right there instead of continuing to more interesting probing (jailbreak attempts, tool/agent discovery, sensitive-data exfiltration attempts, etc.).
Implementing keyword-based response matching would:
All reactions