Back to skill

Security audit

Pilot Formation

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed network-topology helper, but it can broadly approve peer trust requests and publish topology details without enough scoping or user confirmation.

Review before installing. Use this only in a controlled pilot environment, verify pending peer identities before approval, avoid approving unrelated pending handshakes, and remove or explicitly configure the registry publishing step if topology details should remain private.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:60
Finding

Unscoped Bulk Approval of Pending Peer Handshakes

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 60–65
Vulnerability Type: Unscoped trust approval that violates least privilege
Risk Level: High

Complete Code Snippet:

bash
# Approve all pending handshakes
PENDING=$(pilotctl --json pending | jq -r '.[].node_id')
for peer in $PENDING; do
  pilotctl --json approve "$peer" &
done
wait

Technical Analysis

The mesh deployment workflow approves every handshake returned by pilotctl --json pending. It does not correlate those requests with the peers in ALL_PEERS, the intended swarm, or the handshakes initiated by the current workflow.

Consequently, pre-existing or concurrently submitted requests can be approved even when they are unrelated to the requested topology. The parallel approval loop also removes an opportunity for identity review before trust is granted. This violates least-privilege and fail-closed access-control principles.

Attack Path

  1. An attacker submits a peer handshake before or during mesh deployment.
  2. The attacker's request appears in the daemon's pending-handshake collection.
  3. The skill executes pilotctl --json pending and extracts every pending node ID.
  4. The loop invokes pilotctl --json approve for the attacker's node ID without validating its address, swarm membership, expected identity, or cryptographic fingerprint.
  5. The attacker becomes an approved peer in the trusted communication environment.

Impact Assessment

A successful attacker can obtain unauthorized trusted-peer access. Depending on the permissions and semantics provided by pilotctl, this may allow participation in swarm communications and access to topology or task information available to trusted peers. It may also provide a foothold for attacks against other connected nodes.

The direct scope is the daemon and swarm environment in which the workflow runs. The available project evidence does not establish operating-sys ...[truncated 79 chars]

Remediation
View remediation

Remediation Suggestions

  • Record the exact peer identities associated with handshakes initiated by the current deployment.
  • Approve only requests that can be correlated with the intended ALL_PEERS set and selected swarm.
  • Validate immutable identity attributes, including node ID and cryptographic fingerprint; do not rely solely on mutable hostnames or addresses.
  • Reject or leave untouched unsolicited, ambiguous, pre-existing, and unrelated pending requests.
  • Avoid parallel bulk approval where it prevents identity review or reliable error handling.
  • Require explicit operator confirmation for any request that cannot be cryptographically matched to an expected peer.
  • Re-query each candidate immediately before approval and fail closed if its identity or membership has changed.
  • Log each initiated handshake, verification result, approval decision, and failure for auditability.
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 (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill automates trust establishment by initiating handshakes and approving pending peers, but its description does not warn users that it will create trust relationships across multiple nodes. In a network-formation context this is especially sensitive because a user may invoke the skill expecting connectivity setup, while actually authorizing peers and altering the trust boundary of the swarm.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The example workflow sends topology metadata to an external registry host, which extends the skill from local topology formation into outbound data publication. Even though the published data appears limited, it reveals infrastructure structure and node role information to an external system without a clear warning or justification in the skill's purpose, increasing information disclosure and unintended exfiltration risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The workflow publishes topology metadata to an external registry, but the skill description does not disclose this outbound communication. In the context of infrastructure orchestration, undisclosed publication can expose swarm names, hub addresses, timing, and topology structure to third parties, creating avoidable reconnaissance and privacy risk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest description limits the skill to predefined topologies 'star, ring, mesh, tree'. The body text then states it also supports 'line (chain)' formations, which is an additional capability not reflected in the manifest’s declared scope.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.