メインコンテンツへスキップ
友田 陽大

SOC 2 ・ ISO 27001 証跡

Supabase のスキャンを、監査人に渡せる統制証跡に変える

セキュリティ問診票は「行レベルの認可をどう強制しているか」を問い、SOC 2 監査は「その証跡」を求めます。Aegis は RLS とアプリ層の所見を、それが対応する SOC 2 Trust Services Criteria と ISO 27001 Annex A の統制へマッピングし——充足・ギャップ・未評価を判定して——監査人にそのまま渡せる Markdown / JSON で出力します。

npx @aegiskit/cli report --framework soc2

ローカルで実行・どこにも通信しません。--format json で GRC 取り込みも。

誠実なスコープ: これはアプリ層の技術統制の参考マッピングであり、認証でも監査の代替でもありません。Vanta/Drata を補完するもので、置き換えるものではありません。

なぜ必要か

あらゆるセキュリティ審査で、金が動く論点は「認可」

水平統制(ヘッダー・レート制限・CSRF)は証跡化が容易です。エンプラ商談を止めるのは、ライブラリでは直せない統制——行レベルのアクセスが本当に所有者に絞られているか。Aegis はまさにそこを機械検査した証跡を出します。

  • 問診票は約束ではなく証拠を求める

    「テナント分離と行レベルアクセス制御をどう強制しているか記述せよ」——必要なのは文章ではなく、具体的で最新の成果物です。

  • 監査人は統制に対応づいた技術証跡を望む

    所見は、CC6.1 や A.8.3 という統制ID・ソース位置・修正方針が付いていて初めて有用になります。

  • AI 製アプリはトリガーに早く到達する

    最初のエンプラ商談・調達デューデリ・SOC 2 開始は、セキュリティ作業が終わる前に来ます。証跡はコマンド一発の距離になければなりません。

統制マッピング

各所見は、どの SOC 2 / ISO 27001 統制の証跡か?

Aegis は OWASP Top 10(2021)カテゴリでマッピングするため、同じアクセス制御の検査は同じ統制に着地します。フレームワークを切り替え、統制を展開して、何を対象にどう証跡化するかを確認できます。

SOC 2 — Common Criteria(2017 TSC)Aegis の検査が触れるセキュリティ Common Criteria の着眼点。

  • CC6.1

    保護対象情報資産への論理アクセス制御

    対象

    • A01アクセス制御の不備

      Aegis の証跡化: RLS の所有者スコープ、IDOR / 認可の破れ

    • A05セキュリティ設定ミス

      Aegis の証跡化: セキュリティヘッダー / CSP、混入した秘密情報、クライアント露出 env

  • CC6.6

    システム境界の外部脅威からの保護

    対象

    • A04安全でない設計

      Aegis の証跡化: AI / 高コストルートのレート制限の欠如

    • A05セキュリティ設定ミス

      Aegis の証跡化: セキュリティヘッダー / CSP、混入した秘密情報、クライアント露出 env

    • A10サーバサイドリクエストフォージェリ(SSRF)

      Aegis の証跡化: 汚染されたサーバ側 fetch 先

  • CC6.7

    情報の転送・移動・削除の安全性

    対象

    • A02暗号の失敗

      Aegis の証跡化: 弱いハッシュ、安全でない乱数、非定数時間比較

  • CC6.8

    不正・悪意あるソフトウェアの防止/検知

    対象

    • A03インジェクション

      Aegis の証跡化: SQLi、XSS、コマンド / コードインジェクション

    • A08ソフトウェア・データ整合性の不備

      Aegis の証跡化: 検証なしの postMessage オリジン

  • CC7.1

    構成変更と新規脆弱性の検知

    対象

    • A03インジェクション

      Aegis の証跡化: SQLi、XSS、コマンド / コードインジェクション

    • A06脆弱・古いコンポーネント

      Aegis の証跡化: 超線形(ReDoS)正規表現

参考マッピング——技術ルールと統制の対応は解釈を含み、監査人の確認が必要です。Aegis が対象とするのはアプリ層統制の一部のみです。

成果物

コマンド一発で、監査人に渡せるレポート

aegis report はスキャンを実行し、統制ごとの証跡——充足・ギャップ・未評価——を、各ギャップのソース位置と修正付きで出力します。渡す用の Markdown、GRC 取り込み用の JSON。

