ガイド
選定・比較
ドキュメント
セキュリティチェックを使う(ベータ版)
アプリのソース(GitHub のブランチ、または ZIP)を AI が読み、公開前に気になる点を確認する機能です。結果の読み方から修正、レポートの共有までを説明します。
hanamii のセキュリティチェックは、アプリのソースを、公開前に AI が静的に読み、設計上の抜けを指摘する機能です(ベータ版)。デプロイは不要です。アプリを実際に動かして調べるものではありません。
たとえば次のような場面に向いています。
プロジェクト詳細の セキュリティチェック タブで使います。どんな結果が返るかは、外部送信の許可の手前にある どんな結果が返ってくるか、見本を見る か、履歴の近くの 結果の見本を見る から開けます。見本は架空の問い合わせ管理アプリの結果です。

ソースの読み取りでは、次の 5 つのまとまりで合計 14 項目を確認します。
| まとまり | 確認すること |
|---|---|
| アカウント(5 項目) | 登録時にメールアドレスの持ち主を確かめているか、パスワードの再設定が本人だけにできるかを見ます。確認用のリンクの期限や使い回し、メールアドレス変更時の確認と通知、パスワードの保存方法も調べます。 |
| 認可(3 項目) | 他の人のデータを読み書きできないか、管理者だけの操作が守られているかを見ます。画面で隠すだけでなく、サーバー側でもログイン状態を確かめているかを確認します。 |
| セッション(2 項目) | ログインなどを何度も試す操作に制限があるかを見ます。ログアウトやパスワード変更のあとに、以前のログイン状態が無効になるかも確認します。 |
| データ(3 項目) | 秘密の値がソースやブラウザーに露出していないかを見ます。応答に不要な情報が含まれていないか、利用者が変更してよい項目だけを更新できるかも確認します。 |
| 運用(1 項目) | 開発用の入口や、誰でも知っている初期パスワードが残っていないかを見ます。 |
見るのはソースだけです。SQL インジェクション・XSS などの網羅的な脆弱性検査、依存ライブラリの既知の脆弱性照合、動作させての検査、DNS・外部サービスの実際の設定は調べません。問題がないことを保証するものではありません。 AI の自動判定なので、同じソースでも実行のたびに結果が変わることがあります。
使えるのはワークスペースの オーナー(owner)・管理者(admin)・開発者(developer) です。閲覧者(viewer)は結果も見られません。ワークスペースの管理者が接続設定を済ませている必要があります。
GitHub と連携しているプロジェクトは、ブランチを選ぶとその最新コミットを GitHub から取り寄せて調べます。連携していないプロジェクトは、ZIP をアップロードして調べます。どちらもデプロイはしません。アップロードする ZIP は 10 MiB 以下、GitHub から取り寄せる場合は 50 MiB 以下 です。GitHub のブランチ一覧は最大100件で、ルートディレクトリを設定している場合はその配下だけを調べます。画像・PDF・1 MiB を超えるファイルは読まずに飛ばし、「対象範囲の制限」として記録します。
1 プロジェクトにつき 1 時間に 10 回まで 利用でき、再実行には 30 秒以上 の間隔が必要です。検査全体が 5 分 を超えた場合は中断します。ベータ版のため、仕様や上限は今後変わる場合があります。
ブランチ を選ぶ(GitHub 連携)か、ZIP ファイル を選び(連携なし)、アプリの用途を入力します。続いて 誰が使いますか? と 扱うデータは? を選びます。利用者ごとの権限や制限が分かる場合は、任意の欄に記入できます。

たとえば「社員が問い合わせを管理する」「担当者は自分の問い合わせだけを扱う」といった情報です。誰が使うか、何を扱うかで判定の厳しさが変わるため、こうした条件を聞いています。決まっていないことを無理に確定する必要はありません。
送信先と送る内容の説明を読み、外部送信を許可するチェックを入れて チェックを開始 を押します。

