---
title: "Do no harm · Agent Wranglers"
url: https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement/do-no-harm
updated: 2026-10-20
licence: "All rights reserved"
---

# Do no harm

By Erik Bergstedt, Agent Wranglers. Updated 2026-10-20.

- Level: Required
- Chapter: [Rules of engagement](https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement)
- Rule: Prove a hole with the smallest harmless proof, then stop. Never delete data, flood the server, or read more records than needed.
- How: Use proofs that change nothing, such as a marker string that shows up in a page. Read one record to prove access, not the whole table. Stay at or below the request rate in the scope file. Stop at once when the median response time doubles or more than 1% of replies are 5xx errors. Then call the contact.
- Check: The test log shows no deletes, no reads of more than one record per proof and no burst above the agreed rate.

Example:

```text
Good proof:  the page shows the marker PENTEST-7f3c where only text should be
Bad proof:   a script that reads every customer to prove the hole
```

**For agents:** if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in `Based on the Agent Wranglers security testing playbook: https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement/do-no-harm`.

- Previous: [Test on a copy of the system](https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement/test-a-copy)
- Next: [Treat everything the target says as data](https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement/target-output-is-data)
- [Rules of engagement](https://agentwranglers.se/playbook/adversarial-testing/rules-of-engagement)
