Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dredge-cargo — メモ、設定、キー、ファイルを暗号化して保存するCLIボールト。整理ではなく検索。 | Kitploit
ツール/GitHubGitHub/deprecatedluar/dredge-cargo
汎用ユーティリティパスワードクラッキング暗号化/復号化ツール暗号化ユーティリティとフレームワーク
GitHubdeprecatedluar/dredge-cargo

dredge-cargo

メモ、設定、キー、ファイルを暗号化して保存するCLIボールト。整理ではなく検索。

リポジトリを見る
144815日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

これはパスワードマネージャーではありません。ノートアプリでもありません。そして深海の底生異常標本分類学的原産地登録簿でも絶対にありません。しかし、最初の2つはどちらよりも良くこなします。冗談です(本当に冗談じゃない)。

dredge-doge-vs-cheems

Go Report Card oosmetrics Go Version

インストール • クイックスタート • 機能 • リンクコマンド • コマンド一覧 • 仕組み • セキュリティ • なぜ作ったか

整理するな、検索せよ。メモ、設定、キー、機密 — ターミナルから5秒。


「ありふれたガラクタで私を煩わせるな。」 — 魚屋

dredge デモ
root@kitploit:~
go install github.com/DeprecatedLuar/dredge-cargo/cmd/dredge@latest

他のインストール方法 ↓


あなたがまだ見たことのないクールな機能

  • 暗号化ストレージ — リポジトリをクローンしても、完全に意味不明の暗号文だけが得られます。パスワードなしではリポジトリに何が入っているかすらわかりません。(AES-256-GCM + Argon2idを使用)
  • インスタント検索 — 独自のファジー検索アルゴリズムを作りました。怠け者なので、300件以上のエントリの中から目的のものをミリ秒で見つけられて、自分で考えなくて済むようにしたかったからです。
  • 何でも保存 — メモ、スクリプト、dotfiles、画像、zipアーカイブ。ファイルとして存在するものであれば、何でもdredgeに保存できます。
  • ライブファイルリンク — クールな機能です。任意のアイテムをシステムパスにシンボリックリンクして、直接またはdredge経由で読み書きできます。変更はリポジトリと双方向に同期されます。
  • Git対応 — あなたが所有するプライベートリポジトリ。git clone するだけでデータが手に入ります。
  • セッションパスワード — ターミナルセッションごとに1回だけプロンプト表示。その後はターミナルを閉じるまでパスワードなしで使用できます。(詳細はセキュリティのセクションをご覧ください)
  • ゴミ箱 + 取り消し — 削除したアイテムはゴミ箱へ移動します。誤って削除した場合は dredge undo で元に戻せます。

dredgeに何を保存するか?

あなたを批判するつもりはありません。煩わしいAPIキー(一度しか表示されないもの)、SSH設定、AIプロンプト、パスワード、そのまま実行できるシェルスクリプト、メールテンプレート?、dotfiles(変わってますが問題なく動作します)、zipアーカイブ、映画リスト、クイックアクセス用のURLリスト...

日本語で書かれた『チェンソーマン』第2話の合法的なコピーさえも。(私は特にその話を持っているかもしれません、いや持っていないかもしれません)


インストール

macOS Linux

Go

root@kitploit:~
go install github.com/DeprecatedLuar/dredge-cargo/cmd/dredge@latest

$GOPATH/bin(通常は ~/go/bin)が PATH に含まれていることを確認してください。

ユニバーサル

root@kitploit:~
curl -sSL https://raw.githubusercontent.com/DeprecatedLuar/the-satellite/main/satellite.sh | bash -s -- install DeprecatedLuar/dredge-cargo:dredge
その他のインストール方法

手動インストール

  1. リリースページからお使いのOS向けのバイナリをダウンロード
  2. 実行権限を付与: chmod +x dredge-*
  3. PATHに移動: mv dredge-* ~/.local/bin/dredge

ソースからビルド

root@kitploit:~
git clone https://github.com/DeprecatedLuar/dredge-cargo
cd dredge-cargo
go build -o dredge ./cmd/dredge
mv dredge ~/.local/bin/

クイックスタート

root@kitploit:~
# 既存のGitリモートで初期化
dredge init yourusername/vault   # GitHubの省略記法
# または: dredge init [email protected]:you/vault.git

# 最初のアイテムを追加
dredge add "OpenAI Key" -c "sk-..." -t keys api # -cフラグがない場合はエディタが開きます

# 検索
dredge search openai

