Security Audit Report

Kodaira Connect
セキュリティ診断レポート

対象URL:https://kodaira-connect.vercel.app
診断日:2026年05月04日
業種:その他(地域活性化プラットフォーム)

POWERED BY ALNAIR INTELLIGENCE AGENCY

43 / 100
グレード D — 危険・要緊急対応

100 − 20×1(Critical)− 10×2(High)− 5×3(Medium)− 2×1(Low)= 43点

1Critical
2High
3Medium
1Low
0Info

このサイトが預かっているもの

👥
地域サポーター名簿
個人名・活動履歴・タグ情報。現在は認証なしで公開中。
📋
役所書類・生成データ
事務自動化機能で生成される行政文書・申請データ。
🎪
イベント・マルシェ情報
出店者情報・協賛企業・スケジュール等の運営データ。
🏢
協賛スポンサー情報
地域事業者・協賛金額・取引関係の機密データ。
👶
子育て支援利用者情報
Pica-Beans・Play Park の保護者・子ども情報。要配慮個人情報に該当する可能性あり。
📨
問い合わせ・相談データ
Tomarigi AIへの健康・育児相談内容。高度な機密性を持つ。
CRITICAL 管理画面が認証なしで公開されている
現状

金庫の鍵番号を、正面玄関のガラスに貼り出している状態。
/admin にアクセスするだけで個人名・活動履歴が誰でも閲覧可能。ログイン不要。

修正コード例 — middleware.ts(Next.js / NextAuth)
// middleware.ts — /admin 以下を認証必須にする
export { default } from 'next-auth/middleware';

export const config = {
  matcher: ['/admin/:path*'],
};
ビジネスインパクト:個人情報保護法違反リスク。 法人への罰金:最大1億円以下、行政指導・事業停止の可能性。 地域住民の信頼失墜は金額換算不能な損失につながる。
HIGH CSP(コンテンツセキュリティポリシー)未設定
現状

防犯カメラ・センサー・防火扉の電源が全てOFFの状態。
悪意あるスクリプト(XSS)の埋め込みを防ぐ仕組みが存在しない。

修正コード例 — next.config.js
// next.config.js
const securityHeaders = [
  { key: 'Content-Security-Policy',
    value: "default-src 'self'; script-src 'self' 'unsafe-inline'; img-src 'self' data: https:;" },
  { key: 'X-Frame-Options',        value: 'SAMEORIGIN' },
  { key: 'X-Content-Type-Options',  value: 'nosniff' },
  { key: 'Referrer-Policy',         value: 'strict-origin-when-cross-origin' },
];
module.exports = {
  async headers() {
    return [{ source: '/(.*)', headers: securityHeaders }];
  },
};
ビジネスインパクト:利用者のブラウザ上で任意コードが実行されるリスク。 フィッシング被害発生時、企業の信頼回復コスト:最低数百万円〜
HIGH X-Frame-Options 未設定(クリックジャッキング)
現状

看板を偽物に差し替えて来客を誘導できる状態。
別サイトに透明フレームとして埋め込み、意図しない操作をさせる攻撃が可能。

修正コード例 — next.config.js(上記と同じブロックに追記)
// ↑の securityHeaders 配列にすでに含まれています
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' }

// または CSP の frame-ancestors ディレクティブで制御
{ key: 'Content-Security-Policy',
  value: "frame-ancestors 'self';" }
ビジネスインパクト:フィッシング詐欺・偽サイトへの誘導に悪用される可能性。 顧客1人あたりの被害額:平均数十万円。地域住民への被害拡大リスク。

その他の指摘事項(Medium / Low)

区分 項目名 一言説明 対応フェーズ
Medium X-Content-Type-Options 未設定 ブラウザがコンテンツタイプを推測・実行するMIMEスニッフィング攻撃を防げない状態 Phase 2(1ヶ月)
Medium Referrer-Policy 未設定 リンク先に参照元URLが漏洩し、内部パス・パラメータが第三者に伝わる可能性 Phase 2(1ヶ月)
Medium CORS ワイルドカード(*) 全オリジンからのクロスオリジンリクエストを許可。不要な範囲まで開放している状態 Phase 3(3ヶ月)
Low デプロイID の HTML 属性露出 data-dpl-id 属性でVercelデプロイIDが公開。攻撃者の情報収集に利用される可能性 Phase 3(3ヶ月)

※ Medium / Low は即時対応不要。ロードマップに沿って計画的に対応。

できていること
建て直しではなく、補強で済む状態です

  • HTTPS 完全対応・HSTS 設定済み
    max-age=63072000(約2年)、includeSubDomains・preload 対応。通信の暗号化は万全。
  • SSL 証明書 有効(Google Trust Services 発行)
    期限:2026年7月27日。Vercel の自動更新で継続管理可能。
  • .git / .env ファイルの外部露出なし
    ソースコードや環境変数(APIキー等)へのアクセスはブロックされている。
  • WordPress 非使用・CMS版数漏洩なし
    Next.js ベース構成。WordPress の既知脆弱性リスクはゼロ。

4段階リスク改善ロードマップ

Phase 1 — 今すぐ
緊急対応
1週間以内
  • /admin 認証実装(NextAuth)
  • アクセスを関係者のみに制限
リスク -20pt 改善
Phase 2 — 短期
ヘッダー強化
1ヶ月以内
  • next.config.js にCSP設定
  • X-Frame-Options 設定
  • X-Content-Type-Options
  • Referrer-Policy 設定
リスク -25pt 改善
Phase 3 — 中期
品質向上
3ヶ月以内
  • CORS ポリシー見直し
  • meta タグ・OGP 整備
  • 独自ドメイン+SPF/DMARC
リスク -10pt 改善
Phase 4 — 定期
継続監視
月次ルーティン
  • 月次セキュリティ診断
  • SSL 期限アラート
  • 依存パッケージ更新
スコア A 維持

発見して、
終わりにしません

診断レポートをお渡しして「あとはご自身でどうぞ」—それがAlnairのやり方ではありません。
改修設計・実装(next.config.js 修正・認証実装)・再診断まで、AI顧問として伴走します。

まずは1時間、無料でお話しましょう。

無料相談を予約する →

Powered by Alnair Intelligence Agency

免責事項

本レポートは、外部から観測可能な範囲(HTTPレスポンスヘッダー・公開パス・DNS設定・SSL証明書情報)のみを対象とした表面診断に基づいています。


以下は本診断の対象外です:
・ソースコードの内部レビュー ・内部ネットワーク・データベースへのアクセス ・脆弱性を悪用した侵入テスト(ペネトレーションテスト)


本レポートの内容は診断日時点(2026年05月04日)の状態に基づくものであり、その後の変更を保証するものではありません。