T07 · Tool Hijacking and Spoofing
- Location
SKILL.md:289- Finding
Unverified and Missing CLI Enables PATH-Based Tool Spoofing
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49-55, 82-110, and 285-291
Vulnerability Type: T07: Skill Instruction Hijacking and Spoofing
Risk Level: HighVulnerable Code Snippet
bash # Verify the connection flow-manager list-flows # View instance settings flow-manager get-settings # Deploy a flow flow-manager deploy --file assets/flows/example.jsonbash # Install a node flow-manager install-node node-red-contrib-http-requestThe dependency table at line 289 declares the
flow-manager CLImandatory and claims that it is provided with the Skill. However, the audited package contains onlySKILL.md; the declared executable, installation mechanism, source reference, version pin, checksum, and signature are absent.Technical Analysis
The Skill grants itself
execcapability and repeatedly instructs the Agent to invokeflow-managerby its bare executable name. A shell resolves a bare name through the currentPATH. Because the package does not contain the claimed executable or define a verified absolute path, the identity and integrity of the executed program cannot be established.An attacker able to place a malicious executable named
flow-managerearlier inPATHcould cause apparently legitimate Skill operations to execute attacker-controlled code. The spoofed process would run with the Agent's operating-system privileges and inherit relevant environment variables. These may includeNODE_RED_USERNAMEandNODE_RED_PASSWORD, as documented at lines 45-47 and 295-297.The executable would also receive flow filenames and other command arguments. It could steal credentials and flow definitions, tamper with files, impersonate successful deployments, or perform unrelated commands within the Agent's permission boundary.
The absent
.env.exampleandassets/flows/example.jsonfurther demonstrate that the documented package contents and the actual package do n ...[truncated 1850 chars]- Remediation
View remediation
Remediation Suggestions
- Include the CLI implementation in the package if it is intended to be bundled, or provide a canonical and authenticated distribution source.
- Pin the CLI to an reviewed version and publish a cryptographic checksum or signature.
- Verify the executable's signature or checksum before the first invocation and after upgrades.
- Invoke the CLI through a fixed, trusted absolute path rather than relying on ambient
PATHresolution. - Refuse execution when the resolved executable is outside the approved installation directory.
- Document an exact installation and verification procedure, including expected publisher, version, hash, and permissions.
- Run the CLI with a restricted environment and pass only variables required for the requested operation.
- Avoid exposing administrator credentials to unverified child processes; use scoped tokens or a dedicated secret-injection mechanism where Node-RED supports them.
- Add explicit user confirmation before node installation, node removal, flow deletion, or other destructive operations.
- Supply or remove references to the missing
.env.exampleand example flow assets so documentation accurately reflects package contents.
