Takumi Guard のセットアップスクリプトにヘルスチェック機能を追加
· 約3分
Takumi Guard のセットアップスクリプト(setup.sh / setup.ps1)に healthcheck サブコマンドを追加しました。Guard が正しく設定されているか、および悪性パッケージが実際にブロックされるかを自動で検証できます。設定ファイルの変更や API クレデンシャルは不要です。
概要
従来、setup.sh install の実行後に Guard がエンドツーエンドで正しく動作しているかを確認する自動化された手段がありませんでした。ユーザーガイドには手動の検証手順(例:npm install @panda-guard/test-malicious)を記載していましたが、手順が省略されやすく、スクリプトへの組み込みにも対応していませんでした。
healthcheck サブコマンドはこの課題を解決します。サポート対象のエコシステムごとに、以下の 3 段階で検証を行います。
- 設定確認:パッケージマネージャーが Guard プロキシを参照しているかを検証する
- 接続確認:Guard プロキシへの到達性を確認する
- ブロックテスト:ブロック対象のテスト用パッケージのインストールを試行し、拒否されることを検証する
このサブコマンドは読み取り専用であり、API クレデンシャル(TG_BOT_API_KEY / TG_BOT_ID)は不要です。
利用方法
setup.sh install の完了後にヘルスチェックを実行します。
./setup.sh healthcheck
特定のエコシステムのみを確認する場合は、引数でスコープを指定します。
./setup.sh healthcheck golang
終了コード
ヘルスチェックは終了コードで結果を返すため、管理ツールによる定期実行や自動化に組み込むことができます。
| 終了コード | 意味 |
|---|---|
0 | すべてのチェックに成功 |
1 | 1 つ以上のチェックに失敗 |
2 | 判定不能(CLI が見つからない、ネットワークの問題など) |
出力例
$ ./setup.sh healthcheck golang
[OK] go: GOPROXY → https://golang.flatt.tech
[OK] go: Guard proxy reachable
go: creating new go.mod: module healthcheck-tmp
[OK] go: sentinel module hola-takumi-go@v0.1.0 correctly blocked
[OK] All healthchecks passed
サポート対象のエコシステム
ヘルスチェックは現在 npm、RubyGems、Go に対応しています。PyPI については、テスト用パッケージの公開後に対応予定です。
| エコシステム | スコープ引数 | テスト用パッケージ |
|---|---|---|
| npm | npm | @panda-guard/test-malicious |
| RubyGems | rubygems | hola-takumi v0.1.0 |
| Go | golang | github.com/flatt-security/hola-takumi-go v0.1.0 |
| PyPI | pypi | (対応予定) |
ヘルスチェックサブコマンドの詳細については、ユーザーガイドの管理ツールによる一括セットアップ — ヘルスチェックを参照してください。
