Web セキュリティの検査は分断されています。優れたオープンソースツールはそれぞれが一部しかカバーしません — 脆弱性テンプレートには nuclei、ポートには nmap、TLS には sslyze、スパイダーには ZAP、コードパターンには semgrep、CVE には trivy、シークレットには gitleaks。すべて使ってカバレッジを得ようとすると、結果をドキュメントに貼り付けて手動でトリアージすることになります。共通スキーマがないため重複排除も自前。さらに、すべての検出には汎用的な修正アドバイスが付くだけで、サイトが Cloudflare の背後にあるのか、Astro の _headers ファイルなのか、nginx 設定なのかは知らないままです。
secscan は MIT ライセンスの Python CLI と、小さな FastAPI 製ダッシュボードです。nuclei、nmap、sslyze、subfinder、httpx、OWASP ZAP、semgrep、trivy、gitleaks をまとめて指揮します — これらを置き換えるのではなく、束ねます。検出結果は共通スキーマに正規化され、HTML、Markdown、JSON でレポート化されます。各スキャナーにはリスクレベルが設定されており、中リスク以上は明示的な同意なしでは実行されません。Anthropic API による任意の AI 修正提案は、プロジェクトの設定ファイルを参照して、汎用的な助言を文脈に即した修正へと変換します。PyPI に secscan-tool として公開し、Docker イメージと GitHub Actions のワークフローも同梱しています。
本番サイトを運用しているが、有料プラットフォームに頼らずに最低限のセキュリティ基盤を確保したい個人開発者と小さなチーム。