T09 · Insecure Skill Coding Practices
- Location
scripts/cloud_doc_scraper.py:884- Finding
Chromium Sandbox Disabled While Rendering Untrusted Remote Content
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to scrape cloud-provider documentation as advertised, but it uses unsafe browser settings and loose URL validation that deserve review before installation.
Use this only in a low-privilege environment without mounted secrets or sensitive workspaces. Avoid --stealth, choose report output paths deliberately, and prefer a revised version that removes --no-sandbox and enforces strict hostname and redirect allowlists.
scripts/cloud_doc_scraper.py:884Chromium Sandbox Disabled While Rendering Untrusted Remote Content
scripts/cloud_doc_scraper.py:529Incomplete Destination Validation Allows Requests to Unapproved Hosts
The skill uses 'env' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
The skill uses 'file_write' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
The skill uses 'network' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
"Unknown product"
# 清理测试文件
rm -f tests/_test_cdn.md
# 总结
echo ""
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
"_test_ecs_4way.md"
# 清理测试文件
rm -f tests/_test_*.md
# 总结
echo ""
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
cp -r cloud-product-analysis ~/.claude/skills/
ln -s $(pwd) ~/.claude/skills/cloud-product-analysis
The README advertises automatic invocation from a broad natural-language prompt ('Compare ECS products between Alibaba Cloud and AWS') without documenting any confirmation step, constrained trigger format, or scope limits. In an agent setting, this can cause the skill to run unexpectedly on loosely related user input, increasing the chance of unreviewed web access and data processing.
The Chinese example repeats the same unsafe pattern by implying the skill may be auto-invoked from a generic request to compare vendors' ECS offerings. Ambiguous trigger phrasing increases the likelihood of accidental invocation in multilingual environments, where intent classification may already be less precise.
The markdown hard-codes AWS documentation links under the zh_cn locale and presents them as the default documentation source. Because no user opt-in or alternative locale is offered, this creates a language/locale policy issue by implicitly forcing a specific language.
The optional --stealth mode deliberately alters browser fingerprints by masking navigator.webdriver and using an anti-automation-oriented launch profile. For a documentation comparison tool, this evasion behavior is not necessary for core functionality and can enable bypass of site bot-detection controls, creating policy and abuse risk if the skill is repurposed.
In both browser context creation paths, the code hard-codes locale="zh-CN". This is a natural-language locale policy concern because the skill enforces a specific locale for all users without opt-in, even though the tool targets multiple providers and does not document that it is restricted to Chinese-only operation.
This markdown file describes behavior that writes a markdown analysis report to the workspace, which affects user data and local filesystem state. While the behavior is part of the skill’s purpose, the description does not include any caution about file creation, output location hygiene, or potential overwriting of existing files.
The script's user-facing comments and output strings are written in Chinese, including test status and summary messages. This creates a language/locale constraint without any opt-in or alternative language path, which matches the policy-violation category for forced language use.
This shell script emits user-facing status messages and test labels in Chinese throughout the test run, such as at L025, L034-L35, L44, and L110-L123. Because the file provides no language selection, opt-in, or justification for a Chinese-only interface, it conflicts with the policy against forcing a specific language without user choice.
No suspicious patterns detected.