概念と基礎知識

Amuletは、従来のツールとは少し違った「哲学」を持って作られています。このページでは、初心者の方でも安心して使い始められるよう、コンピュータの基礎知識とAmuletの仕組みを優しく解説します。


1. ターミナルとは「対話」の窓

ターミナル(コマンドライン、コンソールとも呼ばれます)は、文字を使ってコンピュータに直接命令を出すための窓口です。

  • macOS / Linux: ターミナル.appzsh, 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

このコマンドでは、

  1. echo が秘密の文字列を吐き出し、
  2. そのままファイルに書き込むことなく、
  3. 空中(メモリ経由) で直接 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にパスワードをプッシュしてしまう事故を物理的に防げる。

次のステップ

基本概念を理解したら、実際に インストール して、最初のシークレットを封印してみましょう。