メインコンテンツまでスキップ

アプリケーションセキュリティ (Application Security)

ステータス

担当者: Tech lead · ステータス: draft · 正式な情報源: flezi.app.api.backend/app/middleware/

このドキュメントでは、Flezi Galaxy のコードベース全体で OWASP Top 10 に基づき、一般的な Web アプリケーションの脆弱性を防止する対策をまとめます。

主な防御メカニズム​

OWASP の脆弱性Flezi Galaxy における制御メカニズム
Injection (SQLi, Command)parameterized queries を使用する SQLAlchemy / SQLModel ORM を採用し、shell の実行は分離された sandbox container 内だけで行います。
Broken Authentication有効期間の短い JWT、パスワードの bcrypt hashing、厳格な CSRF および CORS 保護を使用します。
Sensitive Data Exposureat-rest および in-transit の暗号化を行い、log と session recording では password を自動的に mask します。
Cross-Site Scripting (XSS)React が JSX 内の HTML を自動的に escape し、CSP (Content Security Policy) と sanitized DOM parser を設定します。
Broken Access Controlすべての endpoint で require_permission による集中権限チェックと SRS v1.1 §2.3 の権限マトリクスを適用します。
Rate Limiting & DoS機密性の高い endpoint で、IP および user 単位の request 頻度を制限する middleware (RateLimitMiddleware) を使用します。

セキュアなソフトウェア開発ライフサイクル (Secure SDLC)​

  1. 必須の Code Review: すべてのソースコード変更は、PR で少なくとも 1 人のエンジニアがレビューします。
  2. 自動テスト: CI の自動テストにより、merge 前にセキュリティ制約と権限マトリクスが壊れていないことを確認します。
  3. 依存関係スキャン (Dependency Scanning): 公開済み CVE のあるライブラリを定期的に検査し、更新します。

現在の対策​

  • app/middleware/security.py、app/middleware/cors.py、app/middleware/rate_limit.py。
  • HTTP security headers を設定します: X-Content-Type-Options: nosniff、X-Frame-Options: SAMEORIGIN、Referrer-Policy: strict-origin-when-cross-origin。

証跡 (file / config)​

  • flezi.app.api.backend/app/middleware/
  • flezi.docs/nginx.conf

制限事項とロードマップ​

  • 静的コード解析 (SAST) と container (Container Image Vulnerability Scanning) のスキャンを Jenkins pipeline に統合し、Critical レベルの脆弱性を検出した場合は build を自動的に停止します。