Back to skill

Security audit

PostFlow AI

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a Chinese-language AI content publishing platform, but it advertises public social posting and uses under-specified install commands without enough scoping or safety detail.

Review this carefully before installing. Use a sandbox or disposable project environment, avoid production API keys during setup, pin and verify dependencies before running npx commands, and do not connect real social accounts until the publishing approval flow and account permissions are clear.

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:44
Finding

Unpinned Prisma Package May Be Retrieved and Executed by npx

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 44
Vulnerability Type: Unpinned third-party package execution
Risk Level: Medium

sh
npm install && npx prisma db push

Technical Analysis

The setup instructions invoke prisma through npx without specifying or verifying an exact package version. The reviewed artifact does not include a package.json, dependency lockfile, vendored Prisma executable, or application source code. Therefore, the dependency version and integrity cannot be validated from the distributed files.

If no suitable local Prisma binary is installed, npx may resolve, download, and execute the package from the configured npm registry. The effective executable can consequently differ from what was reviewed. Exploitation would require control over, or compromise of, a relevant package release, package-resolution path, npm registry, proxy, or local registry configuration.

This is a supply-chain risk rather than evidence that Prisma itself is malicious. No malicious package or embedded payload was identified in the artifact.

Attack Path

  1. A user configures the project environment as instructed, potentially including API keys and database credentials.
  2. The user runs npm install && npx prisma db push.
  3. If the first command succeeds and no trusted local Prisma executable is available, npx resolves the unpinned prisma package using the configured npm registry.
  4. An attacker controlling or compromising the registry, resolution configuration, proxy, or applicable upstream package version supplies malicious package code.
  5. npx executes that code with the privileges of the user running the setup command.
  6. The malicious package can access resources available to that user, including project files and environment variables, and may modify local files or initiate network connections.

Impact Assessment

Successful exploitation provides code e ...[truncated 709 chars]

Remediation
View remediation

Remediation Suggestions

  1. Include the complete application dependency metadata, including package.json and a reviewed lockfile such as package-lock.json.
  2. Declare Prisma as a project dependency or development dependency using an exact, reviewed version rather than an open-ended version range.
  3. Install dependencies with a lockfile-enforcing command such as:
    sh
    npm ci
    
  4. Invoke only the locked local executable and prevent runtime downloads where supported, for example:
    sh
    npm exec --offline prisma db push
    
  5. Configure npm to use a trusted registry and retain lockfile integrity hashes.
  6. Perform dependency installation in a restricted development container or sandbox with minimal filesystem access and no unnecessary credentials.
  7. Avoid exposing production API keys or database credentials during dependency installation.
  8. Add automated dependency and lockfile integrity checks to the release process, and distribute all files required to reproduce the reviewed installation.
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 (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file advertises automatic content generation and 'one-click' publishing to third-party platforms, which can directly affect user-controlled external accounts and publicly visible content. The description does not include any caution about posting behavior, account authorization, review before publish, or risks of unintended publication.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest description is written entirely in Chinese, which suggests the skill is presented in a fixed language without any indication of user opt-in or multilingual support. Under the policy, a language or locale constraint should either offer user choice or be clearly documented as justified for a region-specific use case.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This is a markdown file, so missing-warning checks apply to user-visible descriptions. Line L43 instructs users to place an API key in .env, but the README does not warn users to keep the file secret, avoid committing it, or otherwise protect credentials.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.