📦

監査履歴

wind-mcp-skill - 2 監査

バージョン比較

監査済みバージョン間の機能と検出結果の変化(新しい順)。

バージョン日付結果レビュー項目前バージョンとの変化
v2 最新2026年7月6日 12:56 5 確認済み37機能の変化なし
v1 2026年7月6日 12:56 5 確認済み37基準

2026年7月6日 12:56

Most static detections are false positives from documentation, template literals, regexes, and readable Chinese reference text. Confirmed risks are credential handling, authenticated Wind network calls, and a background updater that can execute package-manager commands. No prompt injection attempts were found in the reviewed files.

11
スキャンされたファイル
2,806
解析済み行数
46
レビュー項目
0
誤検知を無視

確認済みのセキュリティ上の懸念 (5)

高
Environment file access
const envKey = process.env.WIND_API_KEY?.trim();
The line reads WIND_API_KEY from the process environment. It is not an environment file read, but it is sensitive secret access.
高
Environment file access
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
This is not an environment file read, but environment-controlled paths influence lock-file search. Kept as a low-confidence updater risk.
高
Environment file access
const xdg = process.env.XDG_STATE_HOME;
This is not an environment file read, but environment-controlled paths influence lock-file search. Kept as a low-confidence updater risk.
高
Environment file access
...process.env
The updater forwards the full process environment to child commands. This can expose sensitive environment values to git or npx execution.
高
Automatic Background Update Executes Package Manager
The CLI starts a detached updater after successful data calls. The updater can run npx skills update or add commands and change installed skill files without per-run user confirmation.
The README documents daily automatic updates, and the code spawns update-check before running npx update or add commands. This is a behavior-level supply-chain risk.
機能レビュー項目 (37)

これらは、このスキルに期待される可能性のある実際のローカル機能であるため、レビューが必要ですが、確認済みの悪意ある動作としてはカウントされません。

