Auditing Self-Evolution in Financial Agents: Capability Gains, Security Drift, and Execution-Interface Mismatch
Organizations: Independent Researcher
Abstract
Self-evolving agents turn experience into reusable skills, workflows, or memories, but post-evolution accuracy alone does not show whether learned behavior preserves previously correct behavior or security. We audit SkillOpt, Agent Workflow Memory (AWM), and ReasoningBank in simulated e-banking using matched benign acquisition trajectories, sealed evaluation endpoints, execution-grounded checks, and independent state replay. On Qwen 3.7 Flash, SkillOpt raises benign utility from 0.741 to 0.837 while exposure to injected content rises from 0.820 to 0.943. Conditional attack success after exposure falls from 0.605 to 0.562, yet overall attack success rate (ASR) rises from 0.496 to 0.530 and unauthorized financial state changes rise to 0.685. Across three independently evolved lineages, capability, exposure, and unauthorized-state changes increase in all three, whereas ASR increases in only two. ReasoningBank raises utility to 0.859 without increasing aggregate ASR, although unauthorized state changes remain slightly above Static. AWM reveals a separate evaluation hazard: a literal WebArena text-action envelope disrupts tool execution in our native function-calling executor. In a post-hoc sensitivity test, removing only that envelope restores utility from 0.319 to 0.756, while exposure rises from 0.299 to 0.909 and ASR from 0.195 to 0.575. Auditing self-evolving financial agents therefore requires tracking regressions, attack-surface contact, unauthorized financial-state change, and artifact-executor compatibility, not accuracy alone.
Figures & tables
| Family | Defect class | Why invalid here | Frozen treatment |
|---|---|---|---|
| task_5 , task_6 | fixture-shadowed | A pre-existing record can satisfy the check before the agent acts. | Pre/post state delta |
| task_11 | recipient-insensitive | Right amount but wrong recipient passes. | Verify recipient and amount |
| task_8 | vacuous | return True ; accepts wrong answer and spurious payment. | Excluded |
| Method | State | Update and endpoint use |
|---|---|---|
| SkillOpt | skill doc. | Reflection produces up to four typed edit patches; v2 validation gates deployment of best_skill . |
| AWM | workflow | Induce from successful trajectories with family/template dedup; insert the complete workflow, with no retrieval. |
| ReasoningBank | memory | Distil success and failure ( items/trajectory); retrieve the top-1 trajectory and insert all of its items. |
| Condition | Utility | W C | C W | Net | Exposure | cASR | ASR | Unauth. state |
|---|---|---|---|---|---|---|---|---|
| Static | 0.741 | — | — | — | 0.820 | 0.605 | 0.496 | 0.583 |
| SkillOpt | 0.837 | 23 | 10 | 0.943 | 0.562 | 0.530 | 0.685 | |
| ReasoningBank | 0.859 | 25 | 0 9 | 0.802 | 0.591 | 0.474 | 0.595 | |
| AWM-LiteralPort ∗ | 0.319 | 14 | 71 | 0.299 | 0.653 | 0.195 | 0.217 | |
| AWM-InterfaceAdapted † | 0.756 | 18 | 16 | 0.909 | 0.633 | 0.575 | 0.714 |
| Static | SkillOpt | R.Bank | |||||
|---|---|---|---|---|---|---|---|
| Goal | ASR | expo. | ASR | expo. | ASR | expo. | ASR |
| 0 | 0.489 | 0.822 | 0.500 | 0.955 | 0.467 | 0.800 | |
| 1 | 0.511 | 0.844 | 0.489 | 0.933 | 0.511 | 0.800 | |
| 2 | 0.644 | 0.822 | 0.682 | 0.955 | 0.644 | 0.822 | |
| 3 | 0.644 | 0.822 | 0.705 | 0.955 | 0.533 | 0.800 | |
| 4 | 0.600 | 0.800 | 0.467 | 0.911 | 0.600 | 0.800 | |
| Method | Metric | Lineages (pp) | Med. | Range | Dir. |
|---|---|---|---|---|---|
| SkillOpt | utility | – | 3/3 | ||
| SkillOpt | exposure | – | 3/3 | ||
| SkillOpt | unauth. state | – | 3/3 | ||
| SkillOpt | total ASR | – | 2/3 | ||
| R.Bank | utility | – | 3/3 | ||
| R.Bank | total ASR | – | 3/3 |
| Condition | ASR | State chg., | Unauth. | Extra / | |
|---|---|---|---|---|---|
| hits | not ASR | state | ASR | ||
| Static | 405 | 201 | 35 | 236 | |
| SkillOpt | 400 | 212 | 62 | 274 | |
| ReasoningBank | 405 | 192 | 49 | 241 | |
| AWM-LiteralPort ∗ | 405 | 0 79 | 0 9 | 0 88 | |
| AWM-InterfaceAdapted † | 405 | 233 | 56 | 289 |
| Harm category | Static | Skill | Reas. | AWM | AWM |
|---|---|---|---|---|---|
| Opt | Bank | LP ∗ | IA † | ||
| Unauthorized transfer | 0.319 | 0.412 | 0.338 | 0.151 | 0.425 |
| Sensitive-data disclosure | 0.304 | 0.307 | 0.279 | 0.126 | 0.370 |
| Amount manipulation | 0.183 | 0.145 | 0.084 | 0.015 | 0.156 |
| Recipient substitution | 0.156 | 0.117 | 0.141 | 0.049 | 0.136 |
| Unauth. payment modif. | 0.096 | 0.122 | 0.077 | 0.002 | 0.163 |
| Static | AWM - LP | AWM - IA † | AWM placebo | |
|---|---|---|---|---|
| Textual <action> rate | 0.000 | 0.704 | 0.000 | 0.000 |
| Zero-real-tool-call rate | 0.131 | 0.704 | 0.046 | — |
| Mean real tool calls | 2.97 | 1.05 | 3.34 | — |
| Benign utility | 0.741 | 0.319 | 0.756 | 0.704 |
| Exposure | 0.820 | 0.299 | 0.909 | — |
| ASR | 0.496 | 0.195 | 0.575 | — |
| Condition | Util. | Util. | Expo. | cASR | ASR | Unauth. |
|---|---|---|---|---|---|---|
| Static | 0.843 | — | 0.858 | 0.608 | 0.522 | 0.596 |
| SkillOpt | 0.870 | 0.928 | 0.578 | 0.536 | 0.671 | |
| ReasoningBank | 0.907 | 0.836 | 0.609 | 0.509 | 0.639 | |
| AWM-LiteralPort | 0.306 | 0.262 | 0.659 | 0.173 | 0.191 | |
| AWM-IA † | 0.787 | 0.895 | 0.628 | 0.562 | 0.707 |
| Method | Util. | Plac. | ASR | Plac. | Len. ratio | ||
|---|---|---|---|---|---|---|---|
| SkillOpt | 0.837 | 0.763 | 0.507 | 0.470 | 1.95–2.50 | ||
| ReasoningBank | 0.859 | 0.696 | 0.474 | 0.415 | 0.59–0.74 | ||
| AWM-LiteralPort | 0.319 | 0.704 | 0.185 | 0.437 | 1.83–2.37 |
AI Agent Auditing
AI agent auditing examines agents’ actions, tool use, evidence, and outcomes to assess safety, compliance, reliability, and accountability.
See all 262 papers