メインコンテンツへスキップ

セキュリティ監査 · Web アプリ / SaaS

Webアプリケーションのセキュリティ監査・脆弱性診断

認証・認可・テナント分離・秘密情報・決済・クラウド設定を、ソースコードと設定を読んで確かめます。自動スキャンで拾える穴に加えて、「誰がどのデータに触れられるか」という、ツールでは判定できない設計の穴まで。見つけた所見には、優先順位つきの修正方針を付けます。

料金: スポット診断 ¥98,000〜 / 標準監査 ¥280,000〜 / 伴走・修正実装 ¥680,000〜

「完全に安全」とは言いません。 監査は、決めた範囲の既知の重大リスクを洗い出し、優先順位をつける仕事です。範囲外のことと、残るリスクは報告書に書きます。

監査対象

何を見るか

Next.js / Supabase に加えて、Rails・Laravel・Django・Go などで書かれた Web アプリと、AWS / GCP / Vercel の設定も対象です。対象と深さは、最初の相談で決めて書面に残します。

認証と認可

  • 認証(ログイン・セッション・トークンの扱い)
  • 認可と所有者チェック(IDOR / BOLA — 他人の ID を入れたら見えてしまう問題)
  • マルチテナントの分離(別の会社のデータに越境しないか)
  • 管理者機能・権限の昇格経路

入力とデータの扱い

  • 入力検証(SQL インジェクション・XSS・SSRF・CSRF)
  • ファイルアップロード(保存先の権限・種類の偽装・公開範囲)
  • 決済(Webhook の検証・二重処理・金額の改ざん)
  • 業務ロジック(数量・価格・状態遷移の悪用)

運用と設定

  • 秘密情報(API キー・サービスロールキーの置き場所と露出)
  • レート制限・セキュリティヘッダー(CSP など)
  • 依存パッケージの既知の脆弱性
  • ログ(個人情報や秘密情報の書き出し)とデプロイ・クラウド設定(AWS / GCP / Vercel)

診断の方法

自動でできること、人が判断すること

ツールは速く広く拾えますが、「この人がこのデータを見てよいか」は業務の決まりを知らないと判定できません。監査ではこの2つを分けて使います。

設計レビュー
自動化できること: 構成の洗い出しの補助まで
人の判断が要ること: 信頼境界・認可モデル・テナント境界が業務の決まりと合っているか
ソースコードレビュー
自動化できること: 危険な API・ハードコードされた秘密情報のパターン検出
人の判断が要ること: 所有者チェックが全経路にあるか、抜けている経路がどこか
SAST(静的解析)
自動化できること: データフロー解析で注入系の候補を列挙
人の判断が要ること: 誤検知の除外と、実際に到達できるかの確認
DAST(動的診断)
自動化できること: 稼働中のアプリへの既知パターンのスキャン
人の判断が要ること: どこまで実行してよいかの判断と、ログイン後の画面の確認
設定レビュー
自動化できること: 設定値の抽出と既知の推奨値との照合
人の判断が要ること: 例外設定の妥当性と、権限を最小にできるか
手動検証
自動化できること: ほぼできない
人の判断が要ること: 別ユーザー・別テナントでの越境確認、業務ロジックの悪用
再検証
自動化できること: 回帰テスト・CI ゲートで修正を固定
人の判断が要ること: 修正が根本原因を塞いだかの確認

タイミング

監査が必要になるとき

  • β版を公開する前

    招待制でも、外の人がログインできた時点で認可の穴は実害になります。

  • 実際の顧客データを入れる前

    テストデータのうちに直せば、漏れたものを追う作業が要りません。

  • ファイルアップロードを入れる前

    保存先の権限と公開範囲は、後から変えるとURLや既存ファイルの移行が要ります。

  • 決済を入れる前

    Webhook の検証と二重処理の防止は、最初の入金より前に決めておくものです。

  • 企業顧客と契約する前

    セキュリティ問診票(チェックシート)に、根拠を示して答えられる状態にします。

  • 大きな機能を足した後

    権限の種類やテナントの構造が変わると、前回の監査の前提が崩れます。

専門分野

技術ごとの監査

使っている技術が決まっているなら、その技術に特化したページの方が見る範囲が具体的です。

  • Next.js / Supabase

    RLS(行レベルセキュリティ)・service_role キーの経路・テナント分離を、設計と実装で塞ぎます。1,000 リポジトリの実地調査を土台にした専門監査です。

    • RLS が有効かどうかではなく、条件が正しいか
    • service_role キーと SECURITY DEFINER 関数の経路
    • マルチテナントの越境(別の会社のデータが見えないか)
    • Storage のポリシーとファイルの公開範囲

    Next.js / Supabase の監査を見る

やらないこと・限界

  • 「完全に安全」の保証はしません。決めた範囲の、既知の重大リスクを対象にします。
  • 本番環境への破壊的な試験(負荷試験・データ書き換え)は、書面の合意なしに行いません。
  • ISO 27001 や SOC 2 の認証そのものではありません。問診票や監査に出せる技術的な根拠をつくる仕事です。

担当者

