Close Open Privacy Scan

bolt Snapshot: commit 120ae7a
science engine v1.22
schedule 2026-07-21T09:06:14.024884+00:00

verified_user No application data leak found

No high-confidence exfiltration was found in application code.

App Privacy Score

82 /100
Low privacy risk

Low risk · 47 finding(s)

Dependency score: 97 (Low risk)

bar_chart Score Breakdown

egress −15
env_fs −3

list Scan Summary

0 high 0 medium 47 low
First-party packages: 1
Dependency packages: 1
Ecosystem: python

swap_horiz External domains

docs.hex-rays.comgithub.compython.docs.hex-rays.com

</> First-Party Code

first-party (python)

python first-party
expand_more 43 low-confidence finding(s)
low env_fs test-only Excluded from app score #773414fd03c8b905 Filesystem access.
repo/scripts/stress_search_cancellation.py:81
    log = open(log_path, "wb")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #82e70869783cb429 Filesystem access.
repo/scripts/stress_search_cancellation.py:100
            txt = log_path.read_text(errors="replace")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress test-only Excluded from app score #5ac2db7c212e450e Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/scripts/stress_search_cancellation.py:124
            with urllib.request.urlopen(req, timeout=5) as resp:

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress test-only Excluded from app score #ca3a76d2a4be45b0 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/scripts/stress_search_cancellation.py:162
        with urllib.request.urlopen(req, timeout=10) as resp:

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress test-only Excluded from app score #f93d9d90504bca10 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/scripts/stress_search_cancellation.py:189
        with urllib.request.urlopen(req, timeout=client_timeout) as resp:

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #95fa7cca5195ad88 Filesystem access.
repo/src/ida_pro_mcp/ida_mcp/api_python.py:231
        with open(file_path, "r", encoding="utf-8") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #225b4b5a07e7a506 Filesystem access.
repo/src/ida_pro_mcp/ida_mcp/api_resources.py:47
        with open(input_path, "rb") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #16d6f2aaf67d1a9f Filesystem access.
repo/src/ida_pro_mcp/ida_mcp/api_survey.py:138
        with open(input_path, "rb") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #cee20a4e3d604304 Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/discovery.py:42
        return os.path.join(os.environ["APPDATA"], "Hex-Rays", "IDA Pro")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #3a0f2af47418a27c Filesystem access.
repo/src/ida_pro_mcp/ida_mcp/discovery.py:139
            with open(file_path, "r", encoding="utf-8") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #8bb797b7e4a3b332 Filesystem access.
repo/src/ida_pro_mcp/ida_mcp/profile.py:23
    return parse_profile(Path(path).read_text(encoding="utf-8"))

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #54308bfa6e77327c Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/rpc.py:23
_download_base_url: str = os.environ.get("IDA_MCP_URL", "http://127.0.0.1:13337")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #dc0797f1f999b975 Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/sync.py:63
    value = os.getenv(_TOOL_TIMEOUT_ENV, "").strip()

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #9778ca1e1e745630 Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/utils.py:42
    return os.environ.get("IDA_MCP_ANALYSIS_PROMPT", DEFAULT_ANALYSIS_PROMPT) or None

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #0acb33de7d4f1bd2 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/ida_mcp/zeromcp/jsonrpc.py:50
        event = _pending_requests.get(request_id)

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #54fe77ff72efdf6b Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/zeromcp/jsonrpc.py:58
    value = os.getenv(name)

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #c2548f0412aeb070 Environment-variable access.
repo/src/ida_pro_mcp/ida_mcp/zeromcp/jsonrpc.py:74
    for m in os.getenv("IDA_MCP_LOG_SKIP_METHODS", "tools/call").split(",")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #7e5cf829950fcbdd Environment-variable access.
repo/src/ida_pro_mcp/idalib_server.py:290
    if not "IDA_MCP_URL" in os.environ:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #d191e176cce2e7a0 Environment-variable access.