高
Node.js child_process module
import { spawn } from 'node:child_process';
The CLI imports child_process and uses spawn for local updater and browser commands. No direct user-controlled shell was found, but command execution is real.
高
Process spawn
const child = spawn('node', [runnerPath, SKILL_DIR], { detached: true, stdio: 'ignore', windowsHide:
The CLI spawns a detached Node updater from a copied script after successful calls. This can execute update logic without per-run user confirmation.
高
Generic API/secret keys
const key = env.WIND_API_KEY?.trim();
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
const key = typeof cfg.wind_api_key === 'string' ? cfg.wind_api_key.trim() : '';
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
const envKey = process.env.WIND_API_KEY?.trim();
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
.filter(l => l.length > 0 && !/^\s*(export\s+)?WIND_API_KEY\s*=/.test(l));
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
lines.push(`WIND_API_KEY=${key}`);
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
writeFileSync(file, JSON.stringify({ wind_api_key: key }, null, 2) + '\n', { mode: 0o600 });
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Node.js child_process module
} from 'node:child_process';
The updater imports child_process for synchronous git and npx execution. That command execution can alter installed skill files.
高
Synchronous spawn
const result = spawnSync('git', ['ls-remote', source, 'HEAD'], {
The updater runs git ls-remote against a source URL from lock metadata. Arguments are array-based, but this is real external command and network execution.
高
Synchronous spawn
const result = spawnSync(bin, args, {
The updater runs npx skills update or add in the background. This package-manager path can modify executable skill content.
高
Windows cmd.exe
const bin = isWin ? 'cmd.exe' : 'npx';
On Windows the updater executes a joined command string through cmd.exe. Lock-derived command parts increase shell parsing risk.
高
Node.js child_process module
child_process: true
The skill explicitly declares child_process support, matching executable Node scripts in the package. This is a real permission risk, although not an exploit by itself.
中
Fetch API call
resp = await fetch(server.endpoint, {
The CLI posts JSON-RPC requests to Wind MCP endpoints with an Authorization bearer token. This is expected, but it sends authenticated data externally.
中
Synchronous file operations
const env = parseDotenv(readFileSync(globalConfig, 'utf8'));
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
const cfg = JSON.parse(readFileSync(localConfig, 'utf8'));
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
lines = readFileSync(file, 'utf8').split('\n')
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
writeFileSync(file, lines.join('\n') + '\n', {
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
writeFileSync(file, JSON.stringify({ wind_api_key: key }, null, 2) + '\n', { mode: 0o600 });
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Environment variable access (dot notation)
const envKey = process.env.WIND_API_KEY?.trim();
The CLI reads process.env.WIND_API_KEY. That secret is later used as the bearer token for Wind network requests.
中
Environment variable object
const envKey = process.env.WIND_API_KEY?.trim();
The CLI reads process.env.WIND_API_KEY. That secret is later used as the bearer token for Wind network requests.
中
dotenv library
// dotenv 解析: 兼容注释 / 引号 / export 前缀
The custom dotenv parser is used to load WIND_API_KEY from local configuration. This is expected, but it handles sensitive credential material.
中
Synchronous file operations
const data = JSON.parse(readFileSync(file, 'utf8'));
The updater reads lock metadata that can influence update source selection. This is expected, but it contributes to supply-chain risk.
中
Environment variable object
...process.env
The updater passes the full process environment to git and npx child processes. Any secrets in the environment are forwarded to those commands.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_stock_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_fund_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_index_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_bond_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_financial_docs/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_economic_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_analytics_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
return `https://github.com/${entry.source}.git`;
The updater constructs a GitHub source URL for update checks. This is expected, but it is part of external update behavior.
低
Hardcoded URL
return `https://gitee.com/${entry.source}.git`;
The updater constructs a Gitee source URL for update checks. This is expected, but it is part of external update behavior.
低
Environment variable access (dot notation)
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable access (dot notation)
const xdg = process.env.XDG_STATE_HOME;
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable object
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable object
const xdg = process.env.XDG_STATE_HOME;
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.

リスク要因

⚙️ 外部コマンド (151)
README.md:57 scripts/cli.mjs:7 scripts/cli.mjs:133 scripts/cli.mjs:846 scripts/cli.mjs:56 scripts/cli.mjs:57 scripts/cli.mjs:58 scripts/cli.mjs:59 scripts/cli.mjs:60 scripts/cli.mjs:61 scripts/cli.mjs:62 scripts/cli.mjs:63 scripts/cli.mjs:64 scripts/cli.mjs:65 scripts/cli.mjs:66 scripts/cli.mjs:131 scripts/cli.mjs:170 scripts/cli.mjs:203 scripts/cli.mjs:217 scripts/cli.mjs:220 scripts/cli.mjs:225 scripts/cli.mjs:230 scripts/cli.mjs:239 scripts/cli.mjs:279 scripts/cli.mjs:358 scripts/cli.mjs:360 scripts/cli.mjs:366 scripts/cli.mjs:372 scripts/cli.mjs:379 scripts/cli.mjs:434 scripts/cli.mjs:439 scripts/cli.mjs:453 scripts/cli.mjs:460 scripts/cli.mjs:466 scripts/cli.mjs:474 scripts/cli.mjs:481 scripts/cli.mjs:577 scripts/cli.mjs:601 scripts/cli.mjs:604 scripts/cli.mjs:622 scripts/cli.mjs:642 scripts/cli.mjs:648 scripts/cli.mjs:657 scripts/cli.mjs:662 scripts/cli.mjs:667 scripts/cli.mjs:682 scripts/cli.mjs:687 scripts/cli.mjs:688 scripts/cli.mjs:693 scripts/cli.mjs:723 scripts/cli.mjs:724 scripts/cli.mjs:725 scripts/cli.mjs:734 scripts/cli.mjs:766 scripts/cli.mjs:767 scripts/cli.mjs:787 scripts/cli.mjs:788 scripts/cli.mjs:794 scripts/cli.mjs:810 scripts/cli.mjs:819 scripts/cli.mjs:863 scripts/cli.mjs:865 scripts/cli.mjs:868 scripts/cli.mjs:903 scripts/cli.mjs:904 scripts/cli.mjs:905 scripts/cli.mjs:906 scripts/cli.mjs:907 scripts/cli.mjs:908 scripts/cli.mjs:909 scripts/cli.mjs:910 scripts/cli.mjs:911 scripts/cli.mjs:912 scripts/cli.mjs:928 scripts/cli.mjs:943 scripts/update-check.mjs:21 scripts/update-check.mjs:184 scripts/update-check.mjs:402 scripts/update-check.mjs:57 scripts/update-check.mjs:160 scripts/update-check.mjs:167 scripts/update-check.mjs:358 scripts/update-check.mjs:410 scripts/update-check.mjs:423 scripts/update-check.mjs:400 SKILL.md:9 SKILL.md:31 SKILL.md:37 SKILL.md:38 SKILL.md:39 SKILL.md:40 SKILL.md:41 SKILL.md:42 SKILL.md:43 SKILL.md:46 SKILL.md:52 SKILL.md:53 SKILL.md:54 SKILL.md:55 SKILL.md:56 SKILL.md:57 SKILL.md:58 SKILL.md:61 SKILL.md:69 SKILL.md:70 SKILL.md:71 SKILL.md:72 SKILL.md:73 SKILL.md:74 SKILL.md:78 SKILL.md:79 SKILL.md:80 SKILL.md:86 SKILL.md:88 SKILL.md:89 SKILL.md:90 SKILL.md:91 SKILL.md:97 SKILL.md:98 SKILL.md:99 SKILL.md:100 SKILL.md:101 SKILL.md:102 SKILL.md:104 SKILL.md:106 SKILL.md:109 SKILL.md:113 SKILL.md:115 SKILL.md:117 SKILL.md:118 SKILL.md:119 SKILL.md:120 SKILL.md:122 SKILL.md:128 SKILL.md:129 SKILL.md:130 SKILL.md:131 SKILL.md:133 SKILL.md:134 SKILL.md:139 SKILL.md:140 SKILL.md:141 SKILL.md:152 SKILL.md:153 SKILL.md:154 SKILL.md:155 SKILL.md:156 SKILL.md:157 SKILL.md:158 SKILL.md:118 SKILL.md:119
🌐 ネットワークアクセス (14)
📁 ファイルシステムへのアクセス (31)
🔑 環境変数 (18)
監査者: codex

2026年7月6日 12:56

Most static detections are false positives from documentation, template literals, regexes, and readable Chinese reference text. Confirmed risks are credential handling, authenticated Wind network calls, and a background updater that can execute package-manager commands. No prompt injection attempts were found in the reviewed files.

11
スキャンされたファイル
2,806
解析済み行数
46
レビュー項目
0
誤検知を無視

確認済みのセキュリティ上の懸念 (5)

高
Environment file access
const envKey = process.env.WIND_API_KEY?.trim();
The line reads WIND_API_KEY from the process environment. It is not an environment file read, but it is sensitive secret access.
高
Environment file access
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
This is not an environment file read, but environment-controlled paths influence lock-file search. Kept as a low-confidence updater risk.
高
Environment file access
const xdg = process.env.XDG_STATE_HOME;
This is not an environment file read, but environment-controlled paths influence lock-file search. Kept as a low-confidence updater risk.
高
Environment file access
...process.env
The updater forwards the full process environment to child commands. This can expose sensitive environment values to git or npx execution.
高
Automatic Background Update Executes Package Manager
The CLI starts a detached updater after successful data calls. The updater can run npx skills update or add commands and change installed skill files without per-run user confirmation.
The README documents daily automatic updates, and the code spawns update-check before running npx update or add commands. This is a behavior-level supply-chain risk.
機能レビュー項目 (37)

これらは、このスキルに期待される可能性のある実際のローカル機能であるため、レビューが必要ですが、確認済みの悪意ある動作としてはカウントされません。

高
Node.js child_process module
import { spawn } from 'node:child_process';
The CLI imports child_process and uses spawn for local updater and browser commands. No direct user-controlled shell was found, but command execution is real.
高
Process spawn
const child = spawn('node', [runnerPath, SKILL_DIR], { detached: true, stdio: 'ignore', windowsHide:
The CLI spawns a detached Node updater from a copied script after successful calls. This can execute update logic without per-run user confirmation.
高
Generic API/secret keys
const key = env.WIND_API_KEY?.trim();
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
const key = typeof cfg.wind_api_key === 'string' ? cfg.wind_api_key.trim() : '';
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
const envKey = process.env.WIND_API_KEY?.trim();
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
.filter(l => l.length > 0 && !/^\s*(export\s+)?WIND_API_KEY\s*=/.test(l));
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
lines.push(`WIND_API_KEY=${key}`);
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Generic API/secret keys
writeFileSync(file, JSON.stringify({ wind_api_key: key }, null, 2) + '\n', { mode: 0o600 });
The line reads, filters, or writes WIND_API_KEY material. This credential handling is expected but security-sensitive.
高
Node.js child_process module
} from 'node:child_process';
The updater imports child_process for synchronous git and npx execution. That command execution can alter installed skill files.
高
Synchronous spawn
const result = spawnSync('git', ['ls-remote', source, 'HEAD'], {
The updater runs git ls-remote against a source URL from lock metadata. Arguments are array-based, but this is real external command and network execution.
高
Synchronous spawn
const result = spawnSync(bin, args, {
The updater runs npx skills update or add in the background. This package-manager path can modify executable skill content.
高
Windows cmd.exe
const bin = isWin ? 'cmd.exe' : 'npx';
On Windows the updater executes a joined command string through cmd.exe. Lock-derived command parts increase shell parsing risk.
高
Node.js child_process module
child_process: true
The skill explicitly declares child_process support, matching executable Node scripts in the package. This is a real permission risk, although not an exploit by itself.
中
Fetch API call
resp = await fetch(server.endpoint, {
The CLI posts JSON-RPC requests to Wind MCP endpoints with an Authorization bearer token. This is expected, but it sends authenticated data externally.
中
Synchronous file operations
const env = parseDotenv(readFileSync(globalConfig, 'utf8'));
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
const cfg = JSON.parse(readFileSync(localConfig, 'utf8'));
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
lines = readFileSync(file, 'utf8').split('\n')
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
writeFileSync(file, lines.join('\n') + '\n', {
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Synchronous file operations
writeFileSync(file, JSON.stringify({ wind_api_key: key }, null, 2) + '\n', { mode: 0o600 });
This file operation reads or writes API key configuration. Permissions are restricted on writes, but credential file access is security-sensitive.
中
Environment variable access (dot notation)
const envKey = process.env.WIND_API_KEY?.trim();
The CLI reads process.env.WIND_API_KEY. That secret is later used as the bearer token for Wind network requests.
中
Environment variable object
const envKey = process.env.WIND_API_KEY?.trim();
The CLI reads process.env.WIND_API_KEY. That secret is later used as the bearer token for Wind network requests.
中
dotenv library
// dotenv 解析: 兼容注释 / 引号 / export 前缀
The custom dotenv parser is used to load WIND_API_KEY from local configuration. This is expected, but it handles sensitive credential material.
中
Synchronous file operations
const data = JSON.parse(readFileSync(file, 'utf8'));
The updater reads lock metadata that can influence update source selection. This is expected, but it contributes to supply-chain risk.
中
Environment variable object
...process.env
The updater passes the full process environment to git and npx child processes. Any secrets in the environment are forwarded to those commands.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_stock_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_fund_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_index_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_bond_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_financial_docs/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_economic_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
endpoint: 'https://mcp.wind.com.cn/vserver_analytics_data/mcp/',
This hardcoded Wind MCP endpoint is used by the CLI network request path. It is expected functionality, but it confirms external network dependency.
低
Hardcoded URL
return `https://github.com/${entry.source}.git`;
The updater constructs a GitHub source URL for update checks. This is expected, but it is part of external update behavior.
低
Hardcoded URL
return `https://gitee.com/${entry.source}.git`;
The updater constructs a Gitee source URL for update checks. This is expected, but it is part of external update behavior.
低
Environment variable access (dot notation)
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable access (dot notation)
const xdg = process.env.XDG_STATE_HOME;
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable object
const roots = [projectRoot(), process.cwd(), process.env.INIT_CWD];
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.
低
Environment variable object
const xdg = process.env.XDG_STATE_HOME;
The updater trusts environment-controlled paths while searching lock files. This is not secret access, but it can affect update metadata selection.

リスク要因

⚙️ 外部コマンド (151)
README.md:57 scripts/cli.mjs:7 scripts/cli.mjs:133 scripts/cli.mjs:846 scripts/cli.mjs:56 scripts/cli.mjs:57 scripts/cli.mjs:58 scripts/cli.mjs:59 scripts/cli.mjs:60 scripts/cli.mjs:61 scripts/cli.mjs:62 scripts/cli.mjs:63 scripts/cli.mjs:64 scripts/cli.mjs:65 scripts/cli.mjs:66 scripts/cli.mjs:131 scripts/cli.mjs:170 scripts/cli.mjs:203 scripts/cli.mjs:217 scripts/cli.mjs:220 scripts/cli.mjs:225 scripts/cli.mjs:230 scripts/cli.mjs:239 scripts/cli.mjs:279 scripts/cli.mjs:358 scripts/cli.mjs:360 scripts/cli.mjs:366 scripts/cli.mjs:372 scripts/cli.mjs:379 scripts/cli.mjs:434 scripts/cli.mjs:439 scripts/cli.mjs:453 scripts/cli.mjs:460 scripts/cli.mjs:466 scripts/cli.mjs:474 scripts/cli.mjs:481 scripts/cli.mjs:577 scripts/cli.mjs:601 scripts/cli.mjs:604 scripts/cli.mjs:622 scripts/cli.mjs:642 scripts/cli.mjs:648 scripts/cli.mjs:657 scripts/cli.mjs:662 scripts/cli.mjs:667 scripts/cli.mjs:682 scripts/cli.mjs:687 scripts/cli.mjs:688 scripts/cli.mjs:693 scripts/cli.mjs:723 scripts/cli.mjs:724 scripts/cli.mjs:725 scripts/cli.mjs:734 scripts/cli.mjs:766 scripts/cli.mjs:767 scripts/cli.mjs:787 scripts/cli.mjs:788 scripts/cli.mjs:794 scripts/cli.mjs:810 scripts/cli.mjs:819 scripts/cli.mjs:863 scripts/cli.mjs:865 scripts/cli.mjs:868 scripts/cli.mjs:903 scripts/cli.mjs:904 scripts/cli.mjs:905 scripts/cli.mjs:906 scripts/cli.mjs:907 scripts/cli.mjs:908 scripts/cli.mjs:909 scripts/cli.mjs:910 scripts/cli.mjs:911 scripts/cli.mjs:912 scripts/cli.mjs:928 scripts/cli.mjs:943 scripts/update-check.mjs:21 scripts/update-check.mjs:184 scripts/update-check.mjs:402 scripts/update-check.mjs:57 scripts/update-check.mjs:160 scripts/update-check.mjs:167 scripts/update-check.mjs:358 scripts/update-check.mjs:410 scripts/update-check.mjs:423 scripts/update-check.mjs:400 SKILL.md:9 SKILL.md:31 SKILL.md:37 SKILL.md:38 SKILL.md:39 SKILL.md:40 SKILL.md:41 SKILL.md:42 SKILL.md:43 SKILL.md:46 SKILL.md:52 SKILL.md:53 SKILL.md:54 SKILL.md:55 SKILL.md:56 SKILL.md:57 SKILL.md:58 SKILL.md:61 SKILL.md:69 SKILL.md:70 SKILL.md:71 SKILL.md:72 SKILL.md:73 SKILL.md:74 SKILL.md:78 SKILL.md:79 SKILL.md:80 SKILL.md:86 SKILL.md:88 SKILL.md:89 SKILL.md:90 SKILL.md:91 SKILL.md:97 SKILL.md:98 SKILL.md:99 SKILL.md:100 SKILL.md:101 SKILL.md:102 SKILL.md:104 SKILL.md:106 SKILL.md:109 SKILL.md:113 SKILL.md:115 SKILL.md:117 SKILL.md:118 SKILL.md:119 SKILL.md:120 SKILL.md:122 SKILL.md:128 SKILL.md:129 SKILL.md:130 SKILL.md:131 SKILL.md:133 SKILL.md:134 SKILL.md:139 SKILL.md:140 SKILL.md:141 SKILL.md:152 SKILL.md:153 SKILL.md:154 SKILL.md:155 SKILL.md:156 SKILL.md:157 SKILL.md:158 SKILL.md:118 SKILL.md:119
🌐 ネットワークアクセス (14)
📁 ファイルシステムへのアクセス (31)
🔑 環境変数 (18)
監査者: codex