@hostinger/mcp@1.63.3
MCP server for Hostinger API
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe configurable destination is not bound to the credential's intended service, creating a conditional credential-forwarding capability. The behavior is user-triggered and there is no install-time execution, so blocking is not supported.
Static reason
One or more suspicious static signals were detected.
Trigger
A user runs the MCP server, sets API_BASE_URL to a destination, and invokes a tool that requires authentication.
Impact
A user-supplied unrestricted endpoint can conditionally receive the Hostinger service credential.
Mechanism
The handler resolves a bearer token, derives the request URL from the configurable base, and sends the token in an Authorization header.
AI rationale
The configurable destination is not bound to the credential's intended service, creating a conditional credential-forwarding capability. The behavior is user-triggered and there is no install-time execution, so blocking is not supported.
Evidence
src/core/runtime.jssrc/core/oauth.js
Network endpoints1
developers.hostinger.com
Decision evidence
public snapshotAI called this Suspicious at 93.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
- The manifest exposes command entry points and has no automatic install lifecycle script.
- The runtime accepts API_BASE_URL as its request base without a destination allowlist.
- The OAuth provider obtains a bearer token from Hostinger-related environment variables.
- A tool handler builds a URL from that base, attaches the bearer token, and sends the request with Axios.
Evidence against
- The configured default API base is the Hostinger developer host.
- The credential-bearing request occurs when an MCP tool is invoked, not during installation.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
HighEntropyStringsMinifiedUrlStrings
Source & flagged code
4 flaggedbuild.jsView file
2L3: import { exec } from 'child_process';
L4: import fs from 'fs';
High
18console.log('Compiling TypeScript...');
L19: exec('npx tsc', (error, stdout, stderr) => {
L20: if (error) {
High
Runtime Package Install
Package source invokes a package manager install command at runtime.
build.jsView on unpkg · L18package.jsonView file
35"scripts": {
"start": "node src/servers/all.js",
"build": "node build.js",
"start:ts": "npx tsc && node dist/src/servers/all.js"
},
"dependencies": {
"@modelcontextprot
Medium
Suspicious Lifecycle Evidence
The manifest exposes command entry points and has no automatic install lifecycle script.
package.jsonView on unpkg · L35Findings
3 High5 Medium4 Low
HighChild Processbuild.js
HighShell
HighRuntime Package Installbuild.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumSuspicious Lifecycle Evidencepackage.json
MediumAi Review Evidencesrc/core/runtime.js
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
Affected versions and remediation
This report applies to @hostinger/mcp@1.63.3.
See all versions of @hostinger/mcp for other recorded verdicts.
- Review the evidence and your use of @hostinger/mcp@1.63.3 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.