T09 · Insecure Skill Coding Practices
- Location
EXAMPLES.md:678- Finding
Budget Reallocation Executes with Hard-Coded Approval
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent advertising automation, but it includes examples that can change ad budgets and creative assignments without a real approval step, so it should be reviewed before use with production accounts.
Review this skill carefully before connecting production advertising credentials. Use it first against the test agent or a sandbox, require explicit human confirmation for every campaign launch, budget change, pause/resume action, and creative reassignment, and do not reuse the shared test token for real accounts.
EXAMPLES.md:678Budget Reallocation Executes with Hard-Coded Approval
The documentation publishes what appears to be an actual bearer/auth token for a reachable test agent rather than a clearly fake placeholder. Even if intended for testing, exposed credentials can be abused for unauthorized access, quota consumption, service misuse, and they often get copied into downstream integrations or logs, expanding exposure.
A real authentication token is embedded in public-facing example code without any indication that it is revoked, limited, or only illustrative. In a skill focused on ad buying and campaign automation, such a credential could enable direct interaction with the agent and potentially trigger actions, consume budgeted resources, or expose connected account data depending on the agent's permissions.
The quick reference publishes a plaintext bearer token alongside a live test-agent endpoint, which can enable anyone reading the document to authenticate and perform network actions against that service. Even if intended for testing, exposed credentials are dangerous because they are easily reused, scraped, or relied on outside their original scope, and the skill’s advertising context increases risk since authenticated actions may create, modify, or inspect campaign-related resources.
A plaintext authentication token in documentation is a direct secret exposure vulnerability. If the token is valid or later reused, an attacker can leverage it for unauthorized access, and because this skill manages advertising operations, that access could affect campaign data, budgets, or other business-sensitive actions.
Referenced artifact was not completely inspected
See [REFERENCE.md](REFERENCE.md) for complete API docs and [EXAMPLES.md](EXAMPLES.md) for detailed workflows.
Referenced artifact was not completely inspected
See [REFERENCE.md](REFERENCE.md) for complete API docs and [EXAMPLES.md](EXAMPLES.md) for detailed workflows.
Referenced artifact was not completely inspected
See [REFERENCE.md](REFERENCE.md) for complete API docs and [EXAMPLES.md](EXAMPLES.md) for detailed workflows.
Referenced artifact was not completely inspected
See [REFERENCE.md](REFERENCE.md) for complete API docs and [EXAMPLES.md](EXAMPLES.md) for detailed workflows.
Referenced artifact was not completely inspected
See [REFERENCE.md](REFERENCE.md) for complete API docs and [EXAMPLES.md](EXAMPLES.md) for detailed workflows.
Referenced artifact was not completely inspected
- [TARGETING.md](TARGETING.md) - Advanced targeting strategies
Referenced artifact was not completely inspected
- [CREATIVE.md](CREATIVE.md) - Creative asset management guide
This markdown file demonstrates use of impression and click tracking endpoints as part of creative setup, which can affect user privacy and transmit interaction data. The guide does not include any warning or disclosure about analytics tracking, data handling, or consent considerations alongside these examples.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://brand.com/campaign',
tracking_pixels: [
'https://analytics.brand.com/impression?id=123',
'https://analytics.brand.com/click?id=123'
],
status: 'active'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://brand.com/campaign',
tracking_pixels: [
'https://analytics.brand.com/impression?id=123',
'https://analytics.brand.com/click?id=123'
],
status: 'active'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://brand.com/campaign',
tracking_pixels: [
'https://analytics.brand.com/impression?id=123',
'https://analytics.brand.com/click?id=123'
],
status: 'active'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://brand.com/campaign',
tracking_pixels: [
'https://analytics.brand.com/impression?id=123',
'https://analytics.brand.com/click?id=123'
],
status: 'active'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://brand.com/campaign',
tracking_pixels: [
'https://analytics.brand.com/impression?id=123',
'https://analytics.brand.com/click?id=123'
],
status: 'active'
This markdown file includes a function that calls updateMediaBuy to alter active creative assignments based on performance results. Because this can materially change campaign delivery behavior, the documentation should clearly warn users that the example performs live configuration changes unless run in a test or review workflow.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://streamtech.com/signup',
tracking_pixels: [
'https://analytics.streamtech.com/impression',
'https://analytics.streamtech.com/completion'
]
}],
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
},
click_through_url: 'https://streamtech.com/signup',
tracking_pixels: [
'https://analytics.streamtech.com/impression',
'https://analytics.streamtech.com/completion'
]
}],
The optimization example claims approval should be obtained in a real scenario, but the code hard-codes shouldOptimize = true and immediately performs updateMediaBuy to move live budget. In an advertising automation skill, this can trigger unauthorized spend changes and materially alter campaign delivery without explicit operator confirmation or policy checks.
The A/B testing example automatically updates live creative assignments to the 'winner' once a simplistic confidence condition is met, without an approval step or warning about production impact. In this skill's context, changing creative assignments affects active campaign behavior and spend allocation, so an example that normalizes unattended mutation can lead to unsafe operational changes.
The quick reference gives direct step-by-step instructions for creating and updating media buys but does not warn that these operations may spend money or alter live campaigns. In an agent skill, omission of such guardrails is risky because an automated system may treat the examples as safe defaults and execute cost-incurring or business-impacting actions without explicit human confirmation.
The documentation presents test-agent credentials as copy-pasteable values without any caution that the token authenticates real network requests. This is dangerous because readers or downstream agents may misuse the credential, assume it is harmless, or embed it elsewhere, increasing the chance of unauthorized access or unintended actions.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
Transform how you run advertising campaigns. This skill provides OpenClaw agents with AI-powered advertising automation:
- 🔍 **Discover ad inventory** - Find display ads, video placements, CTV spots using natural language
- 🎯 **Launch campaigns instantly** - Create multi-channel campaigns across display, video, CTV, audio, native, DOOH
- 🎨 **Manage ad creatives** - Upload banners, videos, HTML5 ads and track performance by creative
- 📊 **Monitor ROI in real-time** - Get impressions, clicks, conversions, CPM, CTR, and spend data instantly
- 🎛️ **Auto-optimize performance** - Reallocate budgets, pause underperformers, scale winners automatically
Detected: suspicious.exposed_secret_literal