Back to skill

Security audit

pikpak-speed-guide

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed PikPak speed diagnostic skill that runs bounded network probes and sample-download tests without hidden persistence or credential use.

Before installing, understand that the skill may run local Python scripts that contact PikPak endpoints and user-provided authorized download URLs. Keep signed URL files private, expect some measured traffic to be consumed, and treat the disclosed referral code as optional; the skill does not guarantee speed improvement or bypass PikPak limits.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • 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 (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The skill claims evidence-based A/B speed testing with SHA-256 consistency gating, but the analysis indicates those controls and measurements are not actually implemented. This is dangerous because users or downstream agents may trust the documented safety and decision logic, leading to misleading recommendations, unsafe handling of URLs or tooling, and execution under false assumptions about validation that never occurs.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill explicitly describes shell and network operations (python3 scripts/..., HTTP probing, URL-based benchmarking) but does not declare any permissions or allowed-tools scope. That creates a governance gap where an agent may invoke broader capabilities than the skill contract makes visible, undermining least privilege and increasing the chance of unintended external access or command execution.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/speed_bench.py (reported line 269)May include surrounding context.

python
except (ValueError, TypeError, OverflowError):
        return {"ok": False, "error": "invalid_input"}
    try:
        proc = subprocess.run(
            [sys.executable, __file__, "--worker"],
            input=json.dumps({"url": url, "sample_bytes": sample_bytes, "timeout": timeout}),
            text=True, capture_output=True, timeout=timeout + 0.5,

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains multiple hard-coded user-facing status messages in Chinese only. The policy scope for SQP-3 covers language/locale constraints in natural-language strings, and there is no visible opt-in or alternate language path for users.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This file includes the module docstring and all printed guidance in Chinese, which effectively forces a specific language for users. The policy allows fixed locale only when the constraint is justified or the user is given a choice, neither of which is present here.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
scripts/speed_diag.py:37