品質ゲート「Q STATION GATE」の OSS 版を、Apache-2.0 で公開しました。

〜 ローカルで答えられることは、OSS で隠さない 〜


2026年9月5日

株式会社NUP WHITE

当社は、コードの品質・セキュリティ検査ツール Q STATION GATE の OSS 版「qstation-gate」を公開しました。

検査対象のコードを外部へ送らず、手元で完結します。 サインインも API キーも不要で、実行回数の制限もありません。

リポジトリ: https://github.com/nup-cloud/qstation-gate

qstation-gate OSS Edition — ローカル完結の品質ゲート。ログイン不要・コード送信なし・判定公開・実行制限なし。106 検査項目 / 8 エンジン / 355 テスト / Apache-2.0

公開時点の数字

106検査項目
8検査エンジン
355テスト
12,030実装の行数
Apache-2.0ライセンス

背景:手元で答えが出る問いに、アカウントは要らない

コードを検査したいだけなのに、サインインを求められ、鍵を発行し、無料枠の残り回数を気にしながら使う。返ってきたレポートは一部が伏せられていて、なぜその判定になったのかは読めない ── 検査ツールにありがちな体験です。

ありがちな状態qstation-gate
結果が一部しか見えない伏せ字も件数の打ち切りもなし
ログインや鍵の設定が必要サインイン・アカウント・鍵のいずれも不要
判定ロジックが読めない判定コードごと公開
実行回数に制限がある制限なし
レポートに広告が入る入れない

当社は、この 5 つを**「やらないこと」として仕様に固定しました。** 1 つでも破れば、次に述べる原則が成り立たなくなるためです。

手元で答えが出る問いには、手元で完全な答えを返す。


何を検査するか(106 項目 / 8 エンジン)

各項目は CWE・OWASP Top 10・ASVS・NIST SSDF・CVSS ベクタに対応付けています。

