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 is a simple GitHub star-tracking CLI with some documentation gaps, but no evidence of deception, exfiltration, destructive behavior, or privilege escalation.
Before installing, be comfortable with the skill reading your GITHUB_TOKEN if it is set, sending it only to GitHub's API, and writing tracked repository state to ~/.github-stars-tracker.json. Use a minimally scoped token, and note that the current implementation appears to print changes rather than provide real notifications or trend analysis.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
The manifest describes monitoring and notifications but omits important behavioral details such as local persistence to ~/.github-stars-tracker.json, while also overstating capabilities like notification, fork-change alerting, and trend analysis. This mismatch is dangerous because users and agents may approve or invoke the skill under incorrect assumptions about what data is stored locally and what actions are actually performed.
The skill advertises executable commands that rely on environment access, local file read/write, and network access, but it declares no explicit tool scope or permissions boundary. That makes the capability surface implicit rather than reviewable, increasing the chance that an agent or user grants broader access than intended and making abuse harder to detect.
The trigger "追踪仓库" is ambiguous because it does not specify GitHub, stars, or repository metrics, and could apply to many unrelated repository-tracking contexts. Without constraints or examples of when not to activate, the trigger scope is too broad.
The trigger phrase "项目动态" is very general and overlaps with everyday discussion about project updates rather than a specific request to invoke this skill. The manifest does not provide narrowing context or exclusion conditions, so this could cause unintended activation.
The script's description, help text, and runtime messages are written in Chinese throughout, which imposes a specific language on all users. The file does not offer a locale selection mechanism or explain that the skill is intentionally region-specific.
This code accesses the sensitive GITHUB_TOKEN environment variable and transmits it to api.github.com when present. Although the script prints status messages for repository fetches, it does not warn the user that a credential may be consumed and sent on their behalf in code comments, docstrings beyond the title, or user-facing output.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import urllib.request
import urllib.error
url = f"https://api.github.com/repos/{owner}/{repo}"
headers = {"Accept": "application/vnd.github.v3+json"}
token = get_github_token()
The manifest describes a monitoring tool for public repository stars and forks. Accessing environment-stored credentials is not clearly justified by that stated purpose, since the tracker can operate against public GitHub repository metadata without requiring user secrets.
The manifest emphasizes tracking star growth, fork changes, and project trends, but the code also retrieves watchers, description, language, and updated timestamp. While repository API access is expected, collecting unrelated metadata goes beyond the narrowly stated monitoring purpose.