T01 · Skill Instruction Hijacking
- Location
SKILL.md:85- Finding
Mandatory Output Manipulation and Subscription Workflow Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill provides Xiaohongshu analytics, but it needs Review because it handles API keys and recurring subscriptions in ways that are broader and less safe than necessary.
Install only if you are comfortable giving it a Redfox API key and running local scripts. Prefer setting REDFOX_API_KEY only in the current session or a secure secret store, avoid letting the skill edit shell profiles, do not create subscriptions unless you understand how to disable them, and treat generated HTML reports cautiously because they may load third-party scripts and render API-provided content.
SKILL.md:85Mandatory Output Manipulation and Subscription Workflow Hijacking
scripts/fetch_explosive_articles.py:227TLS Certificate Validation Disabled While Transmitting an API Key
scripts/gen_xhs_html.py:626Stored HTML and JavaScript Injection in Generated Reports
scripts/crawl_xhs.py:25Unnecessary Reading of User Shell Configuration Files for Credential Discovery
assets/preview-template.html:8Generated Reports Execute Third-Party JavaScript Without Integrity Protection
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
body = json.dumps(payload, ensure_ascii=False).encode("utf-8")
req = urllib.request.Request(url, data=body, headers=headers, method="POST")
with urllib.request.urlopen(req, timeout=30) as resp:
status_code = resp.status
raw = resp.read().decode("utf-8")
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
try:
# 接口仅支持 GET(query 参数);POST 会返回系统错误
response = requests.get(REDFOX_API_BASE, params=params, headers=headers, timeout=30)
if response.status_code >= 400:
return {"fetch_time": rank_date + " 19:00", "query_type": "日榜", "category": category, "hot_list": []}
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
try:
# 接口仅支持 GET(query 参数);POST 会返回系统错误
response = requests.get(REDFOX_API_BASE, params=params, headers=headers, timeout=30)
if response.status_code >= 400:
raise Exception(f"HTTP请求失败: {response.status_code}, {response.text}")
The request sent at this call site includes an API key sourced from environment or shell profile discovery, and the code disables TLS certificate validation before transmitting it. That creates a realistic man-in-the-middle exposure where the credential and query data can be intercepted or redirected to an attacker-controlled endpoint.
ssl_ctx.verify_mode = ssl.CERT_NONE
try:
with urllib.request.urlopen(req, context=ssl_ctx, timeout=30) as resp:
result = json.loads(resp.read().decode("utf-8"))
except urllib.error.HTTPError as e:
raise Exception(f"HTTP请求失败: {e.code}, {e.read().decode('utf-8', errors='replace')}")
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
The manifest repeatedly claims '严禁任何联网搜索' while the skill depends on external Redfox API access, shell-profile scanning, and other capabilities not reflected in the declared behavior. This mismatch is dangerous because operators and downstream agents may trust the documentation and permit execution under false assumptions, leading to unexpected data exfiltration, credential exposure, or policy bypass.
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
---
name: xiaohongshu-inspiration
description: 小红书内容灵感聚合技能,覆盖选题灵感全链路:关键词爆款笔记搜索(相关性/热度/时效三维评分)、批量获取作品数据(支持 Excel/HTML 导出)、每日爆款 TOP50 爆发榜、低粉爆款挖掘(粉丝<5000 点赞>500)、账号日/周/月榜 TOP50、同阶对标与高阶标杆推荐。当用户需要小红书灵感、爆款搜索、笔记查询、批量获取作品、每日爆款、低粉爆款、账号榜单、涨粉榜、对标账号推荐时使用。触发词:小红书灵感、小红书爆款、小红书搜索、小红书�
Referenced artifact was not completely inspected
python3 scripts/fetch_xhs_hot_articles.py --keyword "睫毛膏" --max-items 10
Referenced artifact was not completely inspected
python3 scripts/fetch_xhs_hot_articles.py --keyword "睫毛膏" --max-items 10
Referenced artifact was not completely inspected
python3 scripts/fetch_explosive_articles.py --keyword "居家装修" --top_n 50
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{KEYWORD}} · 小红书低粉爆款笔记TOP{{TOP_N}}</title>
<!-- 使用多个CDN源,确保html2pdf.js能够加载 -->
<script src="https://cdn.jsdelivr.net/npm/html2pdf.js@0.10.1/dist/html2pdf.bundle.min.js"></script>
<script>
// 如果第一个CDN加载失败,尝试第二个
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{KEYWORD}} · 小红书低粉爆款笔记TOP{{TOP_N}}</title>
<!-- 使用多个CDN源,确保html2pdf.js能够加载 -->
<script src="https://cdn.jsdelivr.net/npm/html2pdf.js@0.10.1/dist/html2pdf.bundle.min.js"></script>
<script>
// 如果第一个CDN加载失败,尝试第二个
The document instructs the agent to help permanently modify shell startup files or Windows user environment variables and then verify the secret by echoing it back. For a content-inspiration skill, this is unnecessarily privileged and risks credential exposure, persistence beyond the task, accidental leakage in transcripts, and unintended modification of the user's local environment.
The workflow tells the agent to proactively persist the user's API key without adequate warning about permanence, shell/profile modification, or the risk of secret exposure. In context, this is especially unsafe because the skill's purpose does not justify handling long-lived credentials at the operating-system level.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div class="container">
<!-- 开场白 -->
<div class="intro">
<div class="intro-text">{{intro_text}}</div>
<div class="data-note">{{data_note}}</div>
The HTTPS client explicitly disables hostname checking and certificate validation, making the connection vulnerable to man-in-the-middle interception or spoofing. An attacker on the network path could impersonate the API endpoint, steal the X-API-KEY, and tamper with returned ranking data or injected content that later gets rendered and saved locally.
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
for rule in CATEGORY_INFER_RULES:
for kw in rule["keywords"]:
if kw.lower() in combined:
return rule["category"]
# 3. 兜底关键词
for category, keywords in FALLBACK_KEYWORDS.items():
The generated HTML loads html2canvas from a third-party CDN at report view time, which violates the skill's stated 'no networking' constraint and creates a supply-chain risk. Anyone opening the report may trigger external requests that leak usage metadata and, if the CDN content is tampered with, execute untrusted JavaScript in the browser context.
Detected: suspicious.exposed_secret_literal, suspicious.insecure_tls_verification