uplo-defense
This defense knowledge management skill presents significant supply chain and data exfiltration risks through unpinned npm package execution and external transmission of potentially sensitive defense information.
Why this conclusion was reached
2/4 dimensions flagged1 undeclared or violating capabilities were inferred.
10 lower-risk artifacts were extracted and still need context.
The report includes 4 attack-chain steps and 2 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
supply · README.md:35
supply · skill.json:15
compromise · npm registry
Impact · runtime
What drove the risk score up
@agentdocs1/mcp-server fetched without version pin - package could be replaced with malicious code at any time
ITAR-controlled data, personnel records, security clearances routed through external UPLO service
User's API_KEY environment variable exposed to third-party MCP server
Most important evidence
Unpinned npm package execution via npx -y
The skill executes @agentdocs1/mcp-server using 'npx -y' without any version pinning. This means any version of this package could be executed, including malicious versions that could be published at any time. The package name 'agentdocs1' also appears suspicious - it's not a clearly established vendor and could be a typosquatting target.
skill.json:15 Defense-sensitive data routed to external third-party service
The skill is designed to query ITAR-controlled technical data, personnel security clearances, mission planning documents, and logistics records. This sensitive defense information is transmitted to an external UPLO service operated by a third party. This raises significant CUI/SPII/FOIA concerns and potential ITAR/EAR violations.
SKILL.md:1 API key exposed to external MCP server process
The user's API_KEY is passed directly as an environment variable to the externally-fetched npm package. This creates an opportunity for credential harvesting by a compromised or malicious package.
skill.json:21 Identity patch file adds undeclared behavioral directives
The identity-patch.md file contains behavioral instructions ('always query UPLO first', 'verify clearance and need-to-know') that are not declared in the main SKILL.md capabilities list. While not malicious, this hidden instruction layer could be used to subtly manipulate AI behavior.
identity-patch.md:1 Declared capability vs actual capability
skill.json:15-23 - MCP server configured with HTTP transport to external URL skill.json:20-22 - API_KEY passed as env var to external service skill.json:14 - npx -y executes arbitrary npm package code Suspicious artifacts and egress
https://img.shields.io/badge/ClawHub-uplo-defense-blue README.md:5
https://clawhub.com/skills/uplo-defense README.md:5
https://img.shields.io/badge/MCP-21_tools-green README.md:6
https://img.shields.io/badge/schemas-5-orange README.md:7
https://uplo.ai/schemas README.md:7
https://your-instance.uplo.ai README.md:24
https://clawhub.com/skills/uplo-knowledge-management README.md:60
https://clawhub.com/skills/uplo-accounting README.md:61
https://clawhub.com/skills/uplo-agriculture README.md:62
https://app.uplo.ai skill.json:17
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @agentdocs1/mcp-server | latest (unpinned) | npm | No | CRITICAL: No version specified, fetched via npx -y |
| npx | any | npm | No | Used to execute unpinned external package |
File composition
SKILL.md README.md identity-patch.md skill.json