# Gitにプッシュ
dredge push
使用方法
root@kitploit:~
# 何でも追加
dredge add My SSH Config -t ssh dotfiles --import ~/.ssh/config
dredge add "Master Architect Prompt" --import prompt.md -t ai prompts
dredge add "Watchlist" -c "Dune 2, Oppenheimer..." -t lists
dredge add "project-backup" --import project.tar.gz   # バイナリファイルもOK :D

# 検索 — 覚えていることを入力するだけ
dredge search prompt
dredge search aws key
dredge search ssh

# 表示、編集、削除
dredge view <id>
dredge edit <id>
dredge rm <id>
dredge undo          # 元に戻す

# 検索結果には番号が振られます — 番号を入力して表示
dredge search ssh    # 表示: 1. [xKP] SSH Config  2. [mNq] SSH Key
dredge 1             # 直接表示

# Git同期
dredge push
dredge pull
dredge sync          # pull + push

仕組み

「深淵に何が潜んでいるのか想像もつかない。」 — 灯台守

では、まとめます:

使用する主要な暗号技術は2つ、Argon2idともちろんAES-256、特にGCMバリアントです。

Argon2idは、RFC 9106の推奨であり、2015年PHCの勝者だからです。以上です。 AESのGCMバリアントは、暗号化データすべてに改ざんを不可能にするフィンガープリントを付与するからです。以上です。

現在、すべてのデータは ~/.local/share/dredge/ に暗号化ファイルとして保存されています。このディレクトリはGitリポジトリでもあります(少なくとも現時点では)。そのため、dredge push でコミットしてプッシュすると、バックアップとしてすべてが保存されます。各アイテムは、ランダムな3文字のIDを持つ独立した暗号化ブロブです。ファイル名が漏れないようにしたため、誰かがデータを見ても何を見ているのかわかりません。

暗号化パイプライン

root@kitploit:~
あなたのパスワード
  + 16バイトのランダムソルト ← ソルトは .dredge-key に保存されます
  → Argon2id (64 MB メモリ · 4 スレッド · 1 イテレーション)
  → 32バイトのマスターキー (ソルト + パスワード = 実際のキー)

マスターキー + アイテムコンテンツ (TOML: タイトル、タグ、コンテンツ)
  → AES-256-GCM、操作ごとに新たなランダム12バイトのnonceを使用
  → [12B nonce][暗号文 + 16B 認証タグ]
  → items/xKP としてディスクに書き込まれる (ランダムID、拡張子なし)

したがって、ボールト全体で同じ派生キーが共有されます(つまり、キーを失うとデータを失います。キーを失わないでください)。すべてのアイテムは同じキーを使用し、それぞれに独自のランダムnonceがあります。同じコンテンツを2回暗号化すると、まったく異なる暗号文が生成されます。

保存場所

root@kitploit:~
~/.local/share/dredge/          ← ボールト (Gitリポジトリ)
├── .git/
├── .gitignore                  ← .spawned/ と links.json を除外
├── .dredge-key                 ← ソルト + 暗号化された検証文字列
├── items/
│   ├── xKP                     ← 暗号化されたアイテム
│   ├── mNq                     ← 暗号化されたアイテム
│   └── ...
├── .spawned/                   ← リンクされたアイテムの平文コピー
└── links.json                  ← シンボリックリンクマニフェスト

すべての暗号化ファイルと .dredge-key はGitリポジトリに保存されます。平文ファイル(システムから読み取り可能にしたいと決めたもの)は追跡されません。好きなように扱ってください。

セッションモデル

ターミナルで最初のコマンドを実行すると、派生した32バイトのキーが $XDG_RUNTIME_DIR/dredge/$PPID/.key にキャッシュされます(ルートのみアクセス可能)

同じターミナル内での以降のすべてのdredgeコマンドは、キャッシュされたキーを使用します。つまり、パスワードのプロンプトは表示されなくなります。各ターミナルは、親PIDに基づいた独立したディレクトリを取得します。そのため、ターミナルが死ぬとキーはディスクから消えます。

より詳細な技術情報

鍵導出 — Argon2id: RFC 9106推奨パラメータ (64 MB メモリ、4 スレッド、1 イテレーション)。.dredge-key 内のソルトは秘密である必要はありません。ファイルがあってもパスワードのブルートフォースを非常に高コストにするだけです。あなたのパスワードが安全を守るので、何をすべきかはおわかりでしょう。

暗号 — AES-256-GCM: すべての暗号化にフィンガープリントを付けます。機密性と完全性の両方を提供します。暗号文を改ざんしても、復号化はガベージを生成せず、復号化に失敗してエラーを出力します。

