T08 · Insecure Dependencies
- Location
SKILL.md:58- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed Doubao web search helper that sends search queries to RedFox using a configured API key, with some privacy and dependency cautions but no evidence of hidden or malicious behavior.
Install only if you are comfortable sending your search queries to RedFox/Doubao and using a REDFOX_API_KEY from your environment. Avoid putting secrets, credentials, regulated data, or confidential business text in searches, and consider installing dependencies in an isolated environment with pinned versions.
SKILL.md:58Unpinned Third-Party Dependency Installation
scripts/doubao_search.py:39Search Queries Exposed Through Process Arguments
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
# ── Step 1: 提交搜索 ──────────────────────────────────────────────
try:
submit_resp = requests.post(
f"{API_BASE}/submit",
json={"inquiry_text": query, "source": source},
headers=headers,
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
time.sleep(POLL_INTERVAL)
try:
result_resp = requests.post(
f"{API_BASE}/result",
json={"taskId": task_id},
headers=headers,
The skill performs network access and uses an environment-sourced API key, but it does not declare any explicit tool scope or permissions boundary. This makes the capability less transparent to the host agent and user, increasing the risk of unintended external requests or secret use without clear authorization controls.
The trigger list includes broad phrases like '联网搜索' and 'AI搜索', which can overlap with normal conversation and cause the skill to activate unexpectedly. Unexpected activation is risky here because the skill can transmit user queries to an external service and consume configured credentials.
The skill describes external API usage, but it does not clearly warn users that their search queries will be transmitted to a third-party service. This creates a privacy and data-handling risk, particularly if users include sensitive, proprietary, or personal information in search requests.
The script sends user-provided search content and a source identifier to an external network service. In this skill's context, outbound transmission is core functionality, but it still creates privacy and data-governance risk because users may unknowingly submit sensitive information to a third-party API.
# ── Step 1: 提交搜索 ──────────────────────────────────────────────
try:
submit_resp = requests.post(
f"{API_BASE}/submit",
json={"inquiry_text": query, "source": source},
headers=headers,
The tool transmits the user's search query to a third-party API endpoint without any explicit runtime warning, consent check, or guard against sending sensitive data. In an agent/skill context, users may assume a local search helper while actually disclosing prompts, identifiers, or confidential business data to an external service provider.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
time.sleep(POLL_INTERVAL)
try:
result_resp = requests.post(
f"{API_BASE}/result",
json={"taskId": task_id},
headers=headers,
The script's documentation and runtime messages are written exclusively in Chinese, which enforces a specific language for all users. The file does not offer any language selection, fallback, or documented locale justification.