T09 · Insecure Skill Coding Practices
- Location
skill.md:24- Finding
Exposure of Meta API credentials through URL query parameters
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Meta Ads skill is coherent documentation for managing ads, but it encourages broad, long-lived Meta ad-management access and destructive operations without enough safeguards.
Review this skill carefully before installing. Use it only with a narrowly scoped Meta credential, avoid query-string tokens, keep tokens in a secret manager, separate read-only from management use, and require explicit human approval before activating, budget-changing, or deleting ad assets.
skill.md:24Exposure of Meta API credentials through URL query parameters
skill.md:586Recommendation of non-expiring administrative credentials violates least privilege
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Environment Variables
- `META_ACCESS_TOKEN` - Meta access token (User Access Token or System User Token)
- `META_AD_ACCOUNT_ID` - Your ad account ID (numeric, without `act_` prefix)
### Required Permissions
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Environment Variables
- `META_ACCESS_TOKEN` - Meta access token (User Access Token or System User Token)
- `META_AD_ACCOUNT_ID` - Your ad account ID (numeric, without `act_` prefix)
### Required Permissions
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Environment Variables
- `META_ACCESS_TOKEN` - Meta access token (User Access Token or System User Token)
- `META_AD_ACCOUNT_ID` - Your ad account ID (numeric, without `act_` prefix)
### Required Permissions
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### Environment Variables
- `META_ACCESS_TOKEN` - Meta access token (User Access Token or System User Token)
- `META_AD_ACCOUNT_ID` - Your ad account ID (numeric, without `act_` prefix)
### Required Permissions
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## Token Management
### Extending User Access Tokens
Short-lived user tokens (~2 hours) can be exchanged for long-lived tokens (60-90 days):
The skill instructs users to supply a Meta access token, including potentially non-expiring system user tokens, but provides no warning about secure storage, leakage risks, or least-privilege handling. Long-lived ad-management credentials can enable unauthorized reads, writes, and deletions if exposed.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl "https://graph.facebook.com/v25.0/act_$META_AD_ACCOUNT_ID?fields=name,account_status,currency,timezone_name,amount_spent" \
-H "Authorization: Bearer $META_ACCESS_TOKEN"
The skill documents a destructive campaign deletion operation without any warning, confirmation guidance, or mention of irreversible business impact. In an agent context, this increases the chance that a user or automated workflow could delete live advertising assets unintentionally, causing service disruption and financial loss.
The ad set delete example enables destructive modification of production advertising configuration without safety guidance. Because ad sets control targeting and budgets, accidental or automated deletion can interrupt campaigns and create operational and financial consequences.
The skill presents ad deletion as a normal operation without warning about destructive effects on active delivery, auditability, and campaign continuity. In a tool used by agents, omission of safeguards can make unintended destructive actions more likely.
No suspicious patterns detected.