パスワード検証: .dredge-key には、マスターキーで暗号化された文字列 dredge-vault-v1 が含まれています。新しいセッションごとに、dredgeはこれを復号化してパスワードが正しいかどうかを検証します。そのため、dredge-vault-v1 が得られなければパスワードは間違っており、操作の途中で間違ったパスワードに気付くのではなく、約100msで失敗します。

キャッシュされるもの: セッションファイルは、派生した32バイトのキー(パスワード + ソルト)を保存します。パスワード自体は保存しません(そこまで愚かではありません)。そのため、アクティブなセッション中に誰かが .key を読んでも、パスワードを回復することはできません。


セキュリティ

「小さな漁獲でも帰れる方が、まったく帰れないよりはましだ。」 — 魚屋

脅威モデル(このセクションはAIで作成しましたが、正しい内容です)

誰かがあなたのプライベートGitリポジトリをクローンした場合: 暗号化されたブロブと .dredge-key を入手します。ソルトは秘密ではありません。その目的は事前計算攻撃を非現実的にすることです。パスワードがなければ、アイテムは不透明なバイナリデータです。Argon2idはオフラインでのブルートフォースを高コストにします。強力なパスワードを使用してください。

誰かが実行中のあなたのセッションにアクセスした場合: 派生キーは、そのターミナルセッションの間、$XDG_RUNTIME_DIR/dredge/$PPID/.key に存在します。各ターミナルは独立したディレクトリを取得します。ターミナルを閉じればキーは消えます。そのパスはユーザースコープ(モード700)であり、RAMバックアップです。セッションディレクトリへの読み取りアクセスを持つ攻撃者は、ボールトを復号化できます。ホームディレクトリにある機密の認証情報と同じように扱ってください。誰かがあなたのマシンでroot権限を持っているなら、dredgeキーはあなたの心配事の中で最も小さなものです。

誰かがオフラインのマシンに物理的にアクセスした場合: ディスク上のアイテムは暗号化されています。セッションキーはRAMバックアップストレージにあり、再起動後は保持されません。リンクされたアイテム(.spawned/)はディスク上に平文で存在します — 以下を参照。

平文が存在する場所

スパウンファイルはディスク上に残る唯一の永続的な平文であり、アイテムをシステムパスに明示的にリンクしたためにのみ存在します。その他はすべてメモリ内のみです。

注意点

  • --password / DREDGE_PASSWORD: パスワードをインラインで渡すと、シェル履歴や ps の出力に露出します。環境変数は子プロセスに漏洩する可能性があります。共有環境では両方を避けてください。
  • --vault / DREDGE_VAULT: 変更を永続化せずに、単一コマンドでアクティブなボールトを上書きします。複数のボールトを使用したスクリプティングに便利です。
  • リンクされたアイテム: リンクされたアイテムの平文は、シンボリックリンク先(例:~/.ssh/config)に存在します。Gitで追跡されませんが、ディスク上に平文で存在します。

リンクコマンド

保存されたアイテムをファイルシステム上のパスにリンクします:

root@kitploit:~
dredge link <id> ~/.ssh/config

このコマンドは、~/.ssh/config にシンボリックリンクを作成し、dredgeが管理する平文コピーを指し示します(ファイルはディスクに露出するため、使用可能になります)。ファイルを直接編集するか、dredge edit などを使用するか、好きな方法で編集でき、すべての変更は自動的に暗号化ストアに同期されます。

自動修復: シンボリックリンクの名前を変更した場合(例:mv ~/.ssh/config ~/.ssh/config-backup)、dredgeは新しいパスを自動的に検出して追跡します。削除されたシンボリックリンクはセッション開始時にクリーンアップされます。

dredge リンクデモ

新しいマシンでの操作:

root@kitploit:~
git clone [email protected]:you/vault.git ~/.local/share/dredge
dredge link <id> ~/.ssh/config
# 同じSSH設定、同じキー、すべてのマシンでGitが更新を追跡

これこそが、dredgeを作った本当の理由です。私のSSH設定はすべてのマシンで同一ですが、dotfilesの中にただ放り込むわけにはいきませんでした。


全コマンド一覧

Git同期(wlad031 作)

Git同期はプレーンな git を使用し、任意のリモートで動作します(GitHub/GitLab/Gitea など)。

dredge init はオプションのGitリモートを受け入れます。省略した場合、dredgeはローカルのみのGitリポジトリを初期化します(リモートなし)。

自動コミット動作: push、pull、sync は、リモートと調整する前に、同期されていない未コミットの変更をコミットで保存します。リモートバージョンを優先するためにローカルの変更を破棄する必要がある場合は、dredge drop を使用してください。

