T01 · Skill Instruction Hijacking
- Location
skill.py:34- Finding
Untrusted Device Documentation Can Hijack LLM Adapter Generation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is not deceptive, but it stores LLM-generated IoT control templates as active mounts without enough validation or approval for a physical-device control context.
Install only if you are comfortable reviewing generated adapters before any downstream engine uses them. Do not paste proprietary device documentation or sensitive internal endpoints into the skill unless your localhost LLM setup is trusted, and avoid connecting its active_hardware_mounts.json output directly to real device execution without an approval and validation layer.
skill.py:34Untrusted Device Documentation Can Hijack LLM Adapter Generation
skill.py:87LLM-Generated Control Templates Are Persisted Without Security Validation
The document identifier ends with "-EN", indicating an English-specific variant, but the file provides no user choice, opt-in, or region-specific justification for restricting the skill/documentation to a single language. Under the stated policy, forcing a specific language without opt-in is a natural-language locale policy concern.
User-supplied API documentation is interpolated directly into a high-trust prompt that instructs the model to generate an executable control template. Because the input is treated as part of the model's working context rather than untrusted data, a malicious or crafted API description could manipulate the model into producing unsafe, unauthorized, or misleading adapters that are then accepted and stored without validation.
The skill collects user-provided device details and API/protocol documentation, then sends them to an LLM service without clear disclosure that this data will leave the immediate execution context. Even though the endpoint is localhost, it is still an external service boundary that may log, retain, or further process sensitive operational details such as proprietary API docs or internal device information.
The only artifact provided is a manifest with a detailed operational description, but there is no accompanying skill.py or other code to verify that the skill actually reads OpenAPI docs, uses local LLMs, generates templates, or mounts hardware. This creates a description-to-behavior mismatch at audit time because the claimed capabilities cannot be confirmed against real code behavior.
The generated adapter and associated device metadata are persisted to disk automatically, but the user is not warned beforehand that this information will be stored in a local file. This can expose sensitive device inventory, control endpoints, and capability mappings to other local users or later processes, especially if file permissions are weak.
No suspicious patterns detected.