The PT Application Inspector plugin finds vulnerabilities and undocumented features in application source code. In addition to code analysis, built-in modules detect errors in configuration files and vulnerabilities in third-party components and libraries used in application development. The plugin supports the following languages: C#, Go, Java, JavaScript, Kotlin, PHP, Python, Ruby, Scala, SQL, Solidity, TypeScript, C/C++, Objective-C, and Swift.
Note. The scanning of projects in C/C++ and Objective-C is not supported in macOS.
You can enable or disable the plugin in an open project by clicking the icon in the bottom right toolbar. If it is not the first time you are opening the project, the plugin is enabled automatically (scan and action history is saved). You can also set up the plugin to be automatically enabled when a new project is opened.
When the plugin is enabled, the .ai folder is created in the project. This folder contains a database, log files, and a configuration file. For Git to ignore the .ai folder, create an empty file .gitignore in the project folder.
For the plugin to operate correctly, the PT Application Inspector code analyzer is required. You can install it automatically by clicking Download Analyzer in the pop-up notification in the IntelliJ IDEA interface or manually by downloading it from the link in the instructions below.
To manually install the code analyzer:
Download the archive with the analyzer using one of the links:
In macOS, run the following command to remove the com.apple.quarantine attribute:
xattr -d com.apple.quarantine <analyzer_file_path.pkg>Then run the installation file and follow the instructions.
In Windows and Linux, unpack the archive to one of the following locations:
In Windows: %LOCALAPPDATA%\Application Inspector Analyzer
In Linux: ~/application-inspector-analyzer

To stop a project scan, click Stop scan in the PT Application Inspector panel or close the progress bar in the bottom toolbar.

Some vulnerabilities have additional exploitation conditions displayed in the Additional Conditions tab.
When you scroll through the sections of the diagram, the vulnerability information is automatically pinned until you move on to another vulnerability. If you want to view the information about a certain vulnerability while working on the code, you can pin this vulnerability manually.
Several vulnerabilities can have the same exit point. If these vulnerabilities belong to the same type, they are grouped together and displayed as one problem with different exploitation options. You can view detailed information about such vulnerabilities in the [PT AI] Vulnerability Details panel.
Note. If you confirm one vulnerability from the group, the whole problem will be confirmed automatically. To discard an entire problem, you must discard all the vulnerabilities in the group.
The PT Application Inspector plugin contains a set of tools for managing detected vulnerabilities. With these tools, you can do the following:

The assistant shows AI-driven recommendations on how to fix detected vulnerabilities.

You can compare results of two scans within a project. To do this, in the Scan History tab, in the context menu of the first scan, select Compare with, and then select the second scan.

Sign in to PT AI Enterprise Edition using the SSO system you set up.
Perform the required integration scenario:


When you switch branches in Git, the plugin automatically switches to a corresponding local branch. If the new local branch is not yet mapped to a PT AI Enterprise Server branch, a notification with the Select Branch button is displayed. Before uploading code, syncing artifacts, or running a remote scan, you must select the required branch in PT AI Enterprise Server.
When the names of a local and remote branch differ, the plugin displays a warning before uploading source code or scan artifacts. You can continue the operation if the mapping was intentional, or you can cancel the action and select a different server branch.
If the Git repository is not initialized, the option to select a remote branch is still available. If the mapped branch was deleted in PT AI Enterprise Server, select a different branch when you receive the corresponding notification.
To configure the plugin system configuration, select Tools → Options → Service → PT Application Inspector.
The plugin configuration page contains the following sections of settings.
General settings section:
Server settings section:
Assistant section:
ai.languageModels.user roleFor the correct operation of the PT Application Inspector plugin, the following technical requirements must be met:
Supported 64-bit OS:
Supported macOS:
If you have any questions about the plugin, follow the links in the Help & Feedback section on the plugin configuration page to get the necessary information, join our community, or report an issue.
By default, the PT Application Inspector plugin collects anonymous telemetry. This allows our specialists to improve the stability and performance of the product. They can optimize resource consumption and speed up scanning, find and fix errors across different IDE versions more quickly, and understand which features are used most often to improve the user experience.
Only technical metrics (interaction events, environment settings, and the main scanning settings) for the plugin and IDE are sent. Source code, credentials, tokens, and project contents are completely excluded. All data is transmitted over a secure HTTPS channel, processed anonymously, and not shared with third parties. It does not contain any confidential information.
If you do not want to participate in telemetry collection, disable the Allow telemetry collection setting. Changes take effect immediately, without restarting the IDE.