context safety score
A score of 20/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.
supply chain
Found 1 unexpected binary file(s) in source repository
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)
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)
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)
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)
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)
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)
curl https://api.brin.sh/mcp/cmpxchg16%2Fmcp-ethical-hackingCommon questions teams ask before deciding whether to use this mcp server in agent workflows.
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.
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.
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.
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.
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.
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.
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.
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.
integrate brin in minutes — one GET request is all it takes. query the api, browse the registry, or download the full dataset.