@hostinger/mcp@2.5.1
MCP server for Hostinger API
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe active request path forwards existing service credentials to an unrestricted configurable destination, meeting the credential-forwarding warning rule. No concrete blocking attack was established.
Static reason
One or more suspicious static signals were detected.
Trigger
Run the MCP server with API_BASE_URL overridden and invoke an authenticated operation while cached OAuth credentials are available.
Impact
The operator-selected endpoint can receive a Hostinger bearer token usable until expiration or revocation.
Mechanism
The runtime resolves cached authentication independently of the selected API destination and forwards it in the Authorization header.
AI rationale
The active request path forwards existing service credentials to an unrestricted configurable destination, meeting the credential-forwarding warning rule. No concrete blocking attack was established.
Evidence
src/core/oauth.jssrc/core/runtime.jssrc/servers/all.jscredentials.json
Network endpoints2
developers.hostinger.comauth.hostinger.com
Decision evidence
public snapshotAI called this Suspicious at 96.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
- The OAuth provider automatically reuses an existing cached access token when it remains valid.
- API_BASE_URL selects the request destination without binding it to Hostinger.
- API requests attach the resolved token as bearer authorization and send it through axios.
- The active server entrypoint starts the runtime, whose MCP operation handlers activate authenticated requests.
- package.json declares no automatic installation lifecycle hooks.
- build.js runs the TypeScript compiler through an explicit build command.
Evidence against
- The default API destination belongs to Hostinger.
- Exposure requires a configured destination override and an authenticated operation; no covert recipient or malicious intent was established.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
HighEntropyStringsMinified
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 · L18src/core/oauth.jsView file
82async _resolveToken() {
const creds = await this._load();
if (
creds &&
creds.access_token &&
creds.expires_at &&
Date.now() < creds.expires_at
) {
return creds.access_token;
}
if (creds
Medium
Ai Review Evidence
The OAuth provider automatically reuses an existing cached access token when it remains valid.
src/core/oauth.jsFindings
3 High5 Medium4 Low
HighChild Processbuild.js
HighShell
HighRuntime Package Installbuild.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumAi Review Evidencesrc/core/oauth.js
MediumAi Review Evidencesrc/core/runtime.js
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
Affected versions and remediation
This report applies to @hostinger/mcp@2.5.1.
See all versions of @hostinger/mcp for other recorded verdicts.
- Review the evidence and your use of @hostinger/mcp@2.5.1 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.