Back to skill

Security audit

AWI

Security checks for vulnerabilities and agentic risk

Overview

This web-reading skill is mostly coherent, but its installer downloads and immediately runs an unverified external binary, which gives a mutable GitHub release broad local execution authority.

Review before installing. The main risk is supply chain: running the installer executes whatever binary is currently attached to the upstream GitHub release for your platform. Only install if you trust that repository and release process, and avoid using the tool with private/internal URLs or sensitive search terms unless external requests and browser rendering are acceptable.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
scripts/install.sh:25
Finding

Unverified Remote Binary Download and Execution

Content
View full analysis
/dev/null; then curl -fSL "$URL" -o "${INSTALL_DIR}/awi" elif command -v wget &>/dev/null; then wget -q "$URL" -O "${INSTALL_DIR}/awi" else echo "❌ Need curl or wget"; exit 1 fi chmod +x "${INSTALL_DIR}/awi" # Verify if "${INSTALL_DIR}/awi" --help &>/dev/null; then ``` ### Technical Analysis The installation script downloads a precompiled executable from a GitHub release directly into `~/bin/awi`, marks it executable, and immediately invokes it with `--help`. It performs no cryptographic checksum validation, digital-signature verification, or trusted-manifest verification before execution. HTTPS protects the download while in transit but does not establish that the release asset itself matches the artifact reviewed or intended by the skill author. If the repository, maintainer account, release process, or hosted asset is compromised, an attacker can replace the binary while leaving the reviewed installation script unchanged. Passing `--help` is not a security check because a malicious executable can perform arbitrary actions before displaying help or returning success. ### Attack Path 1. An attacker compromises the upstream GitHub repository, a maintainer account, the release pipeline, or the `v0.1.0` release asset. 2. The attacker replaces the relevant `awi-*` asset with a malicious executable while retaining the expected filename. 3. A user or agent invokes `scripts/install.sh`. 4. The script downloads the altered asset without checking a pinned digest or trusted signature. 5. The script applies executable p ...[truncated 796 chars]
Remediation
View remediation
&2 exit 1 fi chmod 0755 "$TMP_BINARY" mkdir -p "$INSTALL_DIR" mv "$TMP_BINARY" "${INSTALL_DIR}/awi" ``` On macOS, use an equivalent trusted SHA-256 utility such as `shasum -a 256`. A signed manifest is preferable when release artifacts must be updated without editing the installer for every digest. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Lp1

High
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The install script invokes shell capabilities to download and execute a remote binary, then validates it by running the downloaded executable. This is risky because there is no integrity verification such as a checksum or signature check, so a compromised GitHub release, network path, or repository could lead to arbitrary code execution on the user's machine.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The primary descriptive and instructional content is presented in Chinese, which can impose a language requirement on users without opt-in. The file does not offer an English alternative or state that the skill is intentionally limited to a Chinese-language audience.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill clearly performs outbound network access to arbitrary URLs and sends search queries to external services, but the documentation does not warn users that their requested targets and queries leave the local environment. This can create privacy, compliance, and data-handling risks if users unknowingly submit sensitive internal URLs, identifiers, or research terms.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documented automatic escalation from direct requests to 'stealth' anti-bot adaptation and headless browser rendering increases operational and privacy risk without informing the user. Browser rendering can execute untrusted web content and consume more local resources, while anti-bot bypass behavior may have legal, policy, or detection implications in some environments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.