# SOC 2 (2017 Trust Services Criteria) — application-layer control evidence

> Technical evidence for a subset of application-layer controls — not a
> certification, an attestation, or a substitute for an audit.

**Scanned files:** 128 · **Rules applied:** 33 · **No gaps detected:** 4 · **Gaps found:** 1

## Control coverage

| Control | Title | Status | Evidence |
| --- | --- | --- | --- |
| CC6.1 | Logical access controls | Gap(s) found | 1 finding |
| CC6.6 | Boundary protection | No gaps detected | — |
| CC6.7 | Secure data transmission | No gaps detected | — |
| CC6.8 | Prevent malicious software | No gaps detected | — |
| CC7.1 | Detect new vulnerabilities | No gaps detected | — |

## Gaps — findings to remediate

### CC6.1 — Logical access controls over protected information assets

- **rls/policy-not-owner-scoped** (HIGH) — supabase/migrations/0003_notes.sql:8
  - Policy on "notes" (SELECT) only checks that the caller is authenticated,
    but the table has an ownership column — every authenticated user can read
    every row, not just their own.
  - Fix: scope the policy to the caller, e.g. USING (auth.uid() = user_id).
aegis report --framework soc2 --format md の抜粋(イメージ)。

仕組み

スキャンから証跡まで 3 ステップ

DB 接続なし・サインアップなし・データは端末から出ません。

  1. 1

    スキャン

    Aegis が Next.js コードと supabase/migrations の SQL を読み、アプリ層のギャップを静的に・CI で検出します。

  2. 2

    マッピング

    各所見を、それが証跡となる SOC 2 / ISO 27001 統制へ OWASP カテゴリで対応づけ、充足かギャップかを判定します。

  3. 3

    出力

    監査人・問診票用の Markdown、または GRC プラットフォーム用の JSON を取得。ギャップを直して再実行すれば、閉じていくのが見えます。

誠実なスコープ

これは何で、何ではないか

Aegis はアプリ層の技術統制の一部について機械可読な証跡を生成します。認証を発行するものではなく、クリーンなレポートも統制が有効である証明ではありません——よくある技術的ギャップが不在であることを示すだけです。

ポリシー文書・HR・ベンダー管理・継続モニタリングは GRC プラットフォーム(Vanta/Drata)と人間の監査人の領域です。Aegis はアプリ層の証跡を信頼でき・コマンド一発の距離にすることで、それらを補完します。

次のセキュリティ審査の前に、証跡を用意する

今日、無料で実行できます。あるいはアクセス制御レビュー一式——所見から修正設計、監査人に渡せる証跡まで——を私が引き受けます。

FAQ

  • aegis report で SOC 2 に準拠できますか?

    いいえ。アプリ層統制の一部について、SOC 2 / ISO 27001 に対応づけた技術証跡を生成するだけです。認証は監査人が本格的な関与を経て発行します。本成果物はその入力であって、代替ではありません。

  • Vanta や Drata と何が違いますか?

    Vanta/Drata は GRC プログラム全体——ポリシー・モニタリング・ベンダー・証跡収集——を管理します。Aegis はそれらが検査できないアプリ層の技術統制です。RLS とコードを読み、行レベルのアクセスが実際に絞られているかを証跡化します。併用してください。

  • どの統制にマッピングされますか?

    SOC 2 Common Criteria の CC6.1・CC6.6・CC6.7・CC6.8・CC7.1、ISO 27001:2022 Annex A の A.8.3・A.8.6・A.8.8・A.8.9・A.8.23・A.8.24・A.8.28——アプリ層の一部です。OWASP Top 10(2021)カテゴリでマッピングした参考マッピングで、監査人の確認が必要です。

  • 顧客のセキュリティ問診票に、これで回答できますか?

    アクセス制御・セキュアコーディングの設問に対する、具体的で最新の成果物になります——所見・統制・ソース位置・修正。ポリシーとモニタリングと組み合わせて完全な回答にしてください。

  • DB 接続やコードの外部送信は必要ですか?

    いいえ。aegis report は静的で、リポジトリをローカルで読み、どこにも通信しません。無料のブラウザ内 RLS チェッカーも同じで、SQL はページから出ません。