本文へ移動
Develop Tools
← 使い方ガイドへ戻る

VB.NETコードをChatGPT・AIへ安全に貼る方法|社内情報をマスキングして共有

VB.NETコードには識別子だけでなく、接続先、画面項目、業務用定数、例外Messageが混ざります。再現に必要な構造と外へ出せない情報を分けます。

VB.NETコードを最小化してブラウザ内でマスキングしAIへ共有する流れ
VB.NETコードを最小化してブラウザ内でマスキングしAIへ共有する流れ

VB.NETコードをブラウザ内でマスキングする

クラス・型、関数・メソッド、識別子、値、コメントを選び、VB.NET構造を確認できる共有用コピーを作成します。入力コードはDevelop Toolsのサーバーへ送信・保存されません。

VB.NETコードマスキングツールを開く

結論

元Projectではなく共有用コピーを作り、Class・Method・Variable・String・Number・Commentをマスキングします。Target Framework、例外型、再現手順は残し、結果を目視確認します。

元Projectを直接編集せず、共有用コピーで作業してください。

残すContextと隠す情報を先に分ける

Public Class CustomerForm
    Private Async Function LoadCustomerAsync(id As String) As Task
        Dim endpoint = "https://api.example.test/customers/" & id
        Await client.GetAsync(endpoint)
    End Function
End Class

Form名、Control名、URL、ID、Logには組織や顧客を推測できる情報が残る場合があります。

VB.NETコードマスキングツールで確認する手順

  • 1. 再現に必要なClassとMethodだけを別コピーへ切り出します。
  • 2. マスキング対象を選んで実行します。
  • 3. VB.NET構文と同名参照を比較します。
  • 4. 右クリックで戻す情報を最小限にします。

見落としを防ぐ確認表

分類確認対象
Context.NET、UI Framework、例外
IdentifierNamespace、Class、Method、Control
ValueURL、Path、Credential、業務値
Share結果だけ、最小再現、再現手順

VB.NET固有の構文と再現条件を残せているか確認する

  • Option Explicit・Strict・Infer・Compareと、Project側のCompiler設定を記録する
  • Class・Module・Namespace、Sub・Function・Property、宣言と参照の対応を確認する
  • Nothing・Nullable(Of T)・DBNull、値型・参照型を混同しない
  • ByVal・ByRef・Optional・ParamArray、Generic、Lambdaの境界を変えない
  • Async・Await・Task・Async Sub、Cancellation、UI Thread条件を残す
  • LINQ Query、Handles・WithEvents・AddHandler・RemoveHandler、Try・Catch・Finallyを残す
  • XML Literal、#If・#Const、補間文字列はマスキング前後を特に目視確認する

現行ツールはString内部のSQL・接続文字列・URL・JSONを分解しません。必要ならSQL・JSON・URL・Log用ツールでも別コピーを確認してください。

AI・Issue・ベンダーへ共有する前の最終チェック

  • Password、API Key、Token、Connection String、Cookie、Authorizationを検索する
  • 顧客名、Email、社員番号、Control名、Form名、業務用Enum・定数を確認する
  • UNC Path、Windows User名、Server・Database名、URL、IP Addressを確認する
  • SQL、Log、Exception Message、AppSettings、Environment Variableも点検する
  • .NET・Visual Studio・Target Framework・Application種類・例外型・再現手順は残す
  • 共有するのはマスキング結果だけにし、元Codeと対応情報は権限管理された場所へ残す

実CredentialがCodeやGit履歴へ入っていた場合、文字列のマスキングだけでは対処になりません。失効・再発行とSecret管理の見直しを行ってください。

現在のVB.NETコードマスキングツールでできること・できないこと

確認項目現在の対応注意点
入力VB.NETテキストの貼り付け.vb・.vbproj・Solutionの直接読込、Project一括処理、Downloadは行わない
分類クラス・型、関数・メソッド、識別子、値、コメントRoslyn、Visual Studio、VB Compilerと同等の構文・型・参照解析ではない
宣言Class、Structure、Interface、Enum、Namespace、Module、Delegate、Sub、Function、Property、Operator、変数・引数を文脈から推定Overload解決、Extension Method、Partial型の結合、Event Wiring、Designerとの対応は意味解析しない
String・Char・Date・Numberを種類に応じて置換Connection String、SQL、XML、JSON、URL、File Pathの文字列内部を項目別には解析しない
VB固有構文Option、Nothing、ByVal・ByRef、LINQ、Async・Await、Handles等の予約語を保持Nullable、Control Flow、Thread、UI Context、型変換の正しさは判定しない
複合構文Directive・XML Documentation Comment・補間文字列をトークンとして扱う補間文字列は値全体が置換される。XML Literal・#If・#ConstをCompiler相当には検証しない
出力結果コピー、全消去、結果側の右クリックによる個別解除Mapping View、Mapping Download、履歴保存、復元用Fileは提供しない
保存Font・Theme等の表示設定だけをLocalStorageへ保存入力VB.NET、結果、対応表はLocalStorageへ保存しない
プライバシー入力と変換をブラウザ内で処理VB.NETコードと結果をDevelop Toolsのサーバーへ送信・保存しない

マスキング結果は共有用コピーです。Visual StudioのBuild、Compiler診断、Unit Test、Security Reviewを代替しません。

Microsoft公式資料と対象Projectで仕様を確認する

VB.NETはTarget Framework、Project設定、UI Framework、Library Versionで挙動が変わります。記事の例だけで断定せず、Microsoft Learnと対象ProjectのBuild結果で確認してください。

具体例:社内WinFormsコードをAIへ相談

元Projectではなく共有用コピーを作り、Class・Method・Variable・String・Number・Commentをマスキングします。Target Framework、例外型、再現手順は残し、結果を目視確認します。

実Credential、実顧客情報、内部Pathではなくexample.testやDummy Objectを使い、問題を再現する最小範囲で確認します。

  1. 最小再現コードを別コピーへ切り出す
  2. 識別子・値・コメントをマスキングする
  3. VB.NET構文と型Contextを比較する
  4. マスキング結果だけを共有する

結果側の匿名箇所は右クリックで個別解除できます。戻した元情報が本当に共有に必要か、送信前に再確認してください。

よくある質問

.vb・.vbproj・Solutionを直接読み込めますか?
直接読込には対応していません。必要なVB.NETテキストを入力欄へ貼り付けます。現行ツールはRoslyn、MSBuild、Visual Studio、VB Compilerと同等の解析ではありません。
Nothing、型変換、Async、LINQ、XML Literalの正しさも判定できますか?
判定しません。予約語や記号を保持しながらマスキングしますが、型、Control Flow、Thread、Query Provider、XML、Conditional Compilationの意味解析は行いません。BuildとTestで確認します。
入力したVB.NETコードはサーバーへ送信されますか?
入力とマスキング結果はブラウザ内で処理され、Develop Toolsのサーバーへ送信・保存されません。LocalStorageへ保存されるのは表示設定だけで、Mapping Viewや履歴保存もありません。