T09 · Insecure Skill Coding Practices
- Location
SKILL.md:37- Finding
API Credentials and Financial Data May Be Transmitted over Plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a real Sure finance API helper, but it has review-worthy risks around sending API keys over HTTP and optional Docker setup from mutable remote files.
Install only if you trust the Sure server and understand the skill can read and change financial records. Use an https:// SURE_BASE_URL except for explicit localhost development, require confirmation before imports or transaction changes, and treat the self-hosting Docker guide as privileged setup that should use pinned, verified files before running compose.
SKILL.md:37API Credentials and Financial Data May Be Transmitted over Plaintext HTTP
docs/self-hosting-quickstart.md:12Mutable Remote Compose Definitions Are Downloaded and Executed
This playbook performs CSV import into an account, which is a bulk data creation operation, yet it omits an explicit warning about the scope and permanence of the import. In financial systems, bulk imports are especially risky because a bad mapping, malformed dates, or wrong target account can create many incorrect records at once, causing widespread data integrity issues that are harder to unwind than a single edit.
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
Do not request optional credentials in standard workflows.
Use optional credentials only when the user explicitly opts into self-hosting or external-assistant checks.
## Output Rules
- Prefer concise outputs for automation scenarios.
- Avoid exposing secrets in logs, traces, and examples.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
curl -o .env https://raw.githubusercontent.com/we-promise/sure/main/.env.example
Recommended values:
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Validation check:
curl --silent --show-error --fail \
--request GET \
--url "$SURE_BASE_URL/api/v1/accounts?page=1&per_page=1" \
--header "X-Api-Key: $SURE_API_KEY"
This playbook instructs the agent to patch a transaction's category, which changes persisted financial data, but it does not require an explicit user-facing warning or confirmation before the write occurs. In a finance skill, silent modification of transaction metadata can misclassify spending, affect downstream budgets or reports, and cause unintended account record changes if the request is ambiguous or mistaken.
This playbook creates a new transaction and may subsequently modify its tags, but it does not state that new records will be created or that persistent metadata will be changed. In a personal finance context, unnoticed creation of transactions can corrupt ledgers, duplicate expenses, and skew balances, reports, and automations tied to tags or categorization.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
mkdir -p ~/docker-apps/sure
cd ~/docker-apps/sure
curl -o compose.yml https://raw.githubusercontent.com/we-promise/sure/main/compose.example.yml
# Review compose.yml before proceeding
docker compose up -d
No suspicious patterns detected.