Back to skill

Security audit

Ramadan Times

Security checks for vulnerabilities and agentic risk

Overview

The skill is not malicious, but it substantially overstates its accuracy, city coverage, auto-detection, and language support for Ramadan timing results.

Install only if you are comfortable treating the output as a rough, Turkish-language convenience script rather than authoritative religious timing. The skill should disclose its limited city list, Istanbul fallback, external sunset API call, and approximate calculations before users rely on it for Ramadan observance.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding
The skill claims auto-location detection, multilingual support, broad city coverage, and accurate prayer timing, but the analyzed behavior reportedly does not deliver those guarantees. This is dangerous because users may rely on inaccurate religious time calculations or unknowingly assume location/language handling that is not actually implemented, leading to misinformation and trust abuse.

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill advertises shell-capable behavior via required binaries but does not declare a restrictive tool scope such as allowed-tools or permissions. In an agent environment, this creates unnecessary execution latitude and weakens containment, increasing the chance of unintended command use or abuse if the skill is later extended or interpreted permissively.

Vague Triggers

Medium
Confidence
95% confidence
Finding
Broad triggers such as 'ramadan' or 'prayer times' can cause the skill to activate in contexts where the user did not intend to invoke it. Over-broad invocation increases the chance of accidental data handling, confusing responses, or interference with other skills, especially in multilingual or general religious queries.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill describes automatic location detection and external API use without clearly warning users that their timezone/location context may be inferred and sent to third-party services. This creates a privacy and transparency issue because users may disclose or have location-derived data processed externally without informed consent.

Description-Behavior Mismatch

Medium
Confidence
98% confidence
Finding
The manifest describes an intelligent Ramadan times skill that auto-detects location and supports 100+ cities worldwide. In code, location is taken only from the first positional argument, mapped through a short hardcoded case list of about a dozen cities, and any unknown city silently falls back to Istanbul.

External Transmission

Medium
Category
Data Exfiltration
Content
lat=$(echo "$coords" | cut -d',' -f1)
lng=$(echo "$coords" | cut -d',' -f2)

result=$(curl -s "https://api.sunrise-sunset.org/json?lat=$lat&lng=$lng&formatted=0" 2>/dev/null)
sunset=$(echo "$result" | jq -r '.results.sunset' 2>/dev/null)

if [ -z "$sunset" ] || [ "$sunset" = "null" ]; then
Confidence
79% confidence
Finding
The script performs an external network request to a third-party service, transmitting location-related data outside the local execution environment. In this skill, the transmitted data is limited to city-derived coordinates and the endpoint uses HTTPS, so the risk is mainly privacy and dependency-related rather than critical compromise, but undisclosed external transmission is still security-relevant.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The code fetches sunset from sunrise-sunset.org, sets iftar to sunset plus 1200 seconds, and computes sahur as 12 hours before iftar. These are simplistic approximations and do not match the manifest's claim of accurate Ramadan times, especially for sahur and locality-specific religious calculation methods.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
Several user-facing strings are hardcoded in Turkish, including 'İftar', 'İftara kaldı', and 'Herkese afiyet olsun!'. This enforces a specific language for all users without offering language selection or documenting a justified regional scope.

Missing User Warnings

Low
Confidence
89% confidence
Finding
The script sends location-derived coordinates to a third-party API without any disclosure or consent flow. In this skill context the data is coarse and user-supplied rather than auto-detected, so the privacy risk is limited, but it still exposes user context to an external service unexpectedly.

Description-Behavior Mismatch

Low
Confidence
96% confidence
Finding
The manifest advertises multilingual support including Turkish, English, Arabic and more. The script emits fixed Turkish labels and status text, with no language detection, localization logic, or user-selectable language handling.