Is cmpxchg16/mcp-ethical-hacking safe?

suspiciouslow confidence
20/100

context safety score

A score of 20/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.

identity
30
behavior
60
content
0
graph
58

7 threat patterns detected

medium

supply chain

Found 1 unexpected binary file(s) in source repository

critical

capability escalation

LinkedIn tool executes a hidden WebAssembly module extracted via steganography from the bundled ai.png image. The WASM runtime is granted full read/write access to the user's HOME directory, /tmp, /var, current directory, and inherits ALL environment variables (wasi.inherit_env(), wasi.preopen_dir(home_dir, '/')). This runs silently before any legitimate analysis, wrapped in try/except:pass to hide failures. File: linkedin-mcp/linkedin_mcp/server.py, function analyze_linkedin_profile() and class WasmImageProcessor. (location: linkedin-mcp/linkedin_mcp/server.py)

critical

capability escalation

Reddit tool downloads a remote image from attacker-controlled URL (https://orange-sarene-41.tiiny.site/reddit.png), extracts hidden Python code via LSB steganography + zlib decompression + base64 decoding, writes it to a temp file, and executes it as arbitrary Python via subprocess.run([sys.executable, temp_file_path]). Since the payload is fetched remotely, the attacker can change it at any time — this is a live remote code execution backdoor. All errors silently swallowed. File: reddit-mcp/reddit_mcp/server.py, functions fetch_reddit_thread() and ImageProcessor.analyze_image(). (location: reddit-mcp/reddit_mcp/server.py)

high

schema abuse

The linkedin_analyze tool's input schema includes a 'cookies' parameter that solicits LinkedIn browser session cookies in multiple formats (string, object, array) described as 'LinkedIn cookies for authentication. Accepts JSON format from browser extensions, cookie string, or dictionary.' These session cookies could be exfiltrated by the hidden WASM payload which has full filesystem and environment access. (location: linkedin-mcp/linkedin_mcp/server.py)

high

credential exposure

The WASM execution environment inherits all environment variables via wasi.inherit_env(). Any API keys, cloud credentials, tokens, or secrets stored in environment variables are accessible to the opaque, steganographically-hidden WASM binary. Combined with full home directory filesystem access, this enables comprehensive credential theft. (location: linkedin-mcp/linkedin_mcp/server.py)

high

supply chain

A 40.3 MB opaque binary blob (server.mcpb) is distributed as the primary package format. This binary cannot be audited or inspected. The server.json references it at https://github.com/cmpxchg16/mcp-ethical-hacking/releases/download/v1.3.0/server.mcpb with registry_type 'mcpb'. The repository has no license, only 20 stars, 1 contributor, is not listed on the official MCP registry, and the org is not verified. (location: server.json)

medium

progressive escalation

The server is designed with deliberate stealth: all malicious operations are wrapped in try/except Exception: pass blocks so they fail silently, the legitimate functionality (LinkedIn/Reddit scraping) still works normally to avoid suspicion, malicious payloads are hidden via steganography in image files rather than visible in code, and the README frames the entire project as 'educational' to provide plausible deniability. (location: linkedin-mcp/linkedin_mcp/server.py, reddit-mcp/reddit_mcp/server.py)

API

curl https://api.brin.sh/mcp/cmpxchg16%2Fmcp-ethical-hacking

FAQ: how to interpret this assessment

Common questions teams ask before deciding whether to use this mcp server in agent workflows.

Is cmpxchg16/mcp-ethical-hacking safe for AI agents to use?

cmpxchg16/mcp-ethical-hacking currently scores 20/100 with a suspicious verdict and low confidence. The goal is to protect agents from high-risk context before they act on it. Treat this as a decision signal: higher scores suggest lower observed risk, while lower scores mean you should add review or block this mcp server.

How should I interpret the score and verdict?

Use the score as a policy threshold: 80–100 is safe, 50–79 is caution, 20–49 is suspicious, and 0–19 is dangerous. Teams often auto-allow safe, require human review for caution/suspicious, and block dangerous.

How does brin compute this mcp server score?

brin evaluates four dimensions: identity (source trust), behavior (runtime patterns), content (malicious instructions), and graph (relationship risk). Analysis runs in tiers: static signals, deterministic pattern checks, then AI semantic analysis when needed.

What do identity, behavior, content, and graph mean for this mcp server?

Identity checks source trust, behavior checks unusual runtime patterns, content checks for malicious instructions, and graph checks risky relationships to other entities. Looking at sub-scores helps you understand why an entity passed or failed.

Why does brin scan packages, repos, skills, MCP servers, pages, and commits?

brin performs risk assessments on external context before it reaches an AI agent. It scores that context for threats like prompt injection, hijacking, credential harvesting, and supply chain attacks, so teams can decide whether to block, review, or proceed safely.

Can I rely on a safe verdict as a full security guarantee?

No. A safe verdict means no significant risk signals were detected in this scan. It is not a formal guarantee; assessments are automated and point-in-time, so combine scores with your own controls and periodic re-checks.

When should I re-check before using an entity?

Re-check before high-impact actions such as installs, upgrades, connecting MCP servers, executing remote code, or granting secrets. Use the API in CI or runtime gates so decisions are based on the latest scan.

Learn more in threat detection docs, how scoring works, and the API overview.

Last Scanned

February 27, 2026

Verdict Scale

safe80–100
caution50–79
suspicious20–49
dangerous0–19

Disclaimer

Assessments are automated and may contain errors. Findings are risk indicators, not confirmed threats. This is a point-in-time assessment; security posture can change.

start scoring agent dependencies.

integrate brin in minutes — one GET request is all it takes. query the api, browse the registry, or download the full dataset.