T09 · Insecure Skill Coding Practices
- Location
src/agentsafe/payment/x402_adapter.py- Finding
Concurrent requests can reuse one payment authorization, and failed settlement does not revoke access
- Content
View full analysis
Impact
Overlapping accepted requests can start multiple billable workers against one transfer authorization. Subsequent settlement rejection does not undo those jobs or their paid flags. The REST failure path additionally returns the task ID with HTTP 202, allowing report polling despite unsuccessful settlement.
