Back to skill

Security audit

JoinQuant datasdk skill

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Chinese-language developer reference for JoinQuant's jqdatasdk, with normal SDK authentication and install guidance but some missing hardening advice.

Install in a virtual environment, consider pinning reviewed package versions, and keep JoinQuant passwords or tokens in environment variables or a secret manager rather than source files, notebooks, logs, or shared scripts.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:23
Finding

Unpinned Third-Party Dependencies Installed from an Unspecified Package Source

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README demonstrates authentication with a literal username/password call and does not warn against hardcoding secrets or recommend safer secret handling. In a developer skill focused on API usage, examples are often copied directly into code, which can lead to credential exposure in source control, logs, notebooks, or shared scripts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill includes direct examples of jq.auth('username', 'password') and token authentication without warning users not to hardcode secrets, commit them to source control, or expose them in logs and notebooks. In a developer-facing SDK skill, such examples can normalize unsafe secret handling and lead to credential leakage for trading/data-service accounts.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

SQP-3 applies to all file types and covers natural-language language/locale policy violations. This file presents all instructions and API descriptions exclusively in Chinese, with no opt-in, alternative language, or explanation that the documentation is intentionally region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

SQP-3 适用于所有文件,需检查自然语言层面的语言/地区策略问题。该 README 从标题到说明均仅使用中文,未给出多语言选项、用户可选语言说明,亦未说明该技能仅面向特定中文使用场景。

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This is a markdown file, so SQP-2 applies to missing user-facing warnings in the skill description. The document instructs users to supply account passwords and tokens, but it does not warn against hardcoding secrets, sharing them, or storing them insecurely, which is relevant to privacy and account safety.

Content

No source excerpt is available for this finding.