概念と基礎知識
Amuletは、従来のツールとは少し違った「哲学」を持って作られています。このページでは、初心者の方でも安心して使い始められるよう、コンピュータの基礎知識とAmuletの仕組みを優しく解説します。
1. ターミナルとは「対話」の窓
ターミナル(コマンドライン、コンソールとも呼ばれます)は、文字を使ってコンピュータに直接命令を出すための窓口です。
- macOS / Linux:
ターミナル.appやzsh,bash - Windows:
PowerShellやコマンドプロンプト,Windows Terminal
Amuletは、このターミナル上で動く CLI(Command Line Interface)ツール です。マウスでボタンをクリックする代わりに、コマンド(文字列)を打ち込んで操作します。
2. ディスクとメモリの決定的な違い
セキュリティを理解する上で、一番大切なのが 「情報の保存場所」 です。
| 場所 | 特徴 | セキュリティ的な性質 |
|---|---|---|
| ディスク (SSD/HDD) | 電源を切ってもデータが残る(ファイル) | 「痕跡」が残る。うっかり盗まれたり、AIに読み取られるリスクがある。 |
| メモリ (RAM) | 作業用の場所。電源を切ると消える | 「一瞬」しか存在しない。アプリが動いている間だけ秘密を保持し、終われば消える。 |
Amuletの答え
多くのツールは .env という ファイル(ディスク) にパスワードを書き込みますが、これは「鍵をかけずに机の上に置く」ようなものです。
Amuletは、秘密情報を 「暗号化した塊(Vault)」 としてディスクに置き、使うときだけ 「メモリ」 に直接流し込みます。これにより、ディスク上に平文(誰でも読める状態)の秘密が残る瞬間をゼロにします。
3. 「標準入出力」と「パイプ」
Amuletを使いこなす鍵は、Unix/Linuxの伝統的な仕組みである 「標準入出力」 です。
- 標準入力 (stdin): プログラムに情報を「流し込む」入り口。
- 標準出力 (stdout): プログラムが結果を「吐き出す」出口。
パイプ | というバケツリレー
ターミナルでは、|(パイプ)という記号を使って、あるプログラムの「出口」を別のプログラムの「入り口」に繋ぐことができます。
echo -n "my-secret-key" | amulet seal MY_KEYこのコマンドでは、
echoが秘密の文字列を吐き出し、- そのままファイルに書き込むことなく、
- 空中(メモリ経由) で直接
amuletに渡しています。
これが、Amuletが「痕跡を残さない」と言われる理由です。
4. Windows ユーザーの方へ
Windowsの PowerShell でも、同じようにパイプを使った操作が可能です。ただし、文字の扱い(エンコーディング)に少し癖があります。
- Unix系:
echo -n "value" | ... - PowerShell:
echo "value" | ...(デフォルトで末尾に改行が入ることがあるため、Amuletではこれらを適切に処理するよう設計されています)
Windows環境でも、Amuletは「ディスクに書かずにメモリで受け渡す」という安全なワークフローを同様に提供します。
5. Amulet の立ち位置(AI時代のセキュリティ)
最近では、GitHub Copilot や ChatGPT などの AIアシスタント がコードをスキャンして助けてくれます。これは非常に便利ですが、一つ大きなリスクがあります。
「AIは、プロジェクト内にある .env ファイルや平文の秘密情報を、学習データやプロンプトとして読み取ってしまう可能性がある」 ということです。
Amulet が守るもの
Amuletを使えば、あなたのプロジェクト内には「解読不能な暗号化ファイル」しか存在しなくなります。
- AIに対して: 秘密を見せず、安全に開発をサポートしてもらえる。
- 自分に対して: 誤ってGitHubにパスワードをプッシュしてしまう事故を物理的に防げる。
次のステップ
基本概念を理解したら、実際に インストール して、最初のシークレットを封印してみましょう。