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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
HiddenSteps — HiddenSteps — ローカルファーストの個人ワークフローインテリジェンスプラットフォーム | Kitploit
ツール/GitHubGitHub/jgalego/hiddensteps
OSINT (オープンソースインテリジェンス)偵察データ流出情報収集CTFプライバシー論文と研究学習と教育厳選リソース学習パスとコースラボと実践
GitHubjgalego/hiddensteps
413日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

HiddenSteps

HiddenSteps — ローカルファーストの個人ワークフローインテリジェンスプラットフォーム

リポジトリを見る

コアクレート — 実装状況

これは、docs/design/02-system-architecture.md の対象モジュールマップに対する、正直で現在の状態を補完するものです。実際に構築されたもの、実際のバックエンドに対して検証されたもの(モックではなく)、まだ本当に欠けているものを示しています。計画されているものではありません(それは docs/roadmap/01-implementation-roadmap.md にあります)。

リポジトリルートから cargo build --workspace && cargo test --workspace && cargo clippy --workspace --all-targets -- -D warnings を実行してください。本稿執筆時点: 12 クレート、193 の合格テスト、clippy 警告ゼロ、cargo fmt --check クリーン — 表示や外部サービスを必要としない 11 クレートで 183、さらに hiddensteps-observation でライブ X11 ディスプレイを必要とする 10 テスト(存在する場所で検証済み; その行を参照)。4 つのテストは設計上 #[ignore] されており(下記参照)、不合格または 193 の一部としてカウントされません。

存在するもの

クレート実装内容検証方法
hiddensteps-domainコア型: PrivacyLevel/PrivacyState、EventSummary/SignalType、Pattern、Recommendation、AuditEntry、および CapturedSignal — 構造的に永続化できない型(Serialize なし)で、ADR-0006 の生データルールを型レベルで強制しますユニットテスト: レベルのラウンドトリップ/順序付け、Deep モード TTL ゲーティング
hiddensteps-securitySecretStore (ADR-0008): 実際の OS ボールト(KeyringSecretStore)+ インメモリ(テスト)実装; CSPRNG マスターキー生成(zeroize::Zeroizing ラッパーで返され、解放されたメモリに残らずドロップ時にキーが消去される); ポータブルモード用の Argon2id パスフレーズ導出(PassphraseKey はドロップ時に導出キーをゼロ化し、非秘密のソルトは保持)。hiddensteps-event-store も同様に、キーを含む PRAGMA key/rekey SQL テキストを Zeroizing で保持しますインメモリストアと KDF に対するユニットテスト; 実際のボールトラウンドトリップは #[ignore] されています(下記参照)
hiddensteps-event-storeSqlCipherEventStore (ADR-0003): docs/design/07-database-schema.md の完全なスキーマ、プライバシーステート、イベント、監査ログ、パターン、パターン↔イベントリンク、パターン埋め込み(下記注意参照)、推奨、LLM プロバイダ設定、汎用設定の CRUD、さらに delete_all_data(トランザクショナル; 再起動後も生き残る「すべて削除」のための rekey も行う)/export_data/count_rows(診断)/delete_expired_events(Deep モード TTL スイープ、apps/desktop/src-tauri の定期的な推奨ループから呼び出される — ttl_expires_at は v0.1.0 から永続化されていたが、これ以前はそれを過ぎた行を削除するものはなかった); 外部キー強制(PRAGMA foreign_keys = ON)により、schema.sql のパターン↔イベントリンクに対する ON DELETE CASCADE が実際に実行される実際の SQLCipher ファイルに対する 33 テスト: 間違ったキーでは開けない、同じキーで正しく開き直せる、全削除で最新のテーブルを含むすべてのテーブルがクリアされる、rekey ラウンドトリップ、TTL スイープで期限切れでないイベントはそのまま、カスケード削除で孤立したパターン↔イベントリンクが残らない
hiddensteps-redaction編集エンジン(docs/design/05-privacy-model.md §4): API キー/トークン/PEM キー/メール/SSN/クレジットカード用の正規表現+Luhn 検出器、エントロピーベースのあいまい秘密検出器、および不確実性時のドロップポリシー30 テスト(意図的に敵対的な入力を含む: 散文に埋め込まれた秘密、git SHA のようなニアミスの非秘密、ダッシュなし/スペース入り SSN、桁埋めされたカード番号、すべて大文字の高エントロピートークン)