通常は 1〜2 分 かかります。チェック中は、いまの段階(ファイルを読む、AI が確認する、結果をまとめる)と経過時間が表示されます。GitHub から取り寄せる場合は、最初に「ソースを取り寄せる」段階が入ります。画面を閉じても検査は続き、あとで同じタブに戻ると結果を見られます。

結果の先頭に 次にやること と、判定ごとの件数が表示されます。要対応 と 要確認 の項目は、所見・次の対応・根拠をまとめたカードで開いた状態になります。問題は見つからず と 対象外 は件数だけが見え、開く を押すと項目の一覧が出ます。

| 判定 | 読み方 |
|---|---|
| 問題は見つからず | このチェックの範囲では、直す点が見つかりませんでした。安全を保証する意味ではありません。 |
| 要対応 | ソースに修正が必要な点が見つかりました。所見と次の対応を読んで直します。 |
| 要確認 | ソースだけでは判断できません。利用条件や外部の設定を人が確かめます。 |
| 対象外 | 今回のアプリでは、その項目が当てはまりません。用途や機能が変わったら改めて確認します。 |
同じプロジェクトの直前の完了結果と項目ごとに比べ、「解消」「新たに出た」「続いている」「変わらず問題なし」を表示します。前回とソースのハッシュが同じ場合は、判定が変わった項目に AI の揺れであることを添えます。履歴で過去の版も選べます。
根拠となるソース には src/app/api/inquiries/route.ts:33 のようにファイルのパスと行番号が出ます。対象の版のソースを開き、その場所と周りの処理を確認するための手掛かりです。
要対応・要確認の項目にある AI に渡す修正依頼をコピー を押すと、その項目の内容をコピーできます。ChatGPT や Claude Code に、対象のソースと一緒に貼り付けて相談できます。見本のコピーには架空のパスが入るため、実際に直すときは自分の検査結果を使います。

修正した内容を GitHub のブランチへ反映するか、新しい ZIP を選んで、もう一度チェックします。デプロイは不要です。外部サービスの設定を確かめた場合や、修正の予定が決まった場合は、項目の メモを書く を押して 担当者メモ に残し、メモを保存 を押します。メモを保存しても自動判定は変わりません。担当者メモは社内用で、その検査に付きます。新しい版の検査には引き継がれません。
指摘が誤検知だった場合は 誤検知として扱う を押し、理由を入力して 判断を保存 します。判断した人と日時が記録され、AI の判定件数とは別に数えます。同じ項目が次回以降も要対応・要確認になった場合は、前回の判断者・日時・理由を読み、今回も誤検知として扱う で引き継げます。自動判定は書き換えず、今回判断した人と日時で新たに記録します。この理由と判断者は共有レポートにも載ります。
結果の下にある 共有メモ はレポートに載ります。今回確認できたことや、お客さまに確認してほしいことを書けます。担当者メモと記録者名は、既定ではレポートに載りません。必要な場合だけ 担当者メモをレポートに含める を選びます。レポートを保存(PDF) を押すと、変更した担当者メモと共有メモを保存してから PDF を出力します。保存に失敗した場合は出力されないため、画面の案内を確認してもう一度試せます。PDF はブラウザーの中で組み立てるため、結果がほかのサーバーに送られることはありません。
ブラウザーで開ける HTML で保存 と、文章を別の資料に取り込みやすい Markdown で保存 もあります。