領域項目数内容
静的解析(SAST)27インジェクション・SSRF・パストラバーサル・弱い暗号・認可の欠落ほか
Infrastructure as Code20Terraform / Kubernetes の公開設定・IAM・暗号化・ログ
仕様の適合18仕様書に認証・認可・個人データ等の定義があるか
コード品質12デバッグコード・複雑度・例外の握りつぶし・重複
コンテナ9root 実行・浮動タグ・秘密の埋め込み・HEALTHCHECK
秘密情報8資格情報の混入(git 履歴も検査
依存関係7既知の脆弱性(OSV)・ロック・固定・ライセンス・タイポスクワット
テスト5実行・カバレッジ(行 / 分岐)・ミューテーション・テストの欠落

収めたのは、手元のコードだけで結論が出る検査だけです。この線引きはテストコードが機械的に守っており、稼働環境を必要とする検査を OSS 側へ置くとビルドが落ちます。


「合格」と「未検証」を、混ぜない

このツールが主張するのは「あなたのコードが安全である」ことではありません。**「定義された検査が、その時点のコードに対して実行され、定義されたゲートが評価された」**ことです。

その区別を、文章ではなく実装で担保しています。

  • 実行できなかった検査は、理由つきで SKIPPED / ERROR として記録され、PASSED にはならない
  • --network none で実行すると、依存関係の検査は「クリーン」ではなく 「未検証」 と報告する(脆弱性データベースに到達できないため)
  • すべてのレポートに、その回に検証しなかった項目の一覧が載る
  • スコアとゲートの判定は、findings と閾値から決定論的に計算される。判定に AI は関与しない

知らないことと、無いと分かっていることは、違う答えです。

そして 判定ロジックそのものを公開しています。 「決定論的である」という主張は、判定が読めて初めて検証できるためです。


実行モデル

項目内容
認証無し。 呼び出した利用者の権限で動作。コンテナは非 root(uid 10001)
認可ロールも権限モデルも無し。読めるのはマウントしたものだけ
読み取り/src(読み取り専用でマウント可能)
書き込み出力先に指定した場所のみ
通信1 経路のみ ── 脆弱性データベース(OSV)。--network none で塞げる
送信内容検査対象のコードは送らない。 外に出るのは依存パッケージの名前とバージョンのみ
テレメトリ利用統計・クラッシュレポートを含め、送信しない

認証を持たないのは省略ではなく、境界の置き場所です。手元で走るものに認証を足しても、回避できる者は元よりファイルを直接読めます。

また、コードを変更しません。 パッチも Pull Request も作らず、ソースは読み取り専用でマウントできます。約束を、文章ではなく実行環境で強制する設計です。

レポートの取り扱いについて

レポートには検出箇所のコード片が含まれます。 個人情報や秘密情報が載り得るため、保管先と共有範囲はご利用者の管理下でご判断ください。


出力

ファイル内容
report.json / report.html全結果と「今回検証しなかった項目」の一覧
sarif.jsonSARIF 2.1.0(GitHub Code Scanning 等に取り込み可能)
sbom.cdx.jsonCycloneDX SBOM
gate.jsonゲートの判定と、どの閾値をどう満たしたか
standards-coverage.md規格カバレッジ
proposals.md優先度付きの改善提案と確認方法
manifest.json各ファイルのダイジェスト

指摘を「受容した危険」として登録する仕組みも備えています。登録しても指摘は消えず、期限が切れれば戻ります。 消して黙らせない、という考え方です。


自分自身に当てた結果(2026年9月5日 実測)

公開にあたり、qstation-gate を qstation-gate 自身で検査しています。

確認結果
自己検査90.1 点(A) / critical 0 件・high 0 件
テストカバレッジ85.9%(基準 80)/ 分岐 75.0%(基準 75)
テスト355 件(隔離環境で実行)
公開判断の監査(6 検査)すべて通過・指摘なし
実在の資格情報の混入0 件

なお、テストには検出器を試すための偽の資格情報が 13 件含まれます。危険はありませんが、隠さず受容登録簿に理由つきで記録しています。これがこの製品の作法です。


ローカルでは答えられないこと

これは機能を削った版ではありません。手元で答えられる問いには、制限なく完全に答えます。 一方で、手元では原理的に答えられない問いが 3 つあります。

答えられない理由
動いているものの状態稼働中の Web アプリ・API・クラウド設定・リポジトリ設定は、到達して確かめる以外に知る方法がない
第三者が信頼できる証跡手元の結果は自分で編集できる。監査人や取引先にとって、自己申告と独立した記録は別物
安全な能動検査所有を証明していないホストへレート制限・ファジング等を撃つのは不正アクセス。実行者以外が持つ所有証明が要る

この 3 つは、当社が運用する **SaaS 版「Q STATION GATE」**が担当します。OSS 版に制限を設けて誘導することはしません ── 回数制限も、ファイル数の上限も、伏せ字も、レポート内の広告もありません。

SaaS 版では、稼働環境に対する検査(Web・API・認証・アクセシビリティ・性能・SEO・可観測性・クラウド設定ほか 132 項目 / 11 エンジン)と、第三者が参照できる形での結果の保管を提供します。導入のご相談はお問い合わせフォームから承ります。


ライセンスと名称

コードApache-2.0
名称・ロゴ商標として留保。フォークは別名でご提供ください
第三者依存MIT / BSD / MPL-2.0 / PSF のみ。コピーレフトなし
外部依存の数5(推移的な依存を含め 16・すべてハッシュ固定)

名称を留保しているのは囲い込みのためではなく、読み手が「誰の判定を読んでいるのか」を常に判別できるようにするためです。


リポジトリ

導入手順・検査カタログ・セキュリティ方針はリポジトリに揃えています。

https://github.com/nup-cloud/qstation-gate


会社概要

項目内容
会社名株式会社NUP WHITE
所在地東京都中央区晴海3-10-1 Daiwa晴海 2F
事業内容データ基盤・AI基盤の開発/AI駆動開発による技術支援
URLhttps://nupwhite.com

本件に関するお問い合わせ

qstation-gate の導入相談、SaaS 版のお見積り、検査項目に関するご質問を承っております。資料のご送付、セキュリティチェックシートへのご記入、秘密保持契約の締結にも対応いたします。

株式会社NUP WHITE リポジトリ:https://github.com/nup-cloud/qstation-gate お問い合わせフォーム(https://nupwhite.com/contact)