T09 · Insecure Skill Coding Practices
- Location
index.ts:45- Finding
Retry Logic Can Duplicate Side-Effecting Operations
- Content
View full analysis
setTimeout(resolve, delay)); } } ``` ### Technical Analysis The wrapper caches a result only after `toolFn` returns and `validatorFn` accepts the response. The supplied `idempotencyKey` is not passed to the downstream tool, and the wrapper does not atomically reserve the key before execution. A side-effecting operation may therefore complete successfully but subsequently throw, time out, lose its response, or fail local result validation. In each case, the wrapper treats the attempt as failed and invokes the operation again. The in-memory result cache cannot prevent this because no cache entry exists until a validated response has been receive ...[truncated 1204 chars]- Remediation
View remediation