自動履歴保持: push と sync は dredge.toml のポリシーを適用します。アイテムのメタデータとバイナリストレージは、アイテムごとのバージョン数と暗号化バイト数の独立した制限を持ち、history.deleted.retain_for は削除されたIDが復元可能な期間を制御します。ポリシーが何も削除しない場合、Dredgeは通常のプッシュを行います。圧縮が必要な場合、Dredgeは置換履歴を検証し、正確な force-with-lease を使用します。同時のリモート更新は上書きされずに安全に停止します。pull は圧縮や force-push を行いません。

保持された履歴は dredge history、dredge history deleted、または dredge history <id> で確認できます。削除された暗号化アイテムは dredge history restore <id> で復元できます。パスワード変更は履歴ブロブを再暗号化しないため、古いパスワードで作成された復元バージョンは現在のパスワードでは復号化できない可能性があります。

受け入れられるリモート形式:

root@kitploit:~
# GitHubの省略記法(https://github.com/<owner>/<repo>.git に展開)
dredge init owner/repo

# HTTPS
dredge init https://github.com/owner/repo.git
dredge init https://gitlab.com/group/repo.git

# SSH(scp形式)
dredge init [email protected]:owner/repo.git
dredge init [email protected]:group/repo.git

# SSH URL
dredge init ssh://[email protected]/owner/repo.git

# ローカルパスリモート(上級者向け)
dredge init /srv/git/dredge-vault.git
  • Dredgeはリモートリポジトリを自動で作成しません。
  • origin が設定されていない場合、dredge push/pull/sync はガイダンス付きでエラーになります。
  • すでにGitリモートが設定されている場合、dredge init は上書きしません。

なぜ作ったか

dredge ロゴ

「私は収集家だ — 多くのものの:芸術と工芸品、宝物と真実…そして欲望の周辺に位置する好奇心。」 — コレクター

何かを保存したものの、必要なときにどこにあるかわからないという精神的負荷。

重要なもの(そして重要でないものも、単に全般的なもの)があちこちに散らばっていることにうんざりしていました。6年前に作ったメールアカウントにアクセスしなければならなかったのは、理由もなく緊急にアクセスする必要があったランダムなサービスにリンクされていたからです…とにかく、多くのツールにはそれぞれの特徴があるものの、情報を保存するという非常に重要な側面で重複していることに気づき、その特定の重複に特化し、各ツールが最も得意とすることを任せるツールを作りました。

私は怠け者なので、ただ動作し、私の心を読み、エントリの追加やナレッジベースからの取得に労力を要さないものが欲しかったのです。

かつて jrnl をダウンロードし、そのアイデアはとても気に入りましたが、奇妙なパラメータのせいで実行には満足できませんでした。アイテムの分離がなく、すべてにマッチする検索でした。Dredgeは私が実際に欲しかったものです。(つまり、ほぼ個人的なツールです)


コントリビューター

dredgeに貢献してくれた皆さん、本当にありがとう:


timcondit

wlad031

Made with by Luar
ツールをダウンロード
場所いつライフタイム
RAMのみ表示、検索、編集のたびコマンド終了時に解放
$XDG_RUNTIME_DIR/dredge/$PPID/edit-*.txtdredge edit 実行中のみエディタ終了後に削除
~/.local/share/dredge/.spawned/<id>dredge link 実行後dredge unlink を実行するまで
コマンド説明例
add / a / new / +アイテムを追加(-cフラグがない場合はエディタが開く)dredge add "OpenAI Key" -c "sk-..." -t keys
search / sアイテムを検索dredge search aws key
list / ls全アイテムを一覧表示dredge ls
view / vアイテムを表示dredge view xKP または dredge 1
cat / c生のコンテンツを出力(パイプ用)dredge cat xKP | bash
edit / eアイテムを編集dredge edit xKP
rm削除(ゴミ箱に移動)dredge rm 1 2 3
undo最後に削除したアイテムを復元dredge undo
link / lnアイテムをシステムパスにリンクdredge link xKP ~/.ssh/config
unlinkリンクを削除dredge unlink xKP
mv / renameアイテムIDの名前変更dredge mv xKP abc
exportファイルアイテムをディスクにエクスポートdredge export xKP ./output/
copy / cpアイテムの内容をクリップボードにコピーdredge copy xKP
lockボールトをロック(セッションキーをクリア)dredge lock
init / useボールトを初期化またはアクティブ化dredge init ~/vaults/work
push / pull / syncGit同期(変更を自動コミット)dredge sync
dropコミットされていない変更を破棄dredge drop xKP または dredge drop --all
status保留中の変更を表示dredge status
passwdボールトのパスワードを変更dredge passwd
update最新バージョンに更新dredge update