誰が見るのか

監査を承るのは 友田 陽大(フリーランスのフルスタックエンジニア)です。肩書きではなく、公開している調査・ツール・実績で判断してください。

経歴を見る

  • Supabase RLS の実地調査(公開リポジトリ1,000件)

    公開リポジトリを静的解析し、RLS を設定済みの994件のうち9.2%(91件)に「ログインは確かめるが、行を持ち主で絞らない」ポリシーがあることを、該当する235件をすべて手で確かめたうえで公開しました。

    調査を読む

  • OSS のセキュリティツールキット Aegis

    Next.js / Supabase 向けのスキャナと防御の部品を MIT ライセンスで公開しています。監査で使う自動検出の一部は、誰でも手元で試せます。

    Aegis を見る

  • 経済産業大臣賞の B2B SaaS(木材流通)

    単独開発

    全221APIの認証欠落0件を、4ラウンドの自主セキュリティ監査(静的監査→ライブ診断→ペネトレーション)で実証し、テナントをまたぐ個人情報の漏洩などの重大な指摘をすべて修正しました。

    事例を読む

  • 放送事業者の社内AI基盤

    チーム開発

    個人情報の暗号化保存・監査ログ・WAF・鍵を置かない CI/CD を、後付けではなく初期設計から組み込みました。

    事例を読む

料金

料金の目安

表示額は税別の「から」の目安です。対象の規模・技術・範囲で変わるので、無料相談のあとに見積もります。

  • スポット診断

    リリース前に「今の脆弱性の全体像」を正確に把握したい

    期間: 約1週間

    ¥98,000〜税別

  • 標準監査

    B2B・マルチテナント SaaS を安全に出荷/運用したい

    期間: 約2〜3週間

    ¥280,000〜税別

  • 伴走・修正実装

    検出だけでなく「実際に直って、再発しない状態」まで到達したい

    期間: 規模に応じて(数週間〜)

    ¥680,000〜規模により要見積もり

Next.js / Supabase の場合の各プランの納品物は専門ページに載せています。他の技術でも、見る項目を置き換えて同じ段階で承ります。AI で作ったアプリで、まず致命的な穴の有無だけを知りたい場合は、より小さな公開前ライト診断があります。

AIで作ったアプリの公開前ライト診断を見る

よくある質問

  • 脆弱性診断とセキュリティ監査は何が違いますか?

    脆弱性診断は、稼働中のアプリやコードから既知の弱点を見つける作業です。セキュリティ監査は、それに加えて設計(誰がどのデータに触れてよいか)と設定を確かめ、修正の方針まで出します。このページではこの2つを合わせて、範囲を決めてお受けしています。

  • ペネトレーションテスト(侵入テスト)もできますか?

    はい。合意した範囲と期間で、稼働中のアプリに実際の攻撃手順を再現する動的な診断(自動スキャンと手動の検証)を行います。原則はステージング環境で行い、本番で行う場合は対象・日時・中止の条件を事前に書面で決め、データを書き換えない方法に限ります。

  • 費用はいくらですか?

    税別¥29,800〜の公開前ライト診断から、設計まで踏み込む標準監査(¥280,000〜)、修正の実装まで行う伴走・修正実装(¥680,000〜)まであります。対象の規模と範囲で変わるので、無料相談のあとに見積もりを出します。

  • Next.js や Supabase 以外で作ったアプリも頼めますか?

    はい。Rails・Laravel・Django・Go などの Web アプリと、AWS / GCP / Vercel の設定も対象です。Next.js / Supabase の場合は、RLS などに特化した専門ページの監査が向いています。

  • ステージング環境が無く、本番しかありません。それでも頼めますか?

    はい。ソースコードを読む方法なら本番に通信を送りません。設定の確認は閲覧専用の権限で行い、何も変更しません。本番に通信を送って確かめる場合は、対象・日時・使うテスト用アカウントを事前に書面で決め、実際の顧客データを書き換えない方法に限ります。

  • 監査を受ければ安全になりますか?

    「完全に安全」にはなりません。監査は、決めた範囲の既知の重大リスクを洗い出し、優先順位と修正方針をつけて報告するものです。修正の実装と、再発を防ぐテストや CI の仕組みは伴走・修正実装のプランで承ります。範囲外のことと残るリスクは、報告書に明記します。

  • 見つかった問題の修正までお願いできますか?

    はい。伴走・修正実装のプランで、修正の実装・回帰を防ぐテスト・再検証まで行います。報告書だけ受け取って、社内で直していただく形でも構いません。

  • 何を用意すればよいですか?

    リポジトリの閲覧権限と、構成が分かる資料(あれば)です。本番の秘密情報(パスワードや API キー)をそのまま渡していただく必要はありません。必要な場合は、監査用に権限を絞ったアカウントや一時的なキーを発行していただきます。秘密保持契約(NDA)は、相談の前から結べます。

まず30分、範囲を決めましょう

何を、どこまで、いつまでに見るべきかを無料の相談で整理します。見積もりはそのあとです。

秘密保持契約(NDA)は、相談の前から結べます。