Back to skill

Security audit

Integrated Manufacturing Consulting

Security checks across malware telemetry and agentic risk

Overview

The skill can generate manufacturing consulting reports, but it also automatically processes uploads, scans other local skills, rewrites its own instructions, stores logs, and pushes files externally without enough user control.

Review before installing. Use only in a controlled workspace, and disable or require explicit confirmation for automatic upload processing, local skill scanning, self-repair writes to SKILL.md, persistent logs, web searches, non-local Ollama endpoints, and WeChat/QQ/Tencent delivery. Treat factory photos, production metrics, customer files, and generated reports as confidential unless the user approves each extraction and transfer.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
Findings (30)

Tainted flow: 'req' from os.environ.get (line 61, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
try:
        import urllib.request
        req = urllib.request.Request(f"{OLLAMA_HOST}/api/tags")
        with urllib.request.urlopen(req, timeout=5) as resp:
            data = json.loads(resp.read())
            return len(data.get("models", [])) > 0
    except:
Confidence
96% confidence
Finding
with urllib.request.urlopen(req, timeout=5) as resp:

Tainted flow: 'req' from os.environ.get (line 61, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
)
    
    try:
        with urllib.request.urlopen(req, timeout=120) as resp:
            data = json.loads(resp.read())
            return data.get("response", "")
    except Exception as e:
Confidence
97% confidence
Finding
with urllib.request.urlopen(req, timeout=120) as resp:

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The skill includes autonomous self-evolution, usage tracking, error learning, and skill discovery that are not necessary for generating consulting reports. These features expand the trust boundary, enable unexpected local enumeration and persistent state changes, and create opportunities for privacy leakage or capability creep far beyond the user’s requested task.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
Automatically triggering on any uploaded content is overly broad for a report-generation skill and can cause the skill to process unrelated or sensitive files without clear user intent. This increases the chance of unauthorized data handling and accidental execution of high-scope behaviors such as extraction, search, and delivery.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
Mandating scans of ~/.workbuddy/skills/ and auto-integrating discovered skills gives the skill unnecessary awareness of the local environment and lets it expand its own capabilities without meaningful review. This can expose local metadata, create unsafe transitive trust in other skills, and make behavior unpredictable.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
The workflow requires self-evolution actions during normal report generation, including scanning for new skills and surfacing integration suggestions. Embedding these actions in the default path makes excessive privilege use routine and increases the attack surface for unrelated file-system and orchestration behaviors.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
The self-repair mechanism is authorized to modify SKILL.md and related reference files based on runtime issues and user feedback. Allowing a skill to rewrite its own specification and artifacts creates a powerful persistence and self-modification channel that can entrench bad behavior, propagate prompt-injected content, and undermine code/config integrity.

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
Labeling the behavior as 'self-repair' obscures that it actually rewrites the skill specification and related files. This framing can reduce operator scrutiny and normalize dangerous self-modifying behavior that should be treated as configuration/code changes.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
Creating automation for future pushes to WeChat extends the skill from producing a report into persistent outbound workflow setup. That broadens impact beyond the immediate task and can lead to repeated external transmission of user documents without fresh approval each time.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
A skill discovery engine that scans all local skills and auto-integrates them is unrelated to report generation and creates an unnecessary lateral expansion path. It can expose local configuration information and inherit unsafe behaviors from other skills without adequate review or containment.

Intent-Code Divergence

Medium
Confidence
86% confidence
Finding
The docstring claims the script produces a structured summary, but the implementation writes full extracted text and embedded images to disk. That mismatch can cause operators to process sensitive documents under false assumptions, leading to unintended data retention or disclosure in the output directory.

Vague Triggers

High
Confidence
93% confidence
Finding
The trigger words and activation rule are so broad that ordinary uploads or common phrases can invoke the skill unexpectedly. In this context, mis-triggering is dangerous because the skill also performs extraction, network research, persistent logging, and delivery actions, magnifying the consequences of accidental activation.

Vague Triggers

Medium
Confidence
82% confidence
Finding
The mode-routing conditions are vague and lack strong boundaries, so unrelated content may be classified into specialized workflows. Misclassification matters here because different modes enable additional tools and data flows, causing the skill to perform more processing than the user intended.

Missing User Warnings

High
Confidence
96% confidence
Finding
The skill describes scanning local skills and recording usage and error logs without prominent disclosure or informed consent. Because these actions touch local state and persist information across runs, the lack of clear notice materially increases privacy and governance risk.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The skill requires web search, fetching pages, and collecting materials, but does not clearly warn users that external services may be contacted as part of processing their content. This can expose sensitive project topics, keywords, or derived data to third parties without adequate user awareness.

Missing User Warnings

High
Confidence
97% confidence
Finding
The skill mandates extracting and retaining all images from source PPTX files and automatically delivering outputs to WeChat, yet lacks strong warnings or consent checkpoints. This is especially risky because uploaded presentations often contain confidential diagrams, screenshots, org charts, or personal data that may be propagated externally.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The script performs an unsolicited outbound connectivity probe to 8.8.8.8 to determine whether it is 'online'. In restricted, privacy-sensitive, or sandboxed environments, this can leak execution metadata, violate egress policies, trigger monitoring, and cause unexpected external communication without user consent.

Missing User Warnings

Low
Confidence
82% confidence
Finding
The script writes output files and then performs in-place replacement during cleanup using predictable paths, without confirmation, path validation, or safe temporary-file handling. In an automated or privileged execution context, this can unintentionally overwrite existing files or clobber attacker-influenced paths, causing data loss or integrity issues even though there is no obvious direct code-execution primitive here.

Missing User Warnings

Medium
Confidence
85% confidence
Finding
The document explicitly instructs users to walk the production floor and take photos, but it provides no guardrails around privacy, trade-secret exposure, employee consent, customer restrictions, or site approval requirements. In a manufacturing environment, unrestricted photo capture can expose proprietary processes, sensitive operational data, or personal information, making the omission a real security and compliance risk.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The spec explicitly requires automatic skill scanning, usage tracking, error learning, and self-modification behaviors, but it does not state that users are clearly informed or asked to consent before these side effects occur. That creates a real transparency and security problem because local environment inspection and mutation of skill files can expose system details, persist sensitive information, or alter behavior unexpectedly.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill describes automatically searching, downloading, and caching external images and other materials to a local directory without an explicit warning or approval step. This is dangerous because it introduces silent network access and filesystem writes, which can leak usage patterns, consume storage, and pull untrusted content into the local environment.

Missing User Warnings

High
Confidence
98% confidence
Finding
The workflow includes automatically delivering generated PPT files to a WeChat mini program, but the spec does not provide a clear privacy or data-transfer warning. External transmission of generated documents can expose sensitive business data, personal information, or proprietary content to third-party platforms without informed consent.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
This code writes directly to SKILL.md without confirmation, meaning runtime data can silently modify persistent skill instructions. In an agent-skill context, automatic mutation of prompt/instruction files can create integrity risks, allow persistence of bad guidance derived from untrusted inputs, and make future runs behave unpredictably.

Ssd 3

Medium
Confidence
94% confidence
Finding
Persistent collection and reuse of uploaded content, execution artifacts, and feedback across runs creates a standing data-retention channel. Even if intended for improvement, accumulated natural-language logs can expose sensitive business information to later sessions, operators, or other components.

Ssd 3

Medium
Confidence
92% confidence
Finding
Writing extracted user material into a reusable summary file creates a durable copy of uploaded content outside the original submission path. This increases the risk of accidental reuse, unintended disclosure, and retention of confidential client information beyond the immediate task.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.