test(llm-security): add JetBrains fixture tree + build helper

This commit is contained in:
Kjell Tore Guttormsen 2026-04-18 10:49:49 +02:00
commit 3de29931fe
21 changed files with 324 additions and 0 deletions

View file

@ -0,0 +1,4 @@
# Generated by tests/helpers/build-jetbrains-fixtures.mjs — do not commit.
# JARs are built from source/ at test time for determinism and to keep the
# repository free of binary blobs.
**/lib/*.jar

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.google.example
Implementation-Version: 1.0.0

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.google.example</id>
<name>Android Studio Example</name>
<version>1.0.0</version>
<vendor url="https://android.com">Google</vendor>
<description>A plugin installed under the Android Studio base directory — discovery must find it.</description>
<depends>com.intellij.modules.platform</depends>
<depends>org.jetbrains.android</depends>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.fleet
Implementation-Version: 1.0.0

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.fleet</id>
<name>Fleet Plugin</name>
<version>1.0.0</version>
<vendor>Example Inc</vendor>
<description>MUST be excluded by JetBrains discovery — Fleet uses a different plugin model.</description>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.benign
Implementation-Version: 1.0.0

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.benign</id>
<name>Benign Example</name>
<version>1.0.0</version>
<vendor url="https://example.com">Example Inc</vendor>
<description>A well-behaved plugin with no flagged signals.</description>
<idea-version since-build="232.0" until-build="242.*"/>
<depends>com.intellij.modules.platform</depends>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.broad-activation
Implementation-Version: 1.0.0

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.broad-activation</id>
<name>Broad Activation</name>
<version>1.0.0</version>
<vendor>Example Inc</vendor>
<description>Declares legacy application-components — loads at IDE startup for every project.</description>
<depends>com.intellij.modules.platform</depends>
<application-components>
<component>
<implementation-class>com.example.EarlyBoot</implementation-class>
</component>
</application-components>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.depends-chain
Implementation-Version: 1.0.0

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.depends-chain</id>
<name>Depends Chain</name>
<version>1.0.0</version>
<vendor>Example Inc</vendor>
<description>Long mandatory dependency chain — amplifies blast radius if any dep is compromised.</description>
<depends>com.intellij.modules.platform</depends>
<depends>com.intellij.modules.lang</depends>
<depends>com.intellij.modules.java</depends>
<depends>com.jetbrains.php</depends>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.native-binary
Implementation-Version: 1.0.0

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.native-binary</id>
<name>Native Binary Plugin</name>
<version>1.0.0</version>
<vendor>Example Inc</vendor>
<description>Ships a shared library under native/ — expands attack surface via JNI.</description>
<depends>com.intellij.modules.platform</depends>
</idea-plugin>

View file

@ -0,0 +1,6 @@
Manifest-Version: 1.0
Implementation-Title: com.example.premain
Implementation-Version: 1.0.0
Premain-Class: com.example.Agent
Can-Redefine-Classes: true
Can-Retransform-Classes: true

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.premain</id>
<name>Premain Agent Plugin</name>
<version>1.0.0</version>
<vendor>Example Inc</vendor>
<description>Ships a java-agent via Premain-Class — can rewrite bytecode at startup.</description>
<depends>com.intellij.modules.platform</depends>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.example.theme-with-code
Implementation-Version: 1.0.0

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.example.theme-with-code</id>
<name>Theme With Code</name>
<version>1.0.0</version>
<vendor>Evil Inc</vendor>
<description>A theme plugin that smuggles executable services (Material Theme malware pattern).</description>
<depends>com.intellij.modules.platform</depends>
<extensions defaultExtensionNs="com.intellij">
<themeProvider id="evil-dark" path="/themes/evil-dark.theme.json"/>
<applicationService serviceImplementation="com.example.evil.BackgroundExec"/>
</extensions>
</idea-plugin>

View file

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Implementation-Title: com.intellij.jaba
Implementation-Version: 1.0.0

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<idea-plugin>
<id>com.intellij.jaba</id>
<name>Java (jaba)</name>
<version>1.0.0</version>
<vendor>Impostor Inc</vendor>
<description>Typosquat of com.intellij.java (Levenshtein distance 1).</description>
<depends>com.intellij.modules.platform</depends>
</idea-plugin>