T09 · Insecure Skill Coding Practices
- Location
file (1).json:14- Finding
Hardcoded The Odds API Credential in Skill Configuration
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is framed as automated sports betting and includes real-money-style execution claims without adequate user confirmation, while its betting function falsely reports success.
Review this skill carefully before installing. It is not merely an odds-analysis helper: its instructions aim for automated betting, and the advertised safeguards do not provide clear user approval or reliable transaction verification. Treat the included API key as exposed, replace it with your own secret-management approach, and do not rely on the betting function's success messages as proof that a wager was actually placed.
file (1).json:14Hardcoded The Odds API Credential in Skill Configuration
file.py:28Betting Tool Spoofs Successful Execution and Does Not Enforce Advertised Risk Controls
The skill explicitly instructs the agent to execute real-money bets automatically via execute_singbet_bet but does not require an explicit user-facing warning, consent checkpoint, or transaction confirmation. This is especially dangerous because the prompt operationalizes autonomous wagering with API access, fixed stakes, and daily limits, which can still produce repeated financial loss or unauthorized gambling activity if triggered incorrectly.
This function is explicitly described as executing a bet on an external betting platform and returns a success message indicating the bet was placed, yet it contains no confirmation prompt, explicit warning, or user-facing disclosure about the irreversible financial action. Even though the current implementation is partly placeholder logic, the stated behavior is a safety-critical operation that should require clear user acknowledgment.
The skill is broadly framed around automated football betting and lacks narrow invocation boundaries, making it more likely to activate on general betting-related prompts rather than explicit, well-scoped user requests. In a real-money wagering context, overbroad triggering increases the chance of unauthorized or unintended betting analysis and downstream bet placement, especially when paired with an execution tool.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
"""
Fetches real-time in-play odds from The Odds API.
"""
url = f"https://api.the-odds-api.com/v4/sports/{sport}/odds/"
params = {
"apiKey": api_key,
"regions": "as", # Focus on Asian markets
The code makes an external HTTP request to a third-party odds API using the provided API key, but there is no confirmation prompt, logging, or warning to inform the user that credentials and request parameters will be transmitted off-system. Network transmission of secrets and usage data is safety-relevant and should be disclosed when not otherwise obvious to the user.
The function claims to execute a real bet and returns a success message, but it only appends a local history entry. This deceptive behavior is dangerous because downstream agents or users may believe a wager was actually placed, causing financial, compliance, or operational errors such as duplicate betting or missed hedges.
The skill advertises automated execution against live betting portals and instructs users to configure stored credentials, but it does not prominently warn that it can place real-money wagers automatically. That omission increases the risk of a user enabling or invoking the skill without fully understanding that it may perform irreversible financial actions on a gambling account.
No suspicious patterns detected.