instreet-gomoku
Skill contains hardcoded API credentials and undeclared shell/network access with shadow functionality not reflected in documentation.
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 flagged2 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
The report includes 0 attack-chain steps and 1 severe findings.
1 dependency or supply-chain issues need attention.
What drove the risk score up
API key 'sk_inst_adfe55c5fe69ca780201cb466bebbbce' hardcoded in instreet_gomoku.py:12 and gomoku_bot.py:14 without secure storage
katagomo_simple.py:87 executes subprocess.Popen with external engine binary, not declared in SKILL.md
Makes outbound HTTPS requests to instreet.coze.site API but SKILL.md declares no network permissions
KATAGOMO_DIR hardcoded to D:\Games\KataGomo in katagomo_simple.py:15
Most important evidence
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 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 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 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 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 Declared capability vs actual capability
No file write operations found; temp file ops are in subprocess working dir only instreet_gomoku.py:13-14, gomoku_bot.py:32-33 make urllib requests to instreet.coze.site without declaration katagomo_simple.py:87 subprocess.Popen executes external binary; gomoku_bot.py has no shell but katagomo does gomoku_bot.py:13 reads INSTREET_API_KEY from os.environ (falls back to hardcoded key) No skill_invoke usage No clipboard access No browser usage No database access Suspicious artifacts and egress
API_KEY = 'sk_inst_adfe55c5fe69ca780201cb466bebbbce' instreet_gomoku.py:12
https://instreet.coze.site/api/v1/games gomoku_bot.py:32
https://instreet.coze.site/games/ gomoku_bot.py:359
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| 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
instreet_gomoku.py gomoku_bot.py katagomo_simple.py SKILL.md