T08 · Insecure Dependencies
- Location
SKILL.md:95- Finding
Unpinned Third-Party SDK Creates a Supply-Chain Exposure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill has a legitimate Tencent Cloud OCR purpose, but it can automatically send user documents or uploaded files to external services without clear consent safeguards.
Install only if you are comfortable sending document URLs and document contents to Tencent Cloud OCR, and do not use it automatically on confidential contracts, invoices, resumes, or internal reports without confirming consent. Prefer short-lived private URLs, narrowly scoped Tencent Cloud credentials, a dedicated virtual environment with pinned dependencies, and a private output directory; clean up downloaded ZIP results when no longer needed.
SKILL.md:95Unpinned Third-Party SDK Creates a Supply-Chain Exposure
scripts/main.py:131Unbounded and Non-Exclusive Download of Remote Result Archive
The skill instructs the agent to upload user-provided local files to externally accessible storage to obtain a URL before calling the OCR API, but it does not require consent or warn about privacy, confidentiality, or regulatory implications. This is especially dangerous because it can cause silent exfiltration of local documents to third-party storage and then to the OCR provider.
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
��式 B:600 权限文件 + source(推荐,防命令行留痕)**
printf 'export TENCENTCLOUD_SECRET_ID="你的SecretId"\nexport TENCENTCLOUD_SECRET_KEY="你的SecretKey"\n' > ~/.tc_ocr_cred
chmod 600 ~/.tc_ocr_cred
source ~/.tc_ocr_cred # 每次新开终端需重新 source
方式 C:写进 shell 配置(一劳永逸,但密钥明文落盘,谨慎使用)
echo 'export TENCENTCLOUD_SECRET_ID="你的SecretId"' >> ~/.bashrc
echo 'export TENCENTCLOUD_SECRET_KEY="你的SecretKey"' >> ~/.bashrc
source ~/.bashrc
Windows (PowerShell):
$env:TENCENTCLOUD_SECRET_ID = "你的SecretId"
$env:TENCENTCLOUD_SECRET_KEY = "你的SecretKey"
拿到真实密钥后,先用最小验证确认链路通:
python scripts/main.py --file-url "<一个可公开访问的小PDF的URL>" --download
成功返回含 ResultUrl / RequestId / ExpiresIn 的 JSON 即链路通。
⚠️ 不要把密钥直接�
The skill declares behavior that requires network access and use of environment-stored credentials, but it does not explicitly constrain or disclose its tool scope through permissions or allowed-tools metadata. In an agent setting, this increases the chance of unintended execution with broader capabilities than users or orchestrators expect, especially because the skill also encourages automatic invocation and remote document fetching.
The skill highlights automatic ZIP download and local persistence of parsing results, including extracted images and structured content, but does not prominently warn that the output may contain sensitive document text, embedded images, and other confidential material. This can lead to unintentional local data exposure, retention, or mishandling on shared systems.
The skill applicability section is very broad and covers many ordinary document-related requests, which increases the chance that the skill is selected in situations where external OCR processing is not necessary or expected. In context, this matters because the skill performs networked handling of user-provided documents and may download extracted content locally.
The auto-trigger guidance is overly broad, telling the agent to automatically invoke the skill whenever certain URLs, attachments, or common intent phrases are detected. That can cause unintended transmission of user documents to an external OCR service without a sufficiently explicit user confirmation, creating privacy and data-handling risk.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
方式 B:600 权限文件 + source(推荐,防命令行留痕)
printf 'export TENCENTCLOUD_SECRET_ID="你的SecretId"\nexport TENCENTCLOUD_SECRET_KEY="你的SecretKey"\n' > ~/.tc_ocr_cred
chmod 600 ~/.tc_ocr_cred
source ~/.tc_ocr_cred # 每次新开终端需重新 source
The script sends a user-supplied document URL to Tencent Cloud for remote processing, which necessarily discloses the document location and may disclose sensitive content to a third party. While this is the expected function of the skill, the risk is real because the CLI help and behavior do not clearly foreground the privacy and data-transfer implications before transmission.
The script performs a local file write when --download is used, creating directories and saving the returned ZIP file. Although the flag help mentions downloading, the top-level script description does not prominently warn that running with this option writes parsed results to local storage, which may matter for sensitive documents.
No suspicious patterns detected.