Tp2
- Category
- MCP Tool Poisoning
- Confidence
- 85% confidence
- Finding
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This skill coherently checks phone-number status through a disclosed JisuAPI integration, but users should treat submitted numbers as personal data sent to a third party.
Install only if you are comfortable sending the checked phone numbers to JisuAPI under your own API key. Confirm you have permission to process those numbers, avoid unnecessary bulk checks, and review the provider's privacy and retention terms before using it with customer or regulated data.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
The documentation states that phone numbers are checked through a third-party API, but it does not prominently warn that user phone numbers will be transmitted outside the local system. Phone numbers are personal data, so undisclosed external sharing creates privacy, compliance, and trust risks, especially in bulk processing scenarios.
The skill appears to require both environment access and outbound network access to send phone numbers to JisuAPI, but it does not declare an explicit tool scope such as permissions or allowed-tools. That mismatch weakens least-privilege controls and can cause the platform or reviewer to underestimate what the skill is able to do.
The activation guidance is broad enough that the skill may be invoked whenever a user asks about checking phone-number status, without a clear requirement to confirm consent for external submission. Because the skill handles sensitive personal data, ambiguous triggering increases the chance of unintended transmission to a third-party service.
The skill is explicitly designed to send user-supplied phone numbers to an external service, which is a genuine external data transmission risk because it shares personal data outside the local trust boundary. The fixed HTTPS endpoint reduces some technical risk, but the privacy/security impact remains meaningful due to third-party processing of phone numbers.
import requests
API_URL = "https://api.jisuapi.com/mobileempty/query"
def query_mobileempty(appkey: str, req: dict):
The skill transmits phone numbers to an external API without any in-skill disclosure, consent prompt, or privacy notice. Phone numbers are personal data, so silent transmission to a third party can create privacy, compliance, and trust risks, especially in batch mode where many numbers may be exposed at once.
Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
}
try:
resp = requests.post(API_URL, data=data, timeout=15)
except Exception as e:
return {"error": "request_failed", "message": str(e)}
The natural-language documentation includes Chinese descriptions for the API purpose and request semantics, which can impose a locale/language expectation without user opt-in. The file does not indicate that alternative language support is available or that the locale is intentionally constrained.
No suspicious patterns detected.