Skill Trust Decision

instreet-gomoku

Skill contains hardcoded API credentials and undeclared shell/network access with shadow functionality not reflected in documentation.

Install decision first Source: Manual upload Scanned: Apr 4, 2026
Files 6
Artifacts 3
Violations 2
Findings 5
Most direct threat evidence
High Credential Theft
Hardcoded API credential in source code

API key 'sk_inst_adfe55c5fe69ca780201cb466bebbbce' is hardcoded as a plaintext string in instreet_gomoku.py:12 and gomoku_bot.py:14. This exposes a live credential in source code, making it trivially extractable and vulnerable to revocation/reuse.

instreet_gomoku.py:12

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

2 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 1 severe findings.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

What drove the risk score up

Hardcoded API credential +15

API key 'sk_inst_adfe55c5fe69ca780201cb466bebbbce' hardcoded in instreet_gomoku.py:12 and gomoku_bot.py:14 without secure storage

Undeclared shell execution +12

katagomo_simple.py:87 executes subprocess.Popen with external engine binary, not declared in SKILL.md

Undeclared network access +10

Makes outbound HTTPS requests to instreet.coze.site API but SKILL.md declares no network permissions

Hardcoded Windows path +5

KATAGOMO_DIR hardcoded to D:\Games\KataGomo in katagomo_simple.py:15

Most important evidence

High Credential Theft

Hardcoded API credential in source code

API key 'sk_inst_adfe55c5fe69ca780201cb466bebbbce' is hardcoded as a plaintext string in instreet_gomoku.py:12 and gomoku_bot.py:14. This exposes a live credential in source code, making it trivially extractable and vulnerable to revocation/reuse.

instreet_gomoku.py:12
Use os.environ.get('INSTREET_API_KEY') exclusively; remove all hardcoded fallback keys. Never commit credentials to version control.
Medium Doc Mismatch

Undeclared subprocess shell execution

katagomo_simple.py:87-92 uses subprocess.Popen to execute the KataGomo game engine binary (gom15x_trt.exe) with GTP protocol commands. This shell execution is not mentioned anywhere in SKILL.md, which only describes KataGomo as a 'GTP bridge' without revealing the subprocess dependency.

katagomo_simple.py:87
Declare subprocess usage in SKILL.md capabilities section. Note that this requires a local KataGomo engine installation.
Medium Doc Mismatch

Undeclared outbound network requests

SKILL.md declares no network permissions, yet both instreet_gomoku.py and gomoku_bot.py make HTTPS requests to instreet.coze.site/api/v1/games/* endpoints for room creation, move submission, and activity polling. This is shadow network behavior.

gomoku_bot.py:32
Declare network:READ and network:WRITE permissions in SKILL.md with the specific domain allowlisted.
Medium Supply Chain

Hardcoded Windows-specific engine path

katagomo_simple.py:15 hardcodes KATAGOMO_DIR to 'D:\Games\KataGomo', a Windows-specific absolute path. The skill will fail on Linux/macOS with a confusing path error, and the dependency on an external binary is not documented.

katagomo_simple.py:15
Make the engine path configurable via environment variable (KATAGOMO_DIR). Document the external dependency clearly in SKILL.md.
Low Sensitive Access

API key exposed in SKILL.md notes section

SKILL.md:112 mentions the API key in plaintext within the documentation notes: 'API Key: 已配置在代码中 sk_inst_adfe55c5fe69ca780201cb466bebbbce'. While not a code-level hardcode, exposing the key in docs increases exposure risk.

SKILL.md:112
Remove the API key value from documentation entirely. Reference only that the key should be set via INSTREET_API_KEY environment variable.

Declared capability vs actual capability

Filesystem Pass
Declared NONE
Inferred NONE
No file write operations found; temp file ops are in subprocess working dir only
Network Block
Declared NONE
Inferred READ
instreet_gomoku.py:13-14, gomoku_bot.py:32-33 make urllib requests to instreet.coze.site without declaration
Shell Block
Declared NONE
Inferred WRITE
katagomo_simple.py:87 subprocess.Popen executes external binary; gomoku_bot.py has no shell but katagomo does
Environment Pass
Declared NONE
Inferred READ
gomoku_bot.py:13 reads INSTREET_API_KEY from os.environ (falls back to hardcoded key)
Skill Invoke Pass
Declared NONE
Inferred NONE
No skill_invoke usage
Clipboard Pass
Declared NONE
Inferred NONE
No clipboard access
Browser Pass
Declared NONE
Inferred NONE
No browser usage
Database Pass
Declared NONE
Inferred NONE
No database access

Suspicious artifacts and egress

High API Key
API_KEY = 'sk_inst_adfe55c5fe69ca780201cb466bebbbce'

instreet_gomoku.py:12

Medium External URL
https://instreet.coze.site/api/v1/games

gomoku_bot.py:32

Medium External URL
https://instreet.coze.site/games/

gomoku_bot.py:359

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
numpy unpinned import No No requirements.txt; numpy imported but version not pinned
subprocess stdlib stdlib No Standard library used to execute KataGomo engine
urllib stdlib stdlib No Standard library used for HTTP API calls
KataGomo gom15x_trt.exe unknown external binary No External Windows binary referenced by hardcoded path; not included in package

File composition

6 files · 1744 lines
Python 3 files · 1523 linesMarkdown 3 files · 221 lines
Files of concern · 4
instreet_gomoku.py Python · 939 lines
Hardcoded API credential in source code · API_KEY = 'sk_inst_adfe55c5fe69ca780201cb466bebbbce'
gomoku_bot.py Python · 400 lines
Undeclared outbound network requests · https://instreet.coze.site/api/v1/games · https://instreet.coze.site/games/
katagomo_simple.py Python · 184 lines
Undeclared subprocess shell execution · Hardcoded Windows-specific engine path
SKILL.md Markdown · 116 lines
API key exposed in SKILL.md notes section
Other files · README.md · publish-info.md

Security positives

No obfuscation detected (no base64, eval, or anti-analysis techniques)
No credential exfiltration or data theft behavior observed
Network requests target a legitimate game API (instreet.coze.site) and are functionally necessary
No access to sensitive paths like ~/.ssh, ~/.aws, or .env files
No persistence mechanisms (no cron, startup hooks, or backdoors)
Subprocess usage is for a legitimate game engine (KataGomo GTP), not malicious command execution