lbcdsg

vibe コーディングにより、初心者がシークレット、フロントエンドバンドル、Git
履歴の扱いを学ぶ前にアプリを動作させられるようになったため、このプロジェクトを始めました。

.env に値が存在しても、それが必ずプライベートに留まるとは限りません。VITE_*NEXT_PUBLIC_*REACT_APP_* などの変数はブラウザコードに到達する可能性があります。また、API キーがコミットされた場合、現在のファイルから削除しても Git 履歴から消えるわけではありません。

そこで私はWardrailという小さなオープンソースの安全チェックツールを作りました。

npx wardrail scan --history

Enter fullscreen mode Exit fullscreen mode

現在のプロジェクトと Git 履歴の限定された部分をスキャンします。また、MCP 設定ファイルや Agent 指示ファイルに含まれる危険なコマンド、認証情報へのアクセス、安全バイパスパターンもチェックします。

Wardrail はデフォルトでローカルで実行されます。ソースコードをアップロードせず、スキャン対象のプロジェクトを実行することもありません。

現在のバージョンに含まれる機能

  • [email protected]
  • 説明可能な静的ルール 17 件
  • 自動テスト 38 件
  • ターミナル、JSON、SARIF 出力
  • pre-commit および GitHub Code Scanning サポート

初心者にとって重要だと考える理由

AI コーディングツールは、誰かが有用なアプリケーションを非常に迅速にリリースするのに役立ちます。しかし、その速度はセキュリティ上の前提を隠してしまうことがあります。

  • .env は自動的にプライベートであると扱われる
  • フロントエンド公開変数がサーバーサイドのシークレットと誤解される
  • 削除されたキーは Git 履歴からも消えたと想定される
  • サードパーティの MCP サーバーや Agent Skill を、コマンドを確認せずに信頼してしまう

Wardrail はプッシュやリリースの前に早期警告となることを目指しています。リスクスコアだけを返すのではなく、一致した根拠を説明し、修正案を提示します。

正直な限界

これはまだ初期段階のプロジェクトであり、外部ユーザーの事例はまだありません。誤検知やリスクの見逃しが発生する可能性があります。侵入テストではなく、レポートがクリーンでもアプリケーションが安全であることを意味しません。

現在は認証・認可、データベースポリシー、依存関係の脆弱性、デプロイ設定、ランタイム動作のテストは行っていません。より広範なシークレット検出には Gitleaks や TruffleHog が成熟した選択肢です。

最初の本格的なテスターを募集しています

リポジトリと CLI デモ:

https://github.com/3196973848/wardrail

特に役立つフィードバック:

  • どのルールがノイズが多く、わかりにくかったか?
  • どのシークレット形式や危険パターンを見逃したか?
  • 初心者にとって修正案は理解しやすかったか?
  • 次にサポートすべき MCP や Agent 設定は何か?

ルール ID と赤acted した例のみを共有してください。生の認証情報を投稿しないでください。実際のキーが漏洩した可能性がある場合は、まず失効またはローテーションしてください。

短い報告でも「かっこいい」という丁寧な言葉よりも役立ちます。