com.blockscout/mcp-server
v0.10.0MCP server for Blockscout
242
Total
36
Critical
43
High
163
Medium
Findings
unknownEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
14: 2. **Gemini CLI Agent** (evaluation runner)
15: - Uses the sandbox image from Google's Gemini CLI
>>> 16: - Connects to MCP server via URL specified in configuration chain (`.env` → `docker-compose.yml` → `.gemini/settings.json`)
17: - Instructions are defined in [`GEMINI-evals.md`](GEMINI-evals.md) with additional output formatting rules from [`output-format-rules.md`](output-format-rules.md)
18: - Authentication via Gemini API key (optional) or Login with Google (profile stored in `GEMINI_USER_PROFILE` directory, defaults to `~/.gemini`)Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
23: ### Environment Variables
24:
>>> 25: Create a `.env` file based on `.env.example` with the following variables:
26:
27: - **`MCP_SERVER_URL`**: URL of the MCP server to test (default: `http://mcp-server:8080` for internal Docker server)Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
41:
42: ```plaintext
>>> 43: .env → docker-compose.yml → .gemini/settings.json
44: ```
45: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
109: **Prerequisites:**
110:
>>> 111: - Create `.env` file with required configuration (see Configuration section above)
112: - Pull Gemini CLI image: `docker pull us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:${GEMINI_CLI_DOCKER_IMAGE_VERSION}`
113: - **For internal MCP server**: Either pull the image (`docker pull ghcr.io/blockscout/mcp-server:latest`) or build locally (`docker build -t ghcr.io/blockscout/mcp-server:latest .` from project root)Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
112: - Pull Gemini CLI image: `docker pull us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:${GEMINI_CLI_DOCKER_IMAGE_VERSION}`
113: - **For internal MCP server**: Either pull the image (`docker pull ghcr.io/blockscout/mcp-server:latest`) or build locally (`docker build -t ghcr.io/blockscout/mcp-server:latest .` from project root)
>>> 114: - **For external MCP server**: Set `MCP_SERVER_URL` to the external server URL in `.env` file (no MCP server image needed)
115:
116: ### Output FilesReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
86: }
87:
>>> 88: # Load environment from .env file if it exists
89: load_env() {
90: local env_file="${SCRIPT_DIR}/.env"Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
88: # Load environment from .env file if it exists
89: load_env() {
>>> 90: local env_file="${SCRIPT_DIR}/.env"
91: if [[ -f "$env_file" ]]; then
92: # Export variables from .env, ignoring comments and empty linesReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
90: local env_file="${SCRIPT_DIR}/.env"
91: if [[ -f "$env_file" ]]; then
>>> 92: # Export variables from .env, ignoring comments and empty lines
93: set -a
94: # shellcheck source=/dev/nullReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
135: if [[ -z "${GEMINI_CLI_DOCKER_IMAGE_VERSION:-}" ]]; then
136: error "GEMINI_CLI_DOCKER_IMAGE_VERSION is not set.
>>> 137: Please configure it in ${SCRIPT_DIR}/.env file:
138: echo 'GEMINI_CLI_DOCKER_IMAGE_VERSION=0.2.0' >> ${SCRIPT_DIR}/.env"
139: fiReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
136: error "GEMINI_CLI_DOCKER_IMAGE_VERSION is not set.
137: Please configure it in ${SCRIPT_DIR}/.env file:
>>> 138: echo 'GEMINI_CLI_DOCKER_IMAGE_VERSION=0.2.0' >> ${SCRIPT_DIR}/.env"
139: fi
140: }Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
173: 1. Pull the image: docker pull $MCP_SERVER_IMAGE
174: 2. Build locally: docker build -t $MCP_SERVER_IMAGE .
>>> 175: 3. Use external server: Set MCP_SERVER_URL in ${SCRIPT_DIR}/.env
176: Example: echo 'MCP_SERVER_URL=https://your-server.com' >> ${SCRIPT_DIR}/.env"
177: fiReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
174: 2. Build locally: docker build -t $MCP_SERVER_IMAGE .
175: 3. Use external server: Set MCP_SERVER_URL in ${SCRIPT_DIR}/.env
>>> 176: Example: echo 'MCP_SERVER_URL=https://your-server.com' >> ${SCRIPT_DIR}/.env"
177: fi
178: info "Using internal MCP server (image: $MCP_SERVER_IMAGE)"Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
194: [Exact section and content to add/modify, if applicable]
195:
>>> 196: #### .env.example
197:
198: [Exact lines to add, if applicable]Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
67:
68: 3. **Update environment configuration files**:
>>> 69: - Add to `.env.example`:
70:
71: ```shellReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
412: ```
413:
>>> 414: 2. **Add to `.env.example`**:
415:
416: ```shellReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
169: If you encounter authentication errors:
170:
>>> 171: 1. **Using Gemini API Key**: Ensure `GEMINI_API_KEY` is set in your `.env` file
172: 2. **Using Login with Google**:
173: - Run `./run.sh` to start an interactive sessionReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
182: 1. **Internal server**: Verify the Docker image exists: `docker images | grep mcp-server`
183: 2. **External server**: Test connectivity: `curl -I ${MCP_SERVER_URL}`
>>> 184: 3. **Check configuration chain**: Verify `MCP_SERVER_URL` is properly propagated through `.env` → `docker-compose.yml` → `.gemini/settings.json`
185:
186: ### Profile IsolationReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
189:
190: ```bash
>>> 191: # In .env file for testing
192: GEMINI_USER_PROFILE=/home/user/.gemini-eval
193: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
236: * Defines the `CMD` to run the MCP server in stdio mode by default (`python -m blockscout_mcp_server`).
237: * **`.env.example`**:
>>> 238: * Provides a template for users to create their own `.env` file for local development.
239: * Lists all required environment variables, such as:
240: * `BLOCKSCOUT_BS_API_KEY`: API key for Blockscout API access (if required).Report false positiveSSH directory access
Detected by automated pattern matching (rule DE-001) with medium confidence. May be a false positive.
13: "safe-directory": "git config --global --add safe.directory ${containerWorkspaceFolder}",
14: "uv": "curl -LsSf https://astral.sh/uv/install.sh | sh && sudo `which uv` pip install --system -e \".[test,dev]\" || exit 0",
>>> 15: "known_hosts": "sudo chown ${USER}:${USER} ${HOME}/.ssh && ssh-keyscan github.com > ${HOME}/.ssh/known_hosts",
16: "claude": "curl -fsSL https://claude.ai/install.sh | bash",
17: "ngrok": "curl -L https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm64.tgz | sudo tar -xvz -C /usr/local/bin || true",Report false positiveSSH directory access
Detected by automated pattern matching (rule DE-001) with medium confidence. May be a false positive.
24: // "runArgs": [ "--add-host=host.docker.internal:host-gateway"],
25: // "mounts": [
>>> 26: // "source=${localEnv:HOME}/.ssh/config,target=/home/vscode/.ssh/config,type=bind,consistency=cached",
27: // "source=${localEnv:HOME}/.ssh/id_rsa,target=/home/vscode/.ssh/id_rsa,type=bind,consistency=cached",
28: // "source=${localEnv:HOME}/.claude.devcontainer.json,target=/home/vscode/.claude.json,type=bind,consistency=cached",Report false positiveSSH directory access
Detected by automated pattern matching (rule DE-001) with medium confidence. May be a false positive.
25: // "mounts": [
26: // "source=${localEnv:HOME}/.ssh/config,target=/home/vscode/.ssh/config,type=bind,consistency=cached",
>>> 27: // "source=${localEnv:HOME}/.ssh/id_rsa,target=/home/vscode/.ssh/id_rsa,type=bind,consistency=cached",
28: // "source=${localEnv:HOME}/.claude.devcontainer.json,target=/home/vscode/.claude.json,type=bind,consistency=cached",
29: // "source=${localEnv:HOME}/.claude,target=/home/vscode/.claude,type=bind,consistency=cached",Report false positiveSSH private key access
Detected by automated pattern matching (rule DE-005) with medium confidence. May be a false positive.
25: // "mounts": [
26: // "source=${localEnv:HOME}/.ssh/config,target=/home/vscode/.ssh/config,type=bind,consistency=cached",
>>> 27: // "source=${localEnv:HOME}/.ssh/id_rsa,target=/home/vscode/.ssh/id_rsa,type=bind,consistency=cached",
28: // "source=${localEnv:HOME}/.claude.devcontainer.json,target=/home/vscode/.claude.json,type=bind,consistency=cached",
29: // "source=${localEnv:HOME}/.claude,target=/home/vscode/.claude,type=bind,consistency=cached",Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
4:
5: class ServerConfig(BaseSettings):
>>> 6: # Load environment variables from a local .env file (current working directory)
7: # and require the BLOCKSCOUT_ prefix for all settings
8: model_config = SettingsConfigDict(env_prefix="BLOCKSCOUT_", env_file=".env", env_file_encoding="utf-8")Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
6: # Load environment variables from a local .env file (current working directory)
7: # and require the BLOCKSCOUT_ prefix for all settings
>>> 8: model_config = SettingsConfigDict(env_prefix="BLOCKSCOUT_", env_file=".env", env_file_encoding="utf-8")
9:
10: bs_api_key: str = "" # Default to empty, can be set via envReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
34:
35: # Environment files
>>> 36: .env
37: .env.*
38: !.env.exampleReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
35: # Environment files
36: .env
>>> 37: .env.*
38: !.env.example
39: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
36: .env
37: .env.*
>>> 38: !.env.example
39:
40: # Editor directories and filesReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
14: Do not assume that the developer will thoroughly read the MCP server's Python SDK or documentation of other 3rd-party components. Do not assume that the developer has access to the discussion's history. Create the plan with this limitation in mind.
15:
>>> 16: Assume that the developer will not prepare good documentation updates due to lack of experience in documentation preparation. Therefore, explicitly provide text snippets showing exactly what must be added to each documentation file. Include the specific sections, headings, and complete text content that should be inserted or modified in README.md, SPEC.md, AGENTS.md, API.md, TESTING.md, .env.example, and any other relevant documentation files.
17:
18: For testing requirements, explicitly specify:Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
3:
4: SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
>>> 5: [ -f "${SCRIPT_DIR}/.env" ] || {
6: echo "ERROR: ${SCRIPT_DIR}/.env not found" >&2
7: exit 1Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
4: SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5: [ -f "${SCRIPT_DIR}/.env" ] || {
>>> 6: echo "ERROR: ${SCRIPT_DIR}/.env not found" >&2
7: exit 1
8: }Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
7: exit 1
8: }
>>> 9: source "${SCRIPT_DIR}/.env"
10:
11: # Root dir for Gemini CLIReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
1: # Environment variables
>>> 2: .env
3:
4: # Python cacheReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
111: │ ├── conftest.py
112: │ ├── evals/ # Evaluation artifacts and runner configs for tool output checks
>>> 113: │ │ ├── .env.example
114: │ │ ├── .gemini/
115: │ │ │ └── settings.jsonReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
191: ├── TESTING.md # Testing instructions for HTTP mode with curl commands
192: ├── pyproject.toml # Project metadata and dependencies (PEP 517/518)
>>> 193: └── .env.example # Example environment variables
194: ```
195: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
235: * Sets up necessary environment variables (can be overridden at runtime).
236: * Defines the `CMD` to run the MCP server in stdio mode by default (`python -m blockscout_mcp_server`).
>>> 237: * **`.env.example`**:
238: * Provides a template for users to create their own `.env` file for local development.
239: * Lists all required environment variables, such as:Report false positiveDecoded base64 content: ��-�����+jب����?��-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��-�����+jب��b��-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: r��u�ܢ{Z�w���r�'
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ���z�(�֢���������"��
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: r��j)ޭj+��Zq�h�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: r��j)ޭj+��Zq�h�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��-��h�[?i�kz�?��-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �+a�����,�g)
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: {"url":"https://mcp.blockscout.com/mcp","timeout":180000}
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: rX�nZ�f���hr����l�g)
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �ƻ}yy���_u�5m�wW���
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: {"block_number":18999999,"index":42}
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ���q�b��y֜�*'
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��-�����+jب���os�M�- ����-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveSubprocess execution
Detected by automated pattern matching (rule SC-001) with medium confidence. May be a false positive.
41: run_env.update(env)
42:
>>> 43: result = subprocess.run(
44: [sys.executable, str(HOOK_PATH)],
45: input=json.dumps(hook_input),Report false positiveDecoded base64 content: �ƻ}yy���_u�5m�wW���
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: u穖)��g)�)쵩e
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: {"url":"https://mcp.blockscout.com/mcp","timeout":180000}
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: rX�nZ�f���hr����l�g)
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��ʚ��-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: M�-6�̑ث ��jwl
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveSubprocess execution
Detected by automated pattern matching (rule SC-001) with medium confidence. May be a false positive.
41: run_env.update(env)
42:
>>> 43: result = subprocess.run(
44: [sys.executable, str(HOOK_PATH)],
45: input=json.dumps(hook_input),Report false positiveDecoded base64 content: �ǜ��l�צ��(���
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �ǜ��l�צ��(���
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��\�f��Ȩ���zjz��
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��\�f��Ȩ���zjz��
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��zj~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��zj~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y����˛v*�u�Z
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y����˛v*�u�Z
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��ʚ��-�צ���o�?~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��ʚ��-
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �&{��z��ʚ��-�צ���o�?~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��az�鮈�r��zj~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��az�鮈�r��zj~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y���?~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y���?~)^
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: � +��Zq�?��#y�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: i�Rz���ǫ/`Z��E������
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: �<랜�Ο�N{����θ
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��b���j�ⶻ��g�����h
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: w)ښ'?�{-��-���
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveJavaScript fetch() call
Detected by automated pattern matching (rule NS-003) with medium confidence. May be a false positive.
17: "allow": [
18: "WebSearch",
>>> 19: "WebFetch(domain:github.com)",
20: "WebFetch(domain:raw.githubusercontent.com)",
21: "WebFetch(domain:developers.openai.com)",Report false positiveJavaScript fetch() call
Detected by automated pattern matching (rule NS-003) with medium confidence. May be a false positive.
18: "WebSearch",
19: "WebFetch(domain:github.com)",
>>> 20: "WebFetch(domain:raw.githubusercontent.com)",
21: "WebFetch(domain:developers.openai.com)",
22: "Bash(gh pr diff:*)",Report false positiveJavaScript fetch() call
Detected by automated pattern matching (rule NS-003) with medium confidence. May be a false positive.
19: "WebFetch(domain:github.com)",
20: "WebFetch(domain:raw.githubusercontent.com)",
>>> 21: "WebFetch(domain:developers.openai.com)",
22: "Bash(gh pr diff:*)",
23: "Bash(pytest:*)",Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
195: ```python
196: # Good: Historical data that won't change
>>> 197: GENESIS_BLOCK_HASH = "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"
198: USDC_CONTRACT = "0xa0b86a33e6ac4454df1b3b7df6b2e55e5ef2a74f"
199: VITALIK_ENS = "vitalik.eth"Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
16: - name: Install MCP Publisher
17: run: |
>>> 18: curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
19: chmod +x mcp-publisher # Make it executable
20: Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
32: For the most up-to-date and comprehensive instructions on publishing an MCP server, please refer to the official MCP Registry documentation:
33:
>>> 34: [Quickstart: Publish an MCP Server](https://github.com/modelcontextprotocol/registry/blob/main/docs/modelcontextprotocol-io/quickstart.mdx)
35:
36: ## Verifying DNS ConfigurationReport false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
60:
61: ```bash
>>> 62: curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/
63: ```
64: Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
57: ### Cursor Setup
58:
>>> 59: Use [this deeplink](https://cursor.com/en/install-mcp?name=blockscout&config=eyJ1cmwiOiJodHRwczovL21jcC5ibG9ja3Njb3V0LmNvbS9tY3AiLCJ0aW1lb3V0IjoxODAwMDB9) to install the Blockscout MCP server in Cursor.
60:
61: ### Gemini CLI SetupReport false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
147:
148: ```plaintext
>>> 149: Tell me more about the transaction `0xf8a55721f7e2dcf85690aaf81519f7bc820bc58a878fa5f81b12aef5ccda0efb`
150: on Redstone rollup.
151: ```Report false positiveHigh-entropy string (5.2 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.2 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
368:
369: - **Generated Opaque Cursor:**
>>> 370: `eyJibG9ja19udW1iZXIiOjE4OTk5OTk5LCJpbmRleCI6NDIsIml0ZW1zX2NvdW50Ijo1MH0`
371:
372: - **Final Tool Response (JSON):**Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
381: "chain_id": "1",
382: "endpoint_path": "/api/v2/transactions/0x.../logs",
>>> 383: "cursor": "eyJibG9ja19udW1iZXIiOjE4OTk5OTk5LCJpbmRleCI6NDIsIml0ZW1zX2NvdW50Ijo1MH0"
384: }
385: }Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
70:
71: <h3>Cursor Setup</h3>
>>> 72: <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=blockscout&config=eyJ1cmwiOiJodHRwczovL21jcC5ibG9ja3Njb3V0LmNvbS9tY3AiLCJ0aW1lb3V0IjoxODAwMDB9"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add Blockscout MCP server to Cursor" height="32" /></a>
73:
74: <h3>Gemini CLI Setup</h3>Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.4 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.2 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePython urllib network request
Detected by automated pattern matching (rule NS-002) with medium confidence. May be a false positive.
7: restart: unless-stopped
8: healthcheck:
>>> 9: test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8080/health')\""]
10: interval: 60s
11: timeout: 5sReport false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
80: "id": "eval-009",
81: "model": "gemini-2.5-pro",
>>> 82: "question": "Provide a comprehensive analysis of the transaction `0x6a6c375ea5c9370727cad7c69326a5f55db7b049623fba0e7ac52704b2778ba8` on Ethereum Mainnet. Also, specify a one-word category that best describes this transaction. Please collect as many details about this operation as possible before giving the final answer.",
83: "expected_result_format": "Format the answer according to the output format rules, ensuring that the final field is a single word.",
84: "ground_truth": {}Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
138: "id": "eval-017",
139: "model": "gemini-2.5-pro",
>>> 140: "question": "Analyze the transaction `0x70478ecd95d1d21fd588fa76b8d8f024d90cd339c2f68a50e84cbbc18436aa05` on Base. How many infinite token approvals did happen in the transaction?",
141: "expected_result_format": "The final answer is a list of tuples where each element is a tuple with the token symbol, the approver address and the spender address.",
142: "ground_truth": {}Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
198: "id": "eval-024",
199: "model": "gemini-2.5-pro",
>>> 200: "question": "Who is the final recipient of USDC tokens in `0xffc3e15d0c645d4ef62a25ed894a5cdf7da0c1a971cea49589a76b3c92e26a3c`? To whom did this account send any amount of USDC in the first transaction after `0xffc3e15d0c645d4ef62a25ed894a5cdf7da0c1a971cea49589a76b3c92e26a3c`?",
201: "expected_result_format": "The final answer is a tuple containing: the recipient of USDC tokens in the specified transaction, the next recipient of USDC (i.e., the recipient in the account's first subsequent USDC-sending transaction), and the transaction hash where USDC was next sent.",
202: "ground_truth": {}Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
205: "id": "eval-025",
206: "model":"gemini-2.5-pro",
>>> 207: "question": "There is a Uniswap V4 (0.3% fee) FET/ETH pool: PoolManager address `0x000000000004444c5dc75cB358380D2e3dE08A90`, Pool ID `0x80235dd0d2b0fbac1fc5b9e04d4af3e030efd2b1026823affec8f5a6c9306c38`. What are the two most recent trades in this pool?",
208: "expected_result_format": "The final answer is a list of tuples, where each tuple contains the trade date, direction (FET→ETH or ETH→FET), volume in FET, volume in ETH/WETH, and transaction hash.",
209: "ground_truth": {}Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
212: "id": "eval-026",
213: "model":"gemini-2.5-pro",
>>> 214: "question": "How many user operations are in the transaction that includes the user operation `0x23966c0b651bcdb06d097143deec0777b7beba56155efc1c3fa3ee9bade4b6b9`?",
215: "expected_result_format": "The final answer is a number.",
216: "ground_truth": {Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
221: "id": "eval-027",
222: "model":"gemini-2.5-pro",
>>> 223: "question": "How many user operations were successfully executed in the transaction `0xc24036ecca307090efee492f1da40d3abda9f86b9e8edde1f77e4a79fb99853f` on Base?",
224: "expected_result_format": "The final answer is a number.",
225: "ground_truth": {Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
230: "id": "eval-028",
231: "model":"gemini-2.5-pro",
>>> 232: "question": "How many user operations were successfully executed in the transaction `0xbcbfc2a62e468d2c8c5c00b570b3de23aa07a882bf4f5e1121824fe33639744a`?",
233: "expected_result_format": "The final answer is a number.",
234: "ground_truth": {Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.0 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.1 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.9 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
168: // Test bytes32
169: // Python: contract.functions.testBytes32(b'0x' + b'1234567890abcdef' * 2).call()
>>> 170: // Remix: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
171: function testBytes32(bytes32 _hash) public pure returns (bytes32) {
172: return keccak256(abi.encodePacked(_hash));Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
41: @pytest.mark.asyncio
42: async def test_direct_api_call_blocks_validated_pagination(mock_ctx):
>>> 43: path = "/api/v2/addresses/0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97/blocks-validated"
44: first = await retry_on_network_error(
45: lambda: direct_api_call(chain_id="1", endpoint_path=path, ctx=mock_ctx),Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
95: "action": "getLogs",
96: "address": "0x000000000004444c5dc75cB358380D2e3dE08A90",
>>> 97: "topic0": "0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f",
98: "topic1": "0x80235dd0d2b0fbac1fc5b9e04d4af3e030efd2b1026823affec8f5a6c9306c38",
99: "fromBlock": "0",Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
96: "address": "0x000000000004444c5dc75cB358380D2e3dE08A90",
97: "topic0": "0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f",
>>> 98: "topic1": "0x80235dd0d2b0fbac1fc5b9e04d4af3e030efd2b1026823affec8f5a6c9306c38",
99: "fromBlock": "0",
100: "toBlock": "latest",Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
11: async def test_direct_api_call_transaction_logs_integration(mock_ctx):
12: """Tests that direct_api_call dispatches transaction logs and validates the schema."""
>>> 13: tx_hash = "0xa519e3af3f07190727f490c599baf3e65ee335883d6f420b433f7b83f62cb64d"
14: endpoint_path = f"/api/v2/transactions/{tx_hash}/logs"
15: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
41: async def test_direct_api_call_transaction_logs_pagination(mock_ctx):
42: """Tests that direct_api_call can use a cursor to fetch a second page."""
>>> 43: tx_hash = "0xa519e3af3f07190727f490c599baf3e65ee335883d6f420b433f7b83f62cb64d"
44: endpoint_path = f"/api/v2/transactions/{tx_hash}/logs"
45: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
71: async def test_direct_api_call_transaction_logs_with_truncation(mock_ctx):
72: """Tests that direct_api_call correctly truncates oversized data fields."""
>>> 73: tx_hash = "0xa519e3af3f07190727f490c599baf3e65ee335883d6f420b433f7b83f62cb64d"
74: endpoint_path = f"/api/v2/transactions/{tx_hash}/logs"
75: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
97: async def test_direct_api_call_transaction_logs_paginated_search_for_truncation(mock_ctx):
98: """Tests that direct_api_call can find truncated data by searching across pages."""
>>> 99: tx_hash = "0xa519e3af3f07190727f490c599baf3e65ee335883d6f420b433f7b83f62cb64d"
100: endpoint_path = f"/api/v2/transactions/{tx_hash}/logs"
101: max_pages_to_check = 20Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
10: async def test_direct_api_call_transaction_summary_integration(mock_ctx):
11: """Tests that direct_api_call dispatches transaction summary and validates the schema."""
>>> 12: tx_hash = "0x5c7f2f244d91ec281c738393da0be6a38bc9045e29c0566da8c11e7a2f7cbc64"
13: endpoint_path = f"/api/v2/transactions/{tx_hash}/summary"
14: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
5: from tests.integration.helpers import retry_on_network_error
6:
>>> 7: USER_OPERATION_HASH = "0xcb0bb9a3335bb964bd54561e438f143e5b218729c45ebc62c081d5e95fcc4044"
8: COMPLEX_DECODED_CALL_DATA_HASH = "0x0670c393762002a1a1f0f7dd2df608142a02c06961a922d63f4cdc6a5456d248"
9: FAILED_WITH_INIT_CODE_HASH = "0x8baac2e15bd423d407641b53ae305b9d38819229636cc79343da7e75b00af758"Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
6:
7: USER_OPERATION_HASH = "0xcb0bb9a3335bb964bd54561e438f143e5b218729c45ebc62c081d5e95fcc4044"
>>> 8: COMPLEX_DECODED_CALL_DATA_HASH = "0x0670c393762002a1a1f0f7dd2df608142a02c06961a922d63f4cdc6a5456d248"
9: FAILED_WITH_INIT_CODE_HASH = "0x8baac2e15bd423d407641b53ae305b9d38819229636cc79343da7e75b00af758"
10: HUGE_CALL_DATA_HASH = "0x96283c06e89a8209baba3e2342c9ed54ced8dbab2c904272a4db03ab7943f049"Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
7: USER_OPERATION_HASH = "0xcb0bb9a3335bb964bd54561e438f143e5b218729c45ebc62c081d5e95fcc4044"
8: COMPLEX_DECODED_CALL_DATA_HASH = "0x0670c393762002a1a1f0f7dd2df608142a02c06961a922d63f4cdc6a5456d248"
>>> 9: FAILED_WITH_INIT_CODE_HASH = "0x8baac2e15bd423d407641b53ae305b9d38819229636cc79343da7e75b00af758"
10: HUGE_CALL_DATA_HASH = "0x96283c06e89a8209baba3e2342c9ed54ced8dbab2c904272a4db03ab7943f049"
11: HUGE_EXECUTE_PARAMS_HASH = "0xafff4862a8e1245728fc51fbba72a44e0bf3f47c5c09f80ba712d1632fcd68b5"Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
8: COMPLEX_DECODED_CALL_DATA_HASH = "0x0670c393762002a1a1f0f7dd2df608142a02c06961a922d63f4cdc6a5456d248"
9: FAILED_WITH_INIT_CODE_HASH = "0x8baac2e15bd423d407641b53ae305b9d38819229636cc79343da7e75b00af758"
>>> 10: HUGE_CALL_DATA_HASH = "0x96283c06e89a8209baba3e2342c9ed54ced8dbab2c904272a4db03ab7943f049"
11: HUGE_EXECUTE_PARAMS_HASH = "0xafff4862a8e1245728fc51fbba72a44e0bf3f47c5c09f80ba712d1632fcd68b5"
12: HUGE_SIGNATURE_HASH = "0xa2235963faaacbcce49ee36f84379bc92ec73c82e7812b1ea222d39bb609ac14"Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
9: FAILED_WITH_INIT_CODE_HASH = "0x8baac2e15bd423d407641b53ae305b9d38819229636cc79343da7e75b00af758"
10: HUGE_CALL_DATA_HASH = "0x96283c06e89a8209baba3e2342c9ed54ced8dbab2c904272a4db03ab7943f049"
>>> 11: HUGE_EXECUTE_PARAMS_HASH = "0xafff4862a8e1245728fc51fbba72a44e0bf3f47c5c09f80ba712d1632fcd68b5"
12: HUGE_SIGNATURE_HASH = "0xa2235963faaacbcce49ee36f84379bc92ec73c82e7812b1ea222d39bb609ac14"
13: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
10: HUGE_CALL_DATA_HASH = "0x96283c06e89a8209baba3e2342c9ed54ced8dbab2c904272a4db03ab7943f049"
11: HUGE_EXECUTE_PARAMS_HASH = "0xafff4862a8e1245728fc51fbba72a44e0bf3f47c5c09f80ba712d1632fcd68b5"
>>> 12: HUGE_SIGNATURE_HASH = "0xa2235963faaacbcce49ee36f84379bc92ec73c82e7812b1ea222d39bb609ac14"
13:
14: Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
28: async def test_get_transaction_info_integration(mock_ctx):
29: """Tests that get_transaction_info returns full data and omits raw_input by default."""
>>> 30: tx_hash = "0xd4df84bf9e45af2aa8310f74a2577a28b420c59f2e3da02c52b6d39dc83ef10f"
31: result = await retry_on_network_error(
32: lambda: get_transaction_info(chain_id="1", transaction_hash=tx_hash, ctx=mock_ctx),Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
53: async def test_get_transaction_info_integration_no_decoded_input(mock_ctx):
54: """Tests that get_transaction_info keeps raw_input when decoded_input is null."""
>>> 55: tx_hash = "0x12341be874149efc8c714f4ef431db0ce29f64532e5c70d3882257705e2b1ad2"
56: chain_id = "1"
57: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
85: async def test_get_transaction_info_with_truncation_integration(mock_ctx):
86: """Tests that get_transaction_info correctly truncates oversized decoded_input fields."""
>>> 87: tx_hash = "0x2daa533b1e4e6fddd9118503a28cde58eadeb965201e5739ca61aafeb83424ed"
88: chain_id = "1"
89: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
111: async def test_get_transaction_info_integration_user_ops(mock_ctx):
112: """Tests that get_transaction_info returns user operations for an AA transaction on Base."""
>>> 113: tx_hash = "0xf477d77e222a8ba10923a5c8876af11a01845795bc5bfe7cb1a5e1eaecc898fc"
114: chain_id = "8453"
115: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
133: async def test_get_transaction_info_integration_null_token_metadata(mock_ctx):
134: """Tests that get_transaction_info accepts null token metadata on Base."""
>>> 135: tx_hash = "0xc24036ecca307090efee492f1da40d3abda9f86b9e8edde1f77e4a79fb99853f"
136: chain_id = "8453"
137: Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
94: "address": {"hash": "0xa0b86a33e6dd0ba3c70de3b8e2b9e48cd6efb7b0"},
95: "topics": [
>>> 96: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
97: "0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
98: ],Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
95: "topics": [
96: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
>>> 97: "0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
98: ],
99: "data": "0x" + "1" * 64,Report false positiveHigh-entropy string (4.8 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
21: async def test_dispatch_routes_to_correct_handler(mock_ctx):
22: """Dispatch should call the address logs handler when the pattern matches."""
>>> 23: endpoint_path = "/api/v2/addresses/0x1234567890123456789012345678901234567890/logs"
24: response = await dispatcher.dispatch(
25: endpoint_path=endpoint_path,Report false positiveJavaScript fetch() call
Detected by automated pattern matching (rule NS-003) with medium confidence. May be a false positive.
325: {
326: "address_hash": "0x7583feddbcefa813dc18259940f76a02710a8905",
>>> 327: "name": "Fetch (PoS)",
328: "symbol": "FET",
329: "token_type": "ERC-20",Report false positiveJavaScript fetch() call
Detected by automated pattern matching (rule NS-003) with medium confidence. May be a false positive.
340: TokenSearchResult(
341: address="0x7583feddbcefa813dc18259940f76a02710a8905",
>>> 342: name="Fetch (PoS)",
343: symbol="FET",
344: token_type="ERC-20",Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
17: # ARRANGE
18: chain_id = "1"
>>> 19: tx_hash = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
20: mock_base_url = "https://eth.blockscout.com"
21: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
508: # ARRANGE
509: chain_id = "1"
>>> 510: tx_hash = "0xnonexistent1234567890abcdef1234567890abcdef1234567890abcdef123456"
511: mock_base_url = "https://eth.blockscout.com"
512: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
553: # ARRANGE
554: chain_id = "999999"
>>> 555: tx_hash = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
556:
557: chain_error = ChainNotFoundError(f"Chain with ID '{chain_id}' not found on Blockscout.")Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
578: # ARRANGE
579: chain_id = "1"
>>> 580: tx_hash = "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
581: mock_base_url = "https://eth.blockscout.com"
582: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
633: # ARRANGE
634: chain_id = "1"
>>> 635: tx_hash = "0xd4df84bf9e45af2aa8310f74a2577a28b420c59f2e3da02c52b6d39dc83ef10f"
636: mock_base_url = "https://eth.blockscout.com"
637: Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
689: # ARRANGE
690: chain_id = "1"
>>> 691: tx_hash = "0x9d4df84bf9e45af2aa8310f74a2577a28b420c59f2e3da02c52b6d39dc83ef10f"
692: mock_base_url = "https://eth.blockscout.com"
693: Report false positiveScan History
| Date | Risk | Findings | Files | Duration |
|---|---|---|---|---|
| Feb 26, 2026 | critical | 242 | 223 | 0.00s |
| Feb 24, 2026 | critical | 242 | 223 | 0.00s |