
██████╗███████╗ ██████╗ ██╗ ██╗██╗██████╗ ███████╗
██╔════╝██╔════╝██╔═══██╗ ██║ ██║██║██╔══██╗██╔════╝
██║ ███████╗██║ ██║ ██║ ██║██║██████╔╝█████╗
██║ ╚════██║██║ ██║ ╚██╗ ██╔╝██║██╔══██╗██╔══╝
╚██████╗███████║╚██████╔╝ ╚████╔╝ ██║██████╔╝███████╗
╚═════╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═════╝ ╚══════╝
senior-CSO security audit for vibe-coded apps
バイブコーディングアプリ(Cursor / Lovable / Bolt / Replit / v0 / Claude-built)向けのシニアCSOセキュリティ監査スキルです。
決定論的で再現可能な20層の監査を実行し、file:line の証拠とコピペ可能な修正差分を含む構造化レポートを生成します。
バイブコーディングアプリは、一貫して同じ失敗のショートリストを出荷します。
.envファイルを公開このスキルが基づいている実際のインシデント:
/api/projects/[id] のBOLA、1万8千件のユーザーレコードが露出、48日間未パッチ。sk- / AKIA / AIzaSy キーが頻繁にJSバンドルに出荷された。.env / .cursor/ 設定がgitにコミットされた。pickle.loads → RCE。VibeWrenchが100のバイブコーディングアプリ(2026年)をスキャンした結果:
| 発見事項 | アプリの割合 | 対象チェック |
|---|---|---|
| CSRF欠落 | 70% | チェック21 |
| シークレット/APIキーの露出 | 41% | チェック6, 16 |
| スタックトレースリーク | 36% | チェック8 |
| 入力検証欠落 | 28% | チェック3-5 |
| エンドポイント認証なし | 21% | チェック1, 11, 19 |
| セキュリティヘッダー欠落 | 20% | チェック22 |
| XSS | 18% | チェック5 |
| Supabase認証情報の露出 | 12% | チェック6, 13 |
Wiz Research(2025年):バイブコーディングアプリの20%に深刻な欠陥が出荷されています。ETH Zurich BaxBench(2025年):AI生成コードの45%にOWASP Top 10の脆弱性が含まれています。
22の階層化チェック:
NEXT_PUBLIC_*/VITE_*)max_tokens+タイムアウト+カナリーtenant_idにより適用/[id]ルートでの所有権チェック(BOLA / IDOR)console.log(req.body)禁止.env*を.gitignoreに含め、かつgit履歴に存在しないことpickle.loads / eval / yaml.load / Function() / shell:true禁止useEffectリダイレクトだけではない各チェックの完全な手順:references/checks.md
ワンライナー:
curl -fsSL https://raw.githubusercontent.com/git-akki/cso-vibecheck/main/install.sh | bash
または手動:
git clone https://github.com/git-akki/cso-vibecheck.git ~/.claude/skills/cso-vibecheck
その後、任意のClaude Codeセッションで次のように尋ねます:
アプリのセキュリティ問題を監査して
または直接呼び出す:
/cso-vibecheck
最も深刻な5カテゴリ(クライアント内のキー、IDOR、RLSオフ、.env露出、リクエストからのID)を30秒でスキャンする場合:
bash ~/.claude/skills/cso-vibecheck/scripts/triage.sh /path/to/repo
その後、Claudeに尋ねます:
/cso-vibecheck quick scan
構造化されたMarkdownレポート、以下を含む:
file:lineの証拠、平易な英語での説明、関連インシデント、1文のエクスプロイト、コピペ可能な差分修正正確なテンプレートはreferences/report-template.mdを参照してください。
MIT