本記事で紹介する事象は、2026/3/22時点で筆者が確認した特定の環境・特定のバージョンに限定されたものです。
そのため、当該ツール全体の品質や安全性を評価するものではありません。
また、以下に示す対処方法は検証目的のものであり、安全性を保証するものではありません。
2026/3/22時点で確認している事象
Windows 11、かつWindows Defenderを導入した環境で実行した場合、以下の挙動を確認しています。
- Cortex Code CLI の自動アップデートでは、環境変数
PATHが自動更新されない - Cortex Code CLI の自動アップデートでは、組み込みスキルなどのファイルがインストールされない
- コマンドラインから再インストールすると、
install.ps1がTrojan:Win32/Etset!rfnとして検知され、隔離される場合がある
なお、これらは筆者の環境で確認できた事象であり、すべての環境で再現するとは限りません。
検討した対処方法
現時点で検討した対処方法は、いずれも暫定的なものであり、セキュリティ上の正当性や安全性を保証するものではありません。
誤検知である可能性もありますが、サプライチェーン攻撃や配布物の改ざんなど、実際に警戒すべきケースである可能性も否定できません。
- Windows Defender の検知対象外として指定する
-
install.ps1をそのまま使わず、検証用に一部を調整したうえで、取得済みのインストールファイルを別途保持する
インストールスクリプトを調整する方法については、配布元が想定している導線や整合性を損なう可能性があるため、基本的に実施するべきではありません。
そのため、本記事ではあくまで個人の検証目的として一時的に実施した内容として紹介します。
調整内容
検証のために行った調整は以下の通りです。
-
Install-CortexCode関数のうち、ファイルの解凍、配置、PATH 設定に関する処理を検証用に一時的に外した - スクリプト終了時に一時フォルダから削除されるインストールファイルを、別のフォルダに複製して保持した
2.については例えば以下のような内容になります。
# 検証目的でユーザープロファイル配下のDownloadsフォルダにコピー
$downloadsDir = Join-Path ([Environment]::GetFolderPath("UserProfile")) "Downloads"
$finalTarPath = Join-Path $downloadsDir $tarName
Copy-Item -Path $tarPath -Destination $finalTarPath -Force
Write-Success "Copied original tar.gz to $finalTarPath for reference"
この調整は、インストール後に元のアーカイブを別途残すためのものであり、配布物を恒久的に改変する意図ではありません。
また、調整したスクリプトを共有・再配布することは避けて、あくまで個人環境上での実行にとどめています。
補足
Trojan:Win32/Etset!rfn として隔離される事象は、誤検知である可能性もありますが、サプライチェーン攻撃や配布物の改ざんなど、実際に警戒すべきケースである可能性も否定できません。
そのため、別環境での挙動、再現条件、配布物の内容の詳細調査などを検討しています。
本記事はその検討過程を記録することを目的としています。