さらに、crates/ の外側(ルートワークスペースの一部ではありません — 理由は後述):

開示された単純化であり、ギャップではないもの

  • パターン埋め込みは、hiddensteps-event-store でプレーンな BLOB として保存され、コサイン類似度は Rust で計算され、ADR-0007 の sqlite-vec 仮想テーブルの代わりとなります(event-store/src/schema.sql の先頭のコメントを参照)— ネイティブ SQLite 拡張をロードすることはこの環境では検証不可能であり、ADR-0007 自体も現実的なシングルユーザーボリュームでは、sqlite-vec 自身の動作は総当たりの正確な検索であると述べています。同じセマンティクス、ネイティブ拡張のリスクなし。
  • hiddensteps-observation の macOS および Windows モジュール(src/macos/、src/windows/)は、長期間安定したプラットフォーム API(CGWindowListCopyWindowInfo; GetForegroundWindow/GetWindowTextW/QueryFullProcessImageNameW)に対する実際の完全なソースコードで、macOS/Windows ツールチェーンなしで記述されました — 現在は両方とも .github/workflows/ci.yml の core ジョブマトリックスで検証され、クリーンコンパイルされます。macOS モジュールでは最初に 1 つの実際の修正が必要でした( の型指定なしデフォルト汎用パラメータが キーに対する のトレイト境界を満たさなかった — として明示的に型指定することで修正); Windows は初回でクリーンコンパイルされました。

Tauri シェルと UI が crates/ の外にある理由

crates/* はルート Cargo.toml ワークスペースであり、cargo が取得する以外のシステム依存関係をゼロにして、この Linux 開発環境で完全にビルド/テスト可能です。apps/desktop/src-tauri はコンパイルするだけでも webkit2gtk-4.1(Linux)を必要としますが、この環境ではインストールできません(パスワードなしの sudo なし、機能する nix/パッケージマネージャーパスなし — 直接試行で確認済み)。ワークスペースから外しておくことで、cargo build --workspace はこのサンドボックスで誰も修正できない 1 つのクレートで永久的に赤くなるのではなく、ここで 100% 緑のままになります。また、同じ理由で、自身の Cargo.toml に空の [workspace] テーブルが必要です — そうしないと、Cargo はこの祖先ワークスペースにアタッチしようとして、「現在のパッケージはワークスペース内にあると信じているが、実際にはそうではない」というエラーで失敗するからです。apps/desktop/ui にはそのような制約はなく、Rust コアと同じ方法で検証されています。どちらの部分もエンドツーエンドで検証されています — ただし、このサンドボックスではなく CI によってです。

4つの #[ignore] テストに関する注記

  • hiddensteps-security::keyring_store::tests::set_get_delete_round_trip_against_the_real_vault — 実際の OS 資格情報ボールト/デスクトップセッションが必要。
  • hiddensteps-observation::linux::shortcuts::tests::grabs_and_ungrabs_a_real_shortcut — セッション全体の実際の XGrabKey を実行するため、共有環境で自動実行すると妨害になる。
  • hiddensteps-llm-provider の tests/ollama_live.rs(2 テスト) — 実際に動作している Ollama インスタンスが必要。両方とも開発中に実際のローカル qwen3:0.6b(0.6B パラメータハイブリッド推論モデル)インスタンスに対して実際に実行され、合計約 2 秒で合格しました; モデル/URL を HIDDENSTEPS_TEST_OLLAMA_MODEL/HIDDENSTEPS_TEST_OLLAMA_URL 環境変数でオーバーライドして別の設定にできます。

4つすべて実際のテストであり、痕跡ではありません — docs/roadmap/03-testing-strategy.md §2 は、CI でモックの背後にあるべきロジックと、意図的で手動の検証に属する OS/セッション/外部サービス統合との正確な区別を描いています。適切なマシンで、cargo test -p <crate> -- --ignored のいずれかを実行してください(1つだけ実行するには <test name> を追加)。

ツールをダウンロード
hiddensteps-pipelineイベントパイプライン(ADR-0006): 分類 → 編集 → 要約、シグナルタイプごとのプライバシーレベルゲーティング、Deep モード TTL 割り当て8 テスト(編集トリガードロップ、レベルゲーティングドロップ、正常な要約をカバー)
hiddensteps-observationObservationSource (ADR-0005) + Linux: ActiveWindowSource (X11 GetInputFocus)、FileOperationSource (inotify via notify)、ClipboardMetadataSource (X11 選択、メタデータのみ)、GlobalShortcutSource (X11 XGrabKey)。さらに macOS/Windows ソースファイル(下記参照)この環境では 11 テスト中 10 テストが実際のバックエンドに対して実行 — ライブ X11 ディスプレイ(WSLg の DISPLAY=:0)と実際の inotify、モックではない。1 テスト(GlobalShortcutSource の実際のグラブ)は設計上 #[ignore]
hiddensteps-llm-providerLlmProvider (ADR-0004): Ollama クライアント(think: Option<bool> リクエストフィールドあり、ハイブリッド推論モデル用)、OpenAI ワイヤ互換クライアント(OpenAI/Azure/OpenRouter/Together/Groq/DeepSeek/LocalAI をカバー)、Anthropic Messages クライアント、およびローカルランタイム自動検出。すべてのクライアントがリクエストタイムアウトを設定(build_http_client)し、ハングしたリモートが呼び出しを永久にブロックできないようにする; Ollama は max_tokens をネストされた options.num_predict として転送wiremock モックサーバーに対する 19 テスト(実際のタイムアウト発動チェックを含む、Ollama が実際に num_predict を送信することを確認)、さらに 2 つの実際の Ollama 統合テスト(tests/ollama_live.rs、#[ignore] — 下記参照)で実際の問題が見つかり修正: 同じプロンプトがデフォルトの think のままでは実際のローカルハイブリッド思考モデルに対して 2 分以上かかったが、think: Some(false) では数秒だった
hiddensteps-patternsパターン検出(スライディングウィンドウ n-gram シーケンスマッチング)+ ワークフローグラフ(エッジ重み付き遷移グラフ) — ADR-0010 のレイヤー 116 テスト(PROMPT.md 自身の「31 回観測」例の直接の類似物を含む、連続する繰り返しに対するオーバーラップウィンドウが二重カウントされない回帰テストを含む)
hiddensteps-recommendationsレコメンデーションエンジンのレイヤー 2 (ADR-0010): 構造化 JSON プロンプト契約による LLM 合成、ナラティブ矛盾バリデーター、およびリトライループ — 重要なのは、数値フィールド(estimated_time_saved_minutes)は LLM の出力から一切解析されず、レイヤー 1 からのみ計算される23 テスト(不正な JSON リトライ、ナラティブ矛盾リトライ(スペルアウトされた数字と why だけでなくすべての LLM 制御フィールドをカバー)、文字列認識 JSON 抽出を含む、スクリプト化されたテストプロバイダに対する)
hiddensteps-privacy-engineクラウドディスパッチゲート(docs/design/03-data-flow-diagrams.md §5)および同意バージョニング(docs/design/05-privacy-model.md §5); PrivacyGatedProvider は任意の LlmProvider をラップし、通常の呼び出しパスでゲートがバイパスされないようにする13 テスト(すべての同意が付与されていてもレベル 4 コンテンツがブロックされることを含む)
hiddensteps-plugin-hostWASM プラグインホスト (ADR-0009): クローズドケイパビリティ列挙、マニフェスト検証、wasmtime バックアップのサンドボックスで、許可されたケイパビリティのホスト関数のみをリンク、さらにフューエルメータリングとメモリ ResourceLimiter でプラグインインスタンスの CPU/メモリを制限(保持するケイパビリティに関係なく) — docs/research/06-threat-model.md のサービス拒否セクションで、ケイパビリティの強制だけでは対処できないと名前が挙げられている 2 つの軸(ケイパビリティのないモジュールでもループしたりメモリを無限に増やしたりできる)。instantiate_from_manifest が安全なエントリポイント: マニフェスト検証を強制し(スクリーンショットにはレベル 4 が必要というルール)、いかなるケイパビリティもリンカーに渡される前にマニフェストが宣言していないものを拒否する — プレーンな instantiate ケイパビリティスライスにはマニフェストへのそのようなリンクがまったくない20 テスト(実際のケイパビリティエスケープ試行を含む: テスト時にコンパイルされた手書き WAT モジュールで、許可されていないケイパビリティのインポートが実際に未解決であること(インスタンス化が失敗する)を証明(単に未使用ではない); さらに実際の無限ループモジュールと無制限 memory.grow モジュールで、ハングしたりメモリを枯渇させる代わりにトラップする)
hiddensteps-enterprise-policyポリシースキーマ(docs/design/05-privacy-model.md §6)で、正確に 2 つのノブ(プライバシーレベルの下限、プロバイダ許可リスト)のみ — ポリシーが制約したい可能性のある他の何かのためのフィールドは存在しない。アプリデータディレクトリの enterprise-policy.json ファイルから読み込まれる(実際の、しかし暫定的なメカニズム — docs/design/08-plugin-architecture.md が説明する完全な PolicyLoader プラグインコネクタは構築されていない)、hiddensteps-event-store の enterprise_policy テーブルを介して永続化され、apps/desktop/src-tauri の set_privacy_level/set_ai_provider コマンドで実際に強制される — レベル/プロバイダ選択が書き込まれる 2 つの変更ポイント6 テスト(設計上除外された 5 つの余分なキーを持つ最大限敵対的なポリシーファイルを解析し、それらが解析後に残らないことを確認)
場所実装内容検証方法
../apps/desktop/uiReact/TypeScript UI: OnboardingWizard(全 8 画面、docs/ux/02)、PrivacyDashboard(docs/ux/03)、RecommendationCard(docs/ux/04)、SettingsPage、DiagnosticsPage、App.tsx で配線 — 型付き tauriBridge.ts を通じてのみコアと通信vitest + @testing-library/react による実際の jsdom レンダリングに対する 50 テスト(オンボーディングウィザードのステップゲーティング(検証なしの合格チェックなしでの進行不可、同意確認なしでの観測開始不可)、すべてのミューテーションコールサイトでのエラー表示、再同意バナー、推奨エビデンストレイル、axe-core アクセシビリティゲートを含む); tsc -b タイプチェックはクリーン
../apps/desktop/src-tauriTauri シェル: 約 21 の IPC コマンド(docs/design/09-api-specification.md)で上記のすべてのクレートを配線、さらに Linux 用の実際のキャプチャ→パイプライン→ストア→UI イベントのバックグラウンドループLinux、macOS、Windows で CI でクリーンコンパイル — 特にこの開発サンドボックス内ではない(理由は ../apps/desktop/README.md を参照)が、以前ここにあった「未検証」の注意書きはなくなりました: CI の最初の実際の実行で、ローカルレビューでは決して見つからなかった 3 つの実際のバグ(欠落した Serialize 派生、欠落した Cargo フィーチャーフラグ、欠落した生成アイコンファイル)が見つかり修正されました
CFDictionary
&CFString
find
CFDictionary<CFString, CFType>
  • ブラウザドメイン監視とグローバルショートカットの自動起動は、hiddensteps-observation/src/lib.rs の doc コメントで名前が挙げられているギャップです — 前者はこのリポジトリに含まれていない別個のブラウザ拡張アーティファクトを必要とします; 後者(GlobalShortcutSource)は実装されていますが自動起動はされません。共有開発サンドボックスでキーコンボをセッション全体でグラブすると積極的に妨害になるためです。
  • レコメンデーションエンジンのレイヤー 2 は、設定された LlmProvider を介して定性的判断を合成します; スクリプト化された代用プロバイダに対してテストされています(リトライ/検証ロジックに対する実際のアサーション)。hiddensteps-llm-provider 自体は現在実際の Ollama カバレッジを持っています(下記参照); シンセサイザー自身のプロンプト契約を実際のモデルでエンドツーエンド実行すること(基礎となる HTTP クライアントではなく)は次の自然なステップであり、まだ完了していません。
  • get_diagnostics(Tauri シェル)は、実際のイベント/パターン/推奨/監査ログのカウントと実際のディスク上のファイルサイズを報告しますが、GPU/CPU/メモリ使用量、監視 OS 許可ステータス、更新ステータスは報告しません — PROMPT.md の完全な自己診断リスト。これをレンダリングする各 UI コンポーネントは、偽の「OK」を表示するのではなく、そのように明示的に述べています。