Back to skill

Security audit

Alibabacloud Milvus Manage

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Alibaba Cloud Milvus management guide, but it asks for high-impact cloud/database authority while under-warning users about public exposure, broad permissions, and credential handling.

Review this skill before installing if you will use it with real Alibaba Cloud credentials or production Milvus instances. Prefer a least-privilege RAM policy scoped to specific instances, avoid public-read OSS objects for sensitive media, use private networking where possible, restrict CIDRs narrowly, and do not paste real passwords into commands, notebooks, logs, or chat transcripts.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
references/vector.md:87
Finding

Public-Read OSS Guidance Can Expose Sensitive User Media

Content
View full analysis

Vulnerability Details

File Location: references/vector.md, lines 87-101 and 362-367
Vulnerability Type: Unnecessary public exposure of user-supplied media
Risk Level: High

Vulnerable Code and Guidance

markdown
| Media Type               | Size | Strategy | mm_value Example |
|--------------------------|------|----------|------------------|
| **Small image** (< 60KB) | Small | Convert to base64 data URI | `"data:image/jpeg;base64,/9j/4AAQ..."` |
| **Large image** (≥ 60KB)  | Large | Upload to OSS (public read), pass URL | `"https://your-bucket.oss-cn-hangzhou.aliyuncs.com/img/large.jpg"` |
| **Video**                | Any | Upload to OSS (public read), pass URL | `"https://your-bucket.oss-cn-hangzhou.aliyuncs.com/video/demo.mp4"` |
| **Audio**                | Any | Upload to OSS (public read), pass URL | `"https://your-bucket.oss-cn-hangzhou.aliyuncs.com/audio/speech.wav"` |

```python
# Large video/audio/image → upload to OSS first, then use public-read URL
mm_value_oss_url = "https://your-bucket.oss-cn-hangzhou.aliyuncs.com/video/demo.mp4"
markdown
- **Large images / video / audio**: upload to OSS with **public-read** access, then pass the URL in the `mm_value` field.

Technical Analysis

The Skill instructs users to make large images, videos, and audio files publicly readable in Alibaba Cloud OSS before passing their URLs to a multimodal embedding function. Public-read access removes object-level authentication and allows anyone possessing the URL to retrieve the object.

This exceeds the minimum privileges required for the declared multimodal embedding workflow. Media retrieval should instead use a private object with a narrowly scoped, short-lived signed URL or another authenticated service-to-service mechanism. Public access should not be the default, particularly because user media may contain confidential, personal, biometric, proprietary, or regulated information.

The finding is not covert exfiltration to an a ...[truncated 2056 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove all recommendations to configure OSS buckets or objects as public-read.
  2. Keep media objects private by default and generate short-lived signed URLs limited to:
    • One specific object.
    • Read-only access.
    • The shortest lifetime sufficient for embedding retrieval.
  3. Prefer authenticated service-to-service access when supported by the embedding provider, such as a narrowly scoped RAM role or temporary STS credentials.
  4. Warn users that source media and URLs may be transmitted to and processed by their configured Milvus service and embedding provider.
  5. Require explicit user confirmation before any workflow that intentionally makes an object public.
  6. Avoid returning or logging signed or source URLs unless necessary. Exclude mm_value from output_fields by default when it contains sensitive references.
  7. Revoke temporary access and delete staging objects after embedding when retention is unnecessary.
  8. Apply least-privilege OSS policies and deny public ACLs at the bucket or account level where feasible.
  9. Add guidance for validating URL schemes and approved storage domains before server-side media retrieval.
  10. Replace the insecure documentation with guidance such as:
markdown
Large images, videos, and audio must remain private. Provide a short-lived,
read-only signed URL scoped to the single object, or use an authenticated
service-to-service retrieval method supported by the embedding provider.
Do not enable public-read access for sensitive media.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (18)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 38)May include surrounding context.

md
Treat `SKILL.md` as the router. Load `references/*.md` for detailed commands, parameters, and examples.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The scope and manifest description say the skill can handle instance lifecycle operations and specifically mention 'create, inspect, scale, configure, network-enable, or whitelist' while the reference map also labels instance lifecycle as including 'release'. However, the control-plane rules later state that instance deletion is strictly forbidden and must not be executed through this skill. This is a semantic mismatch between claimed lifecycle capability and actual allowed behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The create-instance examples include a concrete admin password value directly in command examples, which normalizes embedding credentials in shell history, docs, logs, and copy-pasted automation. In a cloud/database management skill, this is especially risky because users may reuse the example pattern with real secrets and inadvertently expose privileged Milvus credentials.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation shows how to enable public network access with only a mild recommendation for CIDR restriction, but lacks a strong warning that exposing a Milvus endpoint publicly can enable unauthorized access, brute-force attempts, and data exposure if ACLs are broad or misconfigured. In the context of a skill designed to manage production cloud Milvus instances, this guidance materially increases the chance of insecure internet exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation explicitly shows URL-based search inputs for multimodal embedding but does not warn that providing a URL may cause the Milvus service or its configured embedding provider to retrieve remote content or transmit the user-supplied URL externally. In this skill’s context, that can create SSRF-like behavior, privacy leakage, or unintended outbound requests from trusted infrastructure, especially if users supply internal, signed, or sensitive URLs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file includes concrete commands to create Milvus instances, including production HA deployments and subscription-capable configurations, but it does not clearly warn users that running them provisions cloud resources and may incur charges. Although the document describes payment types, it does not provide a direct safety warning near the executable examples about cost impact or the effect of using --force.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/create-params.md (reported line 223)May include surrounding context.

md
- **Endpoint**: `milvus.<RegionId>.aliyuncs.com`
- **API Version**: `2023-10-12`
- **OpenAPI Meta**: `https://api.aliyun.com/meta/v1/products/milvus/versions/2023-10-12/api-docs.json`

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guide instructs users to operate with configured cloud credentials and later includes a hardcoded admin password example without any warning about secret handling, rotation, or secure input methods. In a cloud-management skill, this normalizes unsafe secret practices and increases the chance users place real credentials in shell history, docs, logs, or shared transcripts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The connection example embeds a plaintext database password directly in sample code with no warning about secure storage or retrieval. Because this skill manages a live Milvus instance and encourages immediate connectivity, users may copy the pattern into production scripts, notebooks, or source control, leading to credential exposure and unauthorized database access.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The quick-start guide explicitly says deletion/release is not available through the skill and directs users to the console. That contradicts the skill manifest, which describes control-plane instance management for creating, inspecting, scaling, configuring, and managing instances as a full-stack Milvus management skill; this documentation narrows capability in a way that conflicts with the stated skill intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill documents enabling public network access for a Milvus instance and setting a CIDR without a clear warning that this exposes the service beyond private networking boundaries. In an infrastructure-management skill, operators may copy commands directly; using broad ranges such as 10.0.0.0/8 can unintentionally expose a database service to large internal or externally bridged networks, increasing the risk of unauthorized access and data exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The whitelist update example changes access-control CIDRs without warning that an incorrect CIDR can either over-broaden access or lock out legitimate clients. Because this skill manages a data-plane service, a mistaken ACL update can directly affect confidentiality and availability of the Milvus instance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The permission statement grants multiple write-capable actions, including instance creation and modification, ACL updates, and toggling public network access, but does not clearly warn users that the skill can make impactful infrastructure changes and potentially expose services externally. In a cloud-management skill, this omission increases the risk of accidental misuse because users may authorize broad permissions without understanding that the skill can alter resources and network exposure, not just read state.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation explicitly recommends uploading large images, video, and audio to OSS with public-read access and then passing the URL into Milvus. In a vector/database management skill, that guidance can cause unintentional data exposure because users may store sensitive media in publicly accessible object storage without any warning, access-control guidance, or mention of signed URLs/private buckets.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The file states that every CLI invocation must include a specific User-Agent value, which is a natural-language requirement imposing a fixed client identifier. The document does not explain why this fixed identifier is required or whether users can opt out, which can be a policy concern when tooling forces a specific client-identifying string.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file includes a drop-index operation, which is destructive and may affect availability or require rebuild effort, but the surrounding documentation provides no warning or cautionary note. For markdown files, safety-relevant behaviors that can affect system integrity or user data should be disclosed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The documentation explicitly highlights InternetUrl as a connection address but does not warn that enabling or using a public endpoint increases attack surface and requires strict network controls, authentication hygiene, and least-privilege access. In an infrastructure-management skill for Milvus, this omission can lead users to expose database endpoints to the internet without understanding the security implications, increasing risk of unauthorized access or brute-force targeting.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The reference includes direct deletion examples by primary key and filter, but the surrounding documentation provides no warning that these operations remove data and may be irreversible depending on deployment settings. For markdown files, destructive behaviors that affect user data should be accompanied by a clear caution.

Content

No source excerpt is available for this finding.