Back to skill

Security audit

Perryts

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only Perry TypeScript compiler skill; the flagged items are purpose-aligned examples and API references, not hidden executable behavior.

Review the Perry APIs before using generated code in production. Pay special attention to auto-update flows, plugin loading, FFI, and the Geisterhand testing server so they are opt-in, scoped, and disabled or protected outside development builds.

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

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The documentation exposes an in-process HTTP testing interface with powerful capabilities including widget-tree enumeration, screenshots, synthetic input, and chaos/fuzz actions. If this interface is enabled in non-test contexts or lacks strict localhost-only binding, authentication, and build gating, it creates a local or potentially remote control surface for the application that can leak sensitive UI data and drive privileged actions.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The example calls installUpdate() immediately after detecting an available update, with no user notification, consent, deferral option, or release-note review. Even though the document mentions HTTPS, signatures, and hashes, silently applying updates can surprise users, disrupt active work, and increase the blast radius if the update channel, signing key, or server is ever compromised.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/cli-reference.md:212