Back to skill

Security audit

嘉为蓝鲸 ITSM 工单数据分析技能,支持处理人工作量统计、响应时间分析、问题分类统计、日报/周报生成。

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local ITSM ticket analysis helper; its main risks are handling sensitive ticket data and some underdocumented optional sharing/dependency guidance, not hidden malicious behavior.

Before installing, treat uploaded ITSM exports and generated reports as confidential. Redact unnecessary personal, account, incident, and internal system details before analysis or webhook sharing; avoid enabling scheduled pushes until the destination and report contents are reviewed. Install dependencies in a dedicated virtual environment and prefer pinned versions or a reviewed lock file.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:131
Finding
Unpinned Third-Party Dependencies Installed from a Mutable Package Index## Vulnerability Details **File Location**: `README.md`, lines 131-135 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```markdown ## 🔧 Dependencies - Python 3.x - pandas - openpyxl Install dependencies: ```bash pip install pandas openpyxl ``` ``` ### Technical Analysis The documented installation command retrieves `pandas` and `openpyxl` without version constraints, package hashes, or a reviewed lock file. Package resolution therefore depends on the latest versions available through the Python package index configured in the user's environment. This creates a supply-chain risk because the installed code can differ between installations and can change after the skill has been reviewed. If a package release, maintainer account, configured mirror, or package-index connection is compromised, following the documented command could install attacker-controlled code. This finding does not establish that the named packages are currently malicious. The vulnerability is the absence of controls that guarantee the identity and integrity of the dependencies being installed. ### Attack Path 1. An attacker compromises a dependency maintainer account, package-index infrastructure, or a package mirror configured in the user's Python environment. 2. The attacker publishes or serves a malicious version of `pandas`, `openpyxl`, or one of their transitive dependencies. 3. A user follows the README and runs: ```bash pip install pandas openpyxl ``` 4. `pip` resolves and downloads the attacker-controlled package because no approved versions or hashes are specified. 5. Malicious package installation or subsequently imported package code executes with the privileges of the user running the installation or analysis script. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the installing user's account. Depending on that account's permissions, an attacker could ...[truncated 907 chars]
Remediation
## Remediation Suggestions 1. Pin every direct dependency to a reviewed version, for example: ```text pandas==REVIEWED_VERSION openpyxl==REVIEWED_VERSION ``` 2. Generate a lock file that includes all transitive dependencies. 3. Record cryptographic hashes and install with hash verification: ```bash python -m pip install --require-hashes -r requirements.txt ``` 4. Review and regenerate dependency pins on a controlled schedule rather than resolving mutable latest versions during installation. 5. Recommend installation in a dedicated virtual environment using a non-privileged account: ```bash python -m venv .venv . .venv/bin/activate python -m pip install --require-hashes -r requirements.txt ``` 6. Use a trusted internal package mirror or repository allowlist where appropriate, and apply dependency vulnerability monitoring to the locked dependency set.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Hidden Instructions

High
Category
Prompt Injection
Content
单号,标题,服务目录,服务,服务类型,状态,当前步骤,当前处理人,创建人,提单时间,结束时间,挂起时间,恢复时间,流程版本,优先级
ITS-2026-001,VPN 无法连接,IT 服务,网络服务,VPN 问题,已解决,已关闭,李四,张三,2026-03-11 09:00:00,2026-03-11 10:30:00,,,v1.0,P2
ITS-2026-002,邮箱无法登录,IT 服务,邮箱服务,Outlook 问题,处理中,处理中,赵六,王五,2026-03-11 10:15:00,,,,v1.0,P1
ITS-2026-003,服务器 CPU 告警,IT 服务,服务器运维,Linux 服务器,已解决,已关闭,运维组,系统监控,2026-03-11 11:00:00,2026-03-11 11:45:00,,,v1.0,P0
Confidence
60% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The README encourages analysis of ITSM ticket spreadsheets and CSVs, which commonly contain sensitive operational details, internal incident data, account identifiers, contact information, and sometimes personal data. Failing to warn users about sensitivity, data handling expectations, and safe usage can lead to accidental exposure, inappropriate sharing in generated reports, or uploading regulated/internal data into an agent workflow without adequate review.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest description is written as a Chinese-only skill description and the examples and outputs throughout the file assume Chinese-language interaction and labels. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is explicitly justified, which is not done here.

Intent-Code Divergence

Medium
Confidence
89% confidence
Finding
The 'Do not use' section explicitly states that direct ITSM system operations require API integration, implying such operations are outside this skill's scope. However, later documentation introduces BK_ITSM_API_URL and BK_ITSM_API_KEY configuration for a BlueKing ITSM API, which contradicts the earlier statement about the skill's operational boundaries.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill documents Enterprise WeChat webhook push for ticket reports but does not warn that generated reports may contain sensitive incident, requester, assignee, or operational data that will be sent to an external service endpoint. In an ITSM context, such reports commonly include internal system issues and personal/workflow data, so silent or poorly disclosed outbound sharing creates a real confidentiality risk.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The module docstring and all user-facing CLI descriptions are written exclusively in Chinese, indicating the skill is intended to operate in a fixed language. Under the policy, locale or language constraints should either be optional for the user or clearly documented as a justified regional limitation.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This code uses Chinese-only natural-language strings in the module description, CLI help text, errors, and generated report content. Under the policy rule for language/locale, forcing a specific language without opt-in is a violation unless the locale restriction is clearly documented and justified, which is not present here.

Description-Behavior Mismatch

Low
Confidence
77% confidence
Finding
The manifest-style description presents the skill as an ITSM ticket analysis capability focused on reading ticket data, producing suggestions, trend analysis, clustering, and SLA monitoring. Later sections add Enterprise WeChat webhook pushing, which is an outbound notification capability not reflected in the main description and goes beyond pure analysis behavior.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
This code file contains natural-language descriptions and CLI messages entirely in Chinese, including the module docstring and argument/help text. Under the policy rule, forcing a specific language without opt-in is a locale/language policy concern unless the regional constraint is explicitly justified.

Natural-Language Policy Violations

Low
Confidence
86% confidence
Finding
The CSV headers and all sample ticket content are entirely in Chinese, which imposes a specific language/locale on consumers of the skill data. In this file there is no accompanying natural-language indication that the language is optional, user-selected, or justified as a region-specific dataset.

Static analysis

No suspicious patterns detected.