Back to skill

Security audit

Pywayne Llm Chat Bot

Security checks for vulnerabilities and agentic risk

Overview

This skill is documentation for using an LLM chat library, with disclosed external API use and session history features that fit its stated purpose.

Install only if you intend to send chat prompts to an OpenAI-compatible provider. Configure the base URL and API key for a provider you trust, avoid sending secrets or sensitive data unless that provider is approved for it, and set a finite session timeout if retained chat history is not desired.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Memory Manipulation

High
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · SKILL.md (reported line 46)May include surrounding context.

for msg in chat.history: print(f"{msg['role']}: {msg['content']}")

Clear history

chat.clear_history()

text

Memory Manipulation

High
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · SKILL.md (reported line 125)May include surrounding context.

md
| `ask(prompt, stream=False)` | Single-turn conversation without history |
| `chat(prompt, stream=True)` | Multi-turn conversation with history tracking |
| `update_system_prompt(prompt)` | Update system prompt in-place |
| `clear_history()` | Clear conversation history (keeps system prompt) |
| `history` (property) | Get copy of current conversation history |

### ChatManager

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 17)May include surrounding context.

md
# Create chat instance
chat = LLMChat(
    base_url="https://api.example.com/v1",
    api_key="your_api_key",
    model="deepseek-chat"
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 58)May include surrounding context.

md
# Create chat instance
chat = LLMChat(
    base_url="https://api.example.com/v1",
    api_key="your_api_key",
    model="deepseek-chat"
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 84)May include surrounding context.

md
# Create chat instance
chat = LLMChat(
    base_url="https://api.example.com/v1",
    api_key="your_api_key",
    model="deepseek-chat"
)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 139)May include surrounding context.

md
| Parameter | Default | Description |
|-----------|---------|-------------|
| `base_url` | required | API base URL (e.g., `https://api.deepseek.com/v1`) |
| `api_key` | required | API authentication key |
| `model` | `"deepseek-chat"` | Model name |
| `temperature` | `0.7` | Controls randomness (0-2) |

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documented default value for system_prompt is the Chinese string 你是一个严谨的助手, which imposes a specific language/locale by default. The file does not indicate that users can opt in to this locale preference or that the default is region-specific and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.