KamoCRM

セッションパスは、呼び出し主のorgを検索します。, リクエストボディなし

FixRAGService
Shipped
2026年9月23日 1:16 UTC
Author
Kamo
Commit
6488bd4

RagSearchController は、すべての JSON ボディから orgId/memberId/memberType を読みました。 ではなく、***セッションで認証されたリクエストを含むパス X-Internal-Auth ディレクティブ VIEW KB ARTICLESのみの署名付きメンバーは、 別の org's id, または別のメンバーの ID, 体内で、検索 orgの知識ベースまたはそのメンバーのプライベートノートは、Qdrantの フィルター — セッションは誰に尋ねていたが、それらが何かを制約したことがないことを証明しました お問い合わせ /reindex/{orgId} と /status/{orgId} は同じ形状の 1 つだった レベルアップ: コー ナーがMANAGE KB SETTINGS を開催したら、orgId が信頼されたパス *some* org では、チェックせずに自分のものでした。 sessionHelper.hasRight は、セッションのセッションで真に返しました。 すべての権利フィールドがなければ、空の権利リストと再び 同じ行方不明のフィールドで3つのエンドポイントのガードをスキップ可能にしました。 現在のルール: セッションパスでは、org/member/memberType は、 セッションのみ********************でSessionHelperに追加 reindex/status は、 orgId のパスをセッションの独自に等しく要求します。 org. hasRight がクローズされ、KBService のマッチングが失敗します。 X-Internal-Auth パスは 変更されていない — AIService はセッションを一切持たず、誰が誰であるかの名前をまだ残さない 体内検索 また、 String.equals から X-Internal-Auth シークレット比較を切り替えて、 MessageDigest.isEqual なので、タイミングの違いは秘密の1バイトを漏らすことはできません お問い合わせ テスト: セッションヘルパーサイト フェイルクローズドケースのテストピン (ミラー KBService's) スイート RagSearchControllerAuthzTest は、ボディトラストのバグと、 reindex/status org チェックを行い、内部のパスを個別に証明します。 体を信頼する(AIService はこれを呼び出しる唯一の方法)。 それぞれ検証された赤 このコミットの前に、プレフィックスコードに対して.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing