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 した例のみを共有してください。生の認証情報を投稿しないでください。実際のキーが漏洩した可能性がある場合は、まず失効またはローテーションしてください。
短い報告でも「かっこいい」という丁寧な言葉よりも役立ちます。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.