T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:5- Finding
Excessive File-Write and System-Execution Permissions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it claims at a high level, but it asks for powerful local permissions and fetches arbitrary URLs without enough scoping or user safeguards.
Install only if you are comfortable granting a web-analysis skill broad network fetching plus declared local write and command-execution permissions. Avoid using it on internal URLs, cloud metadata endpoints, authenticated admin pages, private APIs, or pages containing secrets unless the permissions are reduced and network/LLM safeguards are added.
SKILL.md:5Excessive File-Write and System-Execution Permissions
agent.py:72Server-Side Request Forgery Through Unrestricted User-Controlled URLs
agent.py:342Indirect Prompt Injection Through Untrusted Webpage Content
The skill requests system.exec even though its stated purpose is web fetching, scraping, parsing, and LLM summarization, none of which inherently require shell execution. This creates unnecessary remote-code-execution capability in a skill that processes attacker-controlled web content and user-supplied URLs, significantly increasing the blast radius if prompt injection, parser abuse, or future code paths invoke OS commands.
The skill requests file.write and system.exec without any user-facing explanation of why these powerful permissions are needed or what actions they may enable. In context, this is more dangerous because the skill ingests untrusted web content and supports custom headers, auth, proxies, and dynamic rendering, so hidden high-impact permissions undermine informed consent and increase abuse potential.
The skill explicitly sends fetched webpage or API content to an LLM for analysis without warning that scraped data may be transmitted to a third-party model provider. This can expose sensitive API responses, internal pages, tokens embedded in content, or personal data to external processing, especially because users may point the skill at arbitrary authenticated endpoints.
The code supports stealth anti-bot fetching via Scrapling and dynamic browser automation via Playwright, which materially expands collection capability beyond ordinary page retrieval. In a skill already granted web.fetch, web.scrape, llm.chat, file.write, and system.exec, these evasion-oriented features increase the risk of undisclosed scraping against protected targets and make misuse easier.
The skill fetches arbitrary webpage content and later packages extracted content and metadata into prompts for LLM analysis, but there is no disclosure, consent flow, or data-minimization control. This can expose sensitive page contents, embedded tokens, personal data, or proprietary material to downstream services without the user's clear awareness.
Stealth scraping and browser-based rendering are performed without explicit notice to the user, which obscures the fact that the skill may impersonate browsers, execute complex page loads, and access content behind anti-bot controls. This increases legal, compliance, and privacy risk and can cause users to unknowingly trigger aggressive collection behavior.
Declared permissions with no matching code capability may indicate removed functionality or pre-staging for future abuse.
The file's natural-language instructions and user-facing strings are exclusively in Chinese, including usage and analysis prompts, which effectively imposes a language choice. There is no indication that the user can select another language or that the locale restriction is documented as intentional and justified.
The manifest's purpose is web fetching, parsing, and LLM-based summarization, but the file also supports standalone command-line execution. While not inherently malicious, local script execution is not an obvious requirement of the described end-user capability and helps justify the otherwise broad system.exec permission without clear purpose-level disclosure.
The config uses Chinese-only natural-language descriptions for optional dependencies, which imposes a specific language on users without any documented opt-in or alternative locale. This can violate language/locale policy expectations when the skill otherwise appears generally applicable rather than region-specific.
No suspicious patterns detected.