Hostile 100% python Download

brein-mcp 0.5.17

Hostile findings indicate data exfiltration

“A policy-aware MCP server for an org-wide knowledge brain that lives in a git repo.”

Anomalous package hides outbound data exfiltrationAnomalous package runs an obfuscated install hook

Evidence

imports os lines 1–12
1"""Environment-driven configuration for the brain MCP server."""
2
3from __future__ import annotations
4
5import os
6import re
7from pathlib import Path
8
9_HOME = Path.home()
10REPO_PATH = Path(os.environ.get("BRAIN_REPO", str(_HOME / ".brein" / "brain"))).resolve()
11DOCS_PATH = REPO_PATH / "docs"
12MAX_READ_CHARS = int(os.environ.get("BR …
Python reads credential-named environment variable lines 13–16
13:71… "telemetry" / "retrieval-log.jsonl")))
14VECTOR_INDEX_PATH = Path(os.environ.get("BRAIN_VECTOR_INDEX", str(_HOME / ".brein" / "vector-index.json")))
15EMBEDDING_MODEL_NAME = os.environ.get("BRAIN_EMBEDDING_MODEL", "BAAI/bge-small-en-v1.5")
16VE …
Python getenv name contains KEY lines 17–20
17:47… IN_VECTOR_CHUNK_OVERLAP", "250"))
18HYBRID_KEYWORD_WEIGHT = float(os.environ.get("BRAIN_HYBRID_KEYWORD_WEIGHT", "0.55"))
19HYBRID_VECTOR_WEIGHT = float(os.environ.get("BRAIN_HYBRID_VECTOR_WEIGHT", "0.45"))
20HASH …
Compiles a set of Python regex patterns lines 30–35
30:66… ")
31RERANK_BIN_DEFAULT = os.environ.get("BRAIN_RERANK_BIN", "")
32
33SECRET_PATTERNS = [
34 re.compile(r"(?i)(password|passwd|pwd|api[_-]?key|x-api-key|secret|token|auth[_-]?token|private[_-]?key)\s*[:=]\s*[^\s`'\"]{8,}"),
35 re.c …
Python references an AI agent skill tree lines 41–51
41:26… A|ASIA)[A-Z0-9]{16}\b"),
42]
43
44ALLOWED_WRITE_PREFIXES = ("docs/", "skills/", "templates/")
45ALLOWED_ROOT_WRITES = {"AGENTS.md", "README.md", "CONTRIBUTING.md"}
46STOPWORDS = {
47 "a", "an", "and", "are", "as", "at", "be", "by", "for", "from", "how",
48 "in", "is", "it", "of", "on", "or", "our", "the", "to", "what", "when",
49 "where", "who", "why", "with", "does", "do", "we", "have", "has",
50 "against", "about",
51}

Showing the top 5 files — 5 more files (80 regions) not shown.

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.