repo/src/ida_pro_mcp/idalib_supervisor.py:65
WORKER_OPEN_TIMEOUT_SEC = float(os.environ.get("IDA_MCP_OPEN_TIMEOUT", "1800"))

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #c3c8da4cdebadaf3 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/idalib_supervisor.py:393
            conn.request(
                "POST",
                self._worker_request_path(),
                body,
                {
                    "Content-Type": "application/json",
                    "Accept": "application/json, text/event-stream",
                },
            )

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress production #8a1b9dc32b16089d Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/idalib_supervisor.py:642
            existing = self.path_to_session.get(self._path_key(resolved_path))

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress production #f6b72ce545dd9b7c Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/idalib_supervisor.py:678
            existing = self.path_to_session.get(self._path_key(resolved))

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress production #e51288e6188306cc Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/idalib_supervisor.py:772
            existing = self.path_to_session.get(self._path_key(resolved))

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #b0c7fb926b49d580 Environment-variable access.
repo/src/ida_pro_mcp/idalib_supervisor.py:1206
        default=int(os.environ.get("IDA_MCP_MAX_WORKERS", "4")),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #7e9d91678d913503 Environment-variable access.
repo/src/ida_pro_mcp/installer.py:58
    venv = os.environ.get("VIRTUAL_ENV")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #7067fad05015db28 Environment-variable access.
repo/src/ida_pro_mcp/installer.py:99
        value = os.environ.get(var)

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #98d8c6414b30a7a4 Filesystem access.
repo/src/ida_pro_mcp/installer.py:224
            with open(config_path, "rb") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #315de44ef64a33e5 Filesystem access.
repo/src/ida_pro_mcp/installer.py:227
        with open(config_path, "r", encoding="utf-8") as f:

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #aa5cf4b905a1c24e Environment-variable access.
repo/src/ida_pro_mcp/installer.py:440
        return os.path.join(os.environ["APPDATA"], "Hex-Rays", "IDA Pro")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #c25f48834649c0a7 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:65
    return os.getenv("KIMI_CODE_HOME") or os.path.join(

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #65d707859014591f Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:75
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #8ce4a8a7ba96e6f5 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:86
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #d55188d81137b579 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:97
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #272c8621d54e9b94 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:107
                os.path.join(os.getenv("APPDATA", ""), "Claude"),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #6f13736d843c9921 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:123
                os.path.join(os.getenv("APPDATA", ""), "Zed"),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #04d48fac2cb5f5bb Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:144
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #78a06b6898b508e6 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:152
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #d91bd032d104aa87 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:184
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #497e69d720f86784 Environment-variable access.
repo/src/ida_pro_mcp/installer_data.py:192
                    os.getenv("APPDATA", ""),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #e395cf2f9382a200 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/server.py:99
        conn.request(
            "POST",
            _get_proxy_request_path(),
            payload,
            _get_proxy_request_headers(),
        )

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low egress production #aeac4f39e9a2a28f Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/ida_pro_mcp/server.py:120
        conn.request("GET", path)

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #7354e207f07155a4 Environment-variable access.
repo/src/ida_pro_mcp/test.py:150
        in_ci = os.environ.get("CI", "").lower() not in ("", "0", "false", "no")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #959aef9223f52abc Filesystem access.
repo/src/ida_pro_mcp/trace_dump.py:36
        out = open(args.output, "w", encoding="utf-8") if args.output else sys.stdout

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

</> Dependencies

idapro

python dependency
expand_more 4 low-confidence finding(s)
low env_fs dependency Excluded from app score #987d857ae8c2f810 Environment-variable access.
pkgs/python/[email protected]/idapro/__init__.py:65
            os.environ['PATH'] = root_dir + os.pathsep + os.environ.get('PATH', '')

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs dependency Excluded from app score #8aa3351255677e9c Environment-variable access.
pkgs/python/[email protected]/idapro/config.py:10
    idausr_env = os.getenv("IDAUSR")

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs dependency Excluded from app score #30b6baa881e5cc66 Environment-variable access.
pkgs/python/[email protected]/idapro/config.py:16
            config_dir = Path(os.getenv('APPDATA')) / "Hex-Rays" / "IDA Pro"

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs dependency Excluded from app score #70fc169f7e5cadac Environment-variable access.
pkgs/python/[email protected]/idapro/config.py:79
    idadir = os.environ.get('IDADIR')

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.