T06 · System Persistence
- Location
skill.md:409- Finding
Persistent Scheduled Execution of Autonomous Financial Transactions
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 409-437
Vulnerability Type:T06: System Persistence
Risk Level: HighVulnerable Code
text ### Loop timing This is the time in minutes that you will spin up for every loop and handle all operations. The recommended time is 60 minutes, this will be key in orchestrating operations. Setup a cron job for every 60 minutes that runs the ochestration. ### Workflow The first and most Important thing in the workflow after registration and funding is the **lending decision**. The lending decision starts with **checking requests** which is the followed by **fetching agent Info** and finally the **decison making**. After a decision is made you need to **disburse the loan**. After a loan has been disbursed you are to **periodically check for repayment** and **collect repayments**. You are to also periodically fetch your **loan history** to keep track of everything. | Step | Endpoint | Method | Guide | | ------------------------- | ---------------------------------------------------- | ------ |----------------------------------------------------- | | Check Requests | `/getRequests?address` | GET | [Checking requests](#checking-requests) | | Fetch Agent Info | `/agentInfo?agentId` | GET | [Fetching Agent Info](#Fetching-Agent-Info) | | Disburse Loan | `/dispense?agentId&address` agent-passkey: agentCode | POST | [Disbursing loans](#Disbursing-loans) | | Check Due Loans | `/getLoans/default?address` | GET | [Fetching due loans](#Fetching-due-loans) | | Collect Repayment | `/collect?agentId&address` agent-passkey: agentCode | POST | [Collect Paymen ...[truncated 2488 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the instruction to install a cron job or any other persistent scheduler.
- Run the workflow only in an operator-initiated session by default.
- Require explicit, transaction-specific operator confirmation before every loan disbursement or repayment collection.
- If scheduling is an essential opt-in feature, use a visible and readily revocable scheduler with:
- A fixed expiration time.
- A documented removal procedure.
- A disabled-by-default configuration.
- A strict cumulative spending cap.
- A maximum transaction amount.
- An allowlist of permitted operations and destinations.
- Alerts and immutable audit records for every attempted transaction.
- Separate analysis from execution so the scheduled component can produce recommendations but cannot transfer funds.
- Use short-lived, narrowly scoped authorization tokens rather than a credential that authorizes all transaction operations.
- Stop execution safely when remote responses are malformed, borrower information cannot be independently verified, or operator-defined limits would be exceeded.