レポートの結論は、何をどの範囲で確認し、検査時点で何件残っているかを伝えます。納品の可否や、その後の修正状況を示すものではありません。前回との項目ごとの比較、誤検知の判断、見ていない観点も載ります。付録には実施者・同意日時・開始と完了の日時・出力日時と出力した人・対象版とハッシュ・モデルと基準の版を日本時間で記載します。旧記録の同意日時は「記録なし」で、開始日時では代用しません。ユーザーの表示名を保存する仕組みがないため、表示名は記録なしとし、メールを記載します。要対応や要確認が残ったままでも共有できます。結果が保証ではないことと、まだ確認していない点を添えると、受け取る方が判断しやすくなります。見本ではメモの入力・保存やレポートの保存はできません。
対象版のソースファイルの中身と利用条件を Anthropic(米国)の Claude API に送ります。ソースに含まれる CSV の内容・seed・テスト用データなどの実データも送信対象です(単独の .csv ファイルは未対応形式として除外)。実データを送りたくない場合は、そのファイルを除いた ZIP を使えます。GitHub 連携中も GitHub の代わりに ZIP をアップロードする で切り替えられます。hanamii の検査処理ではソースを検査のあいだだけ扱い、検査用のコピーは保存しません。アップロードした ZIP や GitHub から取り寄せたソースは検査が終わると破棄します。デプロイ用に保存されることはありません。Anthropic は API の入力と出力を受け取りから30日以内に削除します。利用規約違反の疑いで自動判定された内容は最長2年保持されることがあります。API に送った内容は Anthropic のモデルの学習には使われません。
送信前に、.env で始まるファイル、名前に credentials・secret・secrets を含む JSON、id_rsa・id_ed25519、拡張子が .pem・.key・.p12・.pfx・.crt のファイルを除外します。既知の秘密情報パターンはマスクしますが、実データを一律には取り除きません。hanamii に登録した環境変数やログ、依存ライブラリも送りません。結果・担当者メモ・共有メモ・誤検知の判断は hanamii に保存されます。
失敗すると、結果の位置に理由と、どの段階で止まったかが表示されます。

| 表示される文言 | やること |
|---|---|
| 選んだブランチが見つかりません。ブランチ一覧を再読み込みしてください | ブランチ一覧を再読み込みして選び直します。 |
| ZIP は 10 MiB 以下にしてください | node_modules や画像を外して小さくします。 |
| GitHub から取り寄せたソースが 50 MiB を超えている | ルートディレクトリの設定で対象を絞るか、大きなファイルをリポジトリから外します。 |
| 制限時間(5分)内に完了しなかったため中断しました。しばらくしてから再実行してください。 | 少し待ってから上のフォームで始め直します。続く場合は対象ファイル数を減らすことを検討します。 |
| ソースの取得または検査の通信が時間切れになったため中断しました。しばらくしてから再実行してください。 | 少し時間を置いて始め直します。続く場合は管理者に接続設定を確認してもらいます。 |
| 検査を完了できませんでした。対象ソース・実行設定を確認して再検査してください。 | 対象の版と利用条件を見直し、管理者に実行設定を確認してもらってから始め直します。 |
使えます。ブランチを選ぶと GitHub から最新コミットを取り寄せます。デプロイしているブランチ以外も選べます。
使えます。連携のないプロジェクトでは ZIP をアップロードして調べます。
現在はプランによる制限はありません。機能が有効になっていて、必要な権限と接続設定があれば使えます。ベータ版のため、提供条件は今後変わる場合があります。
レポートとして共有できます。安全を保証するものではない旨を添え、共有するメモの内容も確認してから渡します。
アプリ側の作りを説明する手掛かりになります。ただし、会社の運用や実行環境まで答えられるものではありません。セキュリティチェックシートに回答するときで、確認する範囲の分け方を案内しています。
同じソース・同じ条件で検査済みのときは、AI に送らず前回の結果を使います。検査基準・モデル・指示文の版も一致する場合が対象で、AI の利用費用はかかりません。結果には元の検査日時と、今回は AI に送っていないことが表示されます。調べ直したいときは、開始フォームの「前回の結果を使わず、AI に調べ直してもらう」を選べます。担当者メモや誤検知の判断は自動では引き継ぎません。
次のガイド
カスタムドメインを設定する
日本の空に咲くクラウド
Calm. Fast. Trusted.
© 2026 hanamii. All rights reserved. 🌸