Back to skill

Security audit

arXiv Paper Digest

Security checks for vulnerabilities and agentic risk

Overview

This skill is a mostly coherent AI paper digest tool with disclosed HuggingFace network access and optional delivery automation, but its documentation overstates some features and users should treat fetched paper content as untrusted.

Install only if you are comfortable with the skill fetching public paper metadata from HuggingFace. Confirm language, timezone, recipient, and schedule before enabling any recurring QQ or Notion delivery, and do not let generated digest text trigger other agent actions without review because paper metadata is external content.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/fetch_papers.py:56
Finding

Untrusted Remote Paper Metadata Is Propagated Without Output Safety Boundaries

Content
View full analysis
3 else "")) lines.append(f"\n**Links:** [arXiv]({p['link']}) | [HF]({p['hf_link']})") if p.get('keywords'): lines.append(f"\n**Keywords:** {', '.join(p['keywords'][:5])}") ...[truncated 3011 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (7)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes broad terms such as papers, trending, and research news, which can cause the skill to activate for generic conversations unrelated to this specific function. Over-broad invocation increases the chance of unintended network access, local file modification for history tracking, and accidental routing of user requests through this skill when another skill or no skill should be used.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Defaulting delivery time to Beijing time and preselecting categories without explicit user opt-in can lead to unwanted scheduling behavior and assumptions about the user's locale or interests. In context, this is primarily a consent and UX safety issue rather than a direct security exploit, but it can still cause unintended automated actions such as scheduled digest delivery at the wrong time.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Preselecting Chinese (zh) as the default output language without requiring an explicit user choice can produce content in a language the user did not intend, which is a form of unintended behavior. In this skill's context the danger is limited, but it can still lead to misdelivery, confusion, or automated digest messages being sent in an unusable language.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The module usage/docs state '--source Data source: hf (HuggingFace), arxiv' and the parser exposes the same choice, implying real support for both sources. In practice, when 'arxiv' is selected the code only prints a note and still fetches HuggingFace papers, so the documentation and interface contradict actual behavior.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The inline comment says requests is preferred because it is 'less suspicious to scanners', but the code simply performs the same outbound HTTP fetch regardless of library choice. This documentation introduces an intent implication of avoiding detection rather than explaining a legitimate implementation reason, which conflicts with the skill's stated paper-fetching purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The formatter switches on lang, but line L173 always emits the Chinese label 机构: regardless of the selected language. This violates the language/locale consistency policy because the skill forces a specific language fragment without user opt-in when --lang en is used.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.