T08 · Insecure Dependencies
- Location
references/apm.md:311- Finding
Java monitoring agent is downloaded over unauthenticated HTTP and executed
- Content
View full analysis
Vulnerability Details
File Location:
references/apm.md:311-316, 377-401
Vulnerability Type: Unauthenticated remote dependency retrieval
Risk Level: HighVulnerable Code
markdown ### Agent Download URL Pattern | Network | URL Pattern | |---------|-------------| | Public | `http://arms-apm-{regionId}.oss-{regionId}.aliyuncs.com/<path>` | | VPC | `http://arms-apm-{regionId}.oss-{regionId}-internal.aliyuncs.com/<path>` |bash ## Java — AliyunJavaAgent (Manual Install) ### 1. Download Agent wget -T 30 -t 3 "http://arms-apm-{regionId}.oss-{regionId}[-internal].aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip unzip AliyunJavaAgent.zip -d /opt/ ### 2. Startup Configuration java -javaagent:/opt/AliyunJavaAgent/aliyun-java-agent.jar \ -Darms.licenseKey={LicenseKey} \ -Darms.appName={appName} \ -Darms.workspace={workspace} \ -jar app.jarTechnical Analysis
The onboarding instructions retrieve
AliyunJavaAgent.zipover plaintext HTTP. HTTP provides neither server authentication nor transport integrity. The workflow does not verify a cryptographic signature, certificate-backed manifest, or pinned digest before extracting the archive into/opt.The downloaded JAR is subsequently passed to the JVM through
-javaagent. Java agents execute inside the target JVM and can instrument classes, register transformers, access application memory, read process credentials, and perform arbitrary operations with the application process's operating-system privileges.Although downloading an observability agent is consistent with the Skill's stated purpose, the unauthenticated delivery channel creates a concrete supply-chain boundary violation.
Attack Path
- A user requests Java APM onboarding for an ECS or host deployment.
- The Skill presents the documented
wgetcommand using anhttp://URL. - The user or Agent runs the command from a network where an attacker can intercept or alter plaintext traffic.
- T ...[truncated 1003 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace all public and internal agent URLs with authenticated HTTPS endpoints.
- Publish a signed release manifest or trusted SHA-256 digest for every supported agent version.
- Download to a controlled temporary location and verify the artifact before extraction:
- Reject redirects to unapproved schemes or hosts.
- Validate the TLS certificate.
- Compare the artifact digest using a fail-closed check.
- Prefer a vendor signature whose verification key is distributed independently.
- Pin an explicit agent version rather than relying on a mutable object path.
- Extract only after verification and validate archive members before writing to
/opt. - Abort onboarding if HTTPS or integrity verification is unavailable; do not silently fall back to HTTP.
