AIエージェントにsetupコマンドを実行させる前の安全確認|npm install・pip install・curlを分ける
AIエージェントにnpm install、pip install、pnpm install、Docker build、curlやwgetを実行させる前に、postinstall、prepare、setup.py、外部通信、秘密情報、権限を確認する実務チェックです。
公開 2026.07.01 / 更新 2026.07.01
この記事のポイント
- installやsetupはコード実行として扱う
- postinstall、prepare、setup.py、Dockerfile、workflowを先に読む
- curl | sh や外部取得は、内容・送信先・必要性が分かるまで実行しない
この記事は、AIエージェント開発の事故予防クラスターのうち「setup / installコマンドの安全確認」に絞った各論です。全体像は親ハブで、ここでは実行前に見る項目へ落とします。
setupは準備ではなく、コード実行である
AIエージェントに「動くようにして」と頼むと、READMEのsetup手順、npm install、pip install、Docker build、dev server起動へ進みがちです。しかしinstallやsetupは、ローカルファイル、環境変数、ネットワーク、shellに触れる可能性があるコード実行です。
実行前に見る場所
| 対象 | 見るポイント | 止める条件 |
|---|---|---|
| package.json | scripts、preinstall、postinstall、prepare | 外部取得、shell実行、secret参照が不明 |
| pnpm / yarn設定 | lifecycle scripts、workspace scripts | 全workspaceへ広がる実行 |
| pyproject.toml / setup.py | build backend、setup時処理 | subprocess、外部URL、不明な生成処理 |
| requirements.txt | 依存名とversion pin | typosquatting疑い、出所不明package |
| Dockerfile | curl/wget、root、volume、secret | ホスト権限やsecretを渡す前提 |
| .github/workflows | secrets、permissions、deploy条件 | 本番反映や外部送信が混じる |
AIに実行を許可するときの依頼文
次の1コマンドだけ実行してよいです。
実行前に、そのコマンドが読む設定ファイル、外部通信、install hook、環境変数参照の可能性を短く説明してください。
実行中に別のコマンド、curl/wget、Docker build、dev server起動、外部URLアクセスが必要になった場合は止まって確認してください。
.env、APIキー、Cookie、秘密鍵、GitHub token、npm tokenの実値は表示しないでください。Windows / PowerShellで特に見ること
- Invoke-WebRequestやiwrで外部scriptを取っていないか
- PowerShell実行ポリシーやPATH変更を求めていないか
- ユーザーディレクトリ全体やAppDataを触る前提ではないか
- 管理者権限のPowerShellで実行しようとしていないか
- npmやpipのglobal installを要求していないか
限定実行の安全ライン
- 使い捨てフォルダや低権限環境で試す
- ネットワークが必要な理由を説明できる時だけ許可する
- 環境変数やsecretが少ないshellで実行する
- 実行するコマンドを1つずつ指定する
- 失敗したら自動で別コマンドへ進ませない
よくある質問
npm installは依存関係を入れるだけではないのですか?
依存取得だけでなく、lifecycle scriptsが動く場合があります。postinstallやprepareの有無を確認してから実行します。
pip installなら安全ですか?
安全とは限りません。setup.pyやbuild backend、依存パッケージの出所、外部通信、native buildの有無を確認します。
curlで公式install scriptを実行してもよいですか?
公式提供元であっても、中身、実行権限、PATH変更、送信先を確認します。知らないrepoのREADMEにあるcurlは特に慎重に扱います。
関連記事
- AI coding agentの間接プロンプトインジェクション対策|README・issue・外部ドキュメントを信じすぎない
AI coding agentはREADMEやissueも文脈として読みます。そこに書かれた命令を上位指示として扱わないための実務ルールです。
- Codexのフルアクセスは危険?許可していい作業・止めるべき作業
Codexのフルアクセスは、何でも任せてよい設定ではありません。許可してよい作業、止めるべき作業、.envやAPIキーの扱いを先に分けておくための安全ガイドです。