Back to skill

Security audit

Interop Forge

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate monorepo integration scaffold, but it needs Review because it can generate broad repository changes and under-scoped webhook/MCP code that handles secrets and event data.

Install only if you are comfortable letting the agent scaffold and modify monorepo files. Before running it, require a dry-run plan with exact paths, pin npx tooling versions, review generated MCP tools before exposing service tokens, and harden webhook delivery with approved HTTPS destinations, minimal payloads, and HMAC-style signatures instead of sending reusable secrets.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:1225
Finding

Unrestricted Webhook Destinations Permit Sensitive Event Disclosure and SSRF

Content
View full analysis
{ const relevant = webhooks.filter((wh) => wh.events.includes(event.type) || wh.events.includes("*") ); await Promise.allSettled( relevant.map((wh) => fetch(wh.url, { method: "POST", headers: { "Content-Type": "application/json", "X-Webhook-Secret": wh.secret, "X-Event-Type": event.type, "X-Event-ID": event.id, }, body: JSON.stringify(event), }) ) ); } ``` ### Technical Analysis The generated implementation accepts an unrestricted `WebhookConfig.url` and sends the complete event object to that destination. No controls enforce HTTPS, restrict destinations to approved origins, block private or link-local network ranges, revalidate DNS results, disable redirects, or limit the transmitted payload. The documented `BaseEvent` schema permits arbitrary payload fields, while example events include personal data such as user email addresses. Consequently, the request may transmit sensitive application or user data beyond the intended trust boundary. The implementation also places the shared webhook secret directly in the `X-Webhook-Secret` header instead of using it locally to calculate a message authentication code. A receiving endpoint therefore learns the reusable secret. The `events` list supports the wildcard `"*"`, increasing the potential data scope available to a malicious or incorrectly confi ...[truncated 1959 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:601
Finding

Unpinned Redocly CLI Is Downloaded and Executed Through npx

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:1287
Finding

Mutable create-next-app Latest Release Is Downloaded and Executed

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill prominently states that it creates packages, specs, MCP server files, and configuration files, but does not upfront require explicit user confirmation before repository modification. In an agentic setting, this can lead to unexpected writes across a monorepo, increasing the risk of unauthorized code changes, accidental breakage, or insertion of insecure scaffolding into trusted repositories.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill claims it never makes direct API calls itself, but the included generated/shared code templates perform outbound HTTP requests (fetch) and provider API interactions (Supabase, Firebase verification). This mismatch can mislead operators about network and trust boundaries, causing them to approve or run generated components without recognizing that they will contact external services and handle sensitive tokens.

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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

These scaffolding instructions contain direct repository-writing and dependency-installing shell commands (mkdir, cp, touch, package installs, app generation) without an explicit confirmation checkpoint. In practice, an agent following this guidance could perform broad filesystem changes and pull external code into the repo before the user has reviewed the plan, which is risky in sensitive development environments.

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.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- All env var references are in generated code via `process.env.*`
- NEVER commit `CROSS_APP_SECRET` or any service tokens to git
- NEVER expose service-to-service tokens in client-side code
- NEVER create MCP tools that delete data without confirmation parameters
- NEVER auto-execute webhooks without verifying the secret
- Cross-app tokens MUST have an `aud` (audience) claim restricting which app can use them

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- NEVER commit `CROSS_APP_SECRET` or any service tokens to git
- NEVER expose service-to-service tokens in client-side code
- NEVER create MCP tools that delete data without confirmation parameters
- NEVER auto-execute webhooks without verifying the secret
- Cross-app tokens MUST have an `aud` (audience) claim restricting which app can use them

Static analysis

No suspicious patterns detected.