Postman Diam-diam Pasang Plugin di Claude Code & Codex: Cara Cek dan Hapusnya

Oleh , Tim Engineering APIPedia · Terbit · 8 menit baca

Postman desktop 12.33.4 dilaporkan memasang plugin, hook, dan MCP ke Claude Code dan Codex tanpa izin. Ini cara audit, hapus, dan verifikasinya.

Sampul APIPedia: Plugin Postman nyelonong ke Claude Code dan Codex, dengan kartu fakta issue #14370, Postman desktop 12.33.4, dipasang 24 Oktober, agen terdampak Codex dan Claude

Postman desktop 12.33.4 dilaporkan memasang plugin, hook, CLI, dan koneksi MCP ke Claude Code dan Codex secara otomatis, tanpa persetujuan pengguna. Kasusnya ramai sejak 3 November 2026. Kalau kamu memakai Postman dan agen coding di laptop yang sama, panduan ini menunjukkan cara mengecek, menghapus, dan memverifikasinya dalam 10 menit.

Perlu dicatat sejak awal: laporan aslinya berasal dari satu Mac dan belum direproduksi di mesin bersih. Belum ada bukti data API dikirim keluar. Yang terdokumentasi adalah perubahan konfigurasi agen tanpa izin, dan itu saja sudah cukup alasan untuk audit.

Apa yang sebenarnya terjadi?

Pada 25 Oktober 2026, developer dengan nama pengguna "indicava" membuka issue #14370 di repo dukungan Postman. Codex di laptopnya berulang kali gagal autentikasi ke server MCP dan memuat skill Postman tanpa diminta. Setelah ditelusuri, log Postman mencatat instalasi pada 24 Oktober 2026 pukul 09:34 UTC dengan sumber "auto-existing-upgrade" dan hasil claude-code:installed, codex:installed.

Menurut The New Stack dan audit teknis dari Neoteric, ini yang berubah:

  • Codex (plugin 1.1.0): ~/.codex/config.toml mendapat entri [marketplaces.postman], blok [plugins."postman@postman"] dengan enabled = true, dan entri hooks.state berisi trusted_hash.
  • Claude Code (plugin 2.0.1, scope user): ~/.claude/settings.json mengaktifkan postman@claude-plugins-official, dan plugin tercatat di ~/.claude/plugins/installed_plugins.json.
  • CLI: executable Postman CLI dan folder lib muncul di ~/.local/bin, dengan timestamp yang sama dengan waktu instalasi.
  • MCP remote: agen dihubungkan ke https://mcp.postman.com/mcp, yang gagal karena belum login ("Auth required, when send initialize request").

Diagram alur: membuka Postman desktop 12.33.4 memicu auto-existing-upgrade pada 24 Oktober 2026, lalu mengubah ~/.codex/config.toml, ~/.claude/settings.json, menambah CLI di ~/.local/bin, dan menghubungkan MCP mcp.postman.com; efeknya hook SessionStart memuat skill postman:api-engineer

Kenapa hook-nya yang paling penting?

Hook SessionStart memakai matcher startup|clear|compact dan berisi instruksi agar agen "load the postman:api-engineer skill" untuk tugas API yang tidak sepele. Artinya instruksi itu disuntikkan ulang setiap sesi baru, setiap /clear, dan setiap compact.

Bagian sensitifnya ada di Codex. Codex biasanya meminta kamu meninjau hook baru ("Hooks need review"). Source installer Postman (installer/src/hosts/codex-hooks.ts) membaca hash hook lewat hooks/list, lalu menulis trusted_hash lewat config/batchWrite. Komentar di kodenya menyebut fungsi ini "Approves only Postman's current hook after installation." Jadi langkah persetujuan yang seharusnya kamu lakukan sendiri ikut terlewati.

Pola "alat pihak ketiga mengubah konfigurasi agen AI" bukan hal baru. Kami pernah membahas kasus yang jauh lebih berbahaya di artikel ekstensi Claude Code palsu di Cursor yang menanam backdoor SSH. Bedanya, Postman adalah vendor sah dan plugin-nya resmi, tetapi cara pemasangannya yang dipersoalkan.

Siapa yang perlu mengecek?

Kondisi kamuPerlu audit?Fokus
Pakai Postman desktop 12.33.x + CodexYa, prioritas~/.codex/config.toml, terutama trusted_hash
Pakai Postman desktop 12.33.x + Claude CodeYa~/.claude/settings.json, daftar plugin
Pakai Cursor, Copilot CLI, OpenCode, dan sejenisnya + PostmanSebaiknyaInstaller resmi mendukung 9 agen; jalankan status
Hanya Postman web atau Postman CLIKecil kemungkinannyaLaporan hanya menyebut aplikasi desktop
Laptop kantor yang dikelola tim ITYaLaporkan temuan ke tim keamanan sebelum menghapus

Dokumentasi resmi Postman menyebut installer @postman/postman-plugin mendukung agen berikut: antigravity, claude-code, codex, copilot, cursor, factory, kimi, opencode, dan pi.

Infografis empat langkah audit: 1 backup konfigurasi dengan cp -a ~/.codex ~/.codex.bak, 2 cari jejak Postman dengan grep, 3 hapus resmi dengan npx @postman/postman-plugin remove --dry-run, 4 verifikasi dengan npx @postman/postman-plugin status

Langkah 1: Bagaimana cara backup konfigurasi dulu?

Simpan salinan sebelum mengubah apa pun. Gunanya dua: bisa membandingkan (diff) setelah pembersihan, dan punya bukti kalau tim keamanan kantor perlu melihatnya.

# Salin seluruh folder konfigurasi agen (macOS / Linux)
STAMP=$(date +%Y%m%d-%H%M)
[ -d ~/.codex ]  && cp -a ~/.codex  ~/.codex.bak-$STAMP
[ -d ~/.claude ] && cp -a ~/.claude ~/.claude.bak-$STAMP
ls -d ~/.codex.bak-* ~/.claude.bak-* 2>/dev/null

Langkah 2: Bagaimana mencari jejak Postman?

Skrip berikut hanya membaca, tidak mengubah apa pun. Jalankan di terminal biasa.

#!/usr/bin/env bash
# audit-postman.sh : cari jejak plugin Postman di konfigurasi agen
echo "== Codex config =="
grep -n -i "postman" ~/.codex/config.toml 2>/dev/null || echo "(tidak ada)"

echo "== Claude Code settings =="
grep -n -i "postman" ~/.claude/settings.json 2>/dev/null || echo "(tidak ada)"
grep -n -i "postman" ~/.claude/plugins/installed_plugins.json 2>/dev/null || echo "(tidak ada)"

echo "== Binary di ~/.local/bin =="
ls -la ~/.local/bin 2>/dev/null | grep -i postman || echo "(tidak ada)"

echo "== Log Postman (macOS) =="
LOG="$HOME/Library/Application Support/Postman/logs/main.log"
[ -f "$LOG" ] && grep -n -E "auto-existing-upgrade|PostmanAgentPluginService|autoInstall.plugin" "$LOG" | tail -n 20 \
  || echo "(log tidak ditemukan; di Linux/Windows lokasinya berbeda)"

Kalau kamu ingin melihat isi TOML Codex secara terstruktur, termasuk apakah ada hook yang sudah berstatus dipercaya, pakai Python 3.11+ yang punya modul tomllib bawaan:

# cek_codex.py : tampilkan semua kunci config.toml yang menyebut "postman"
import tomllib, pathlib, json

path = pathlib.Path.home() / ".codex" / "config.toml"
data = tomllib.loads(path.read_text())

def cari(node, jalur=""):
    if isinstance(node, dict):
        for k, v in node.items():
            p = f"{jalur}.{k}" if jalur else k
            if "postman" in k.lower() or ("postman" in json.dumps(v, default=str).lower() and not isinstance(v, dict)):
                print(p, "=", v)
            cari(v, p)

cari(data)

Perhatikan terutama baris yang mengandung trusted_hash di bawah hooks. Itu tanda Codex akan menjalankan hook tanpa bertanya.

Langkah 3: Bagaimana cara menghapusnya?

Cara resmi: installer Postman

Postman menyediakan perintah status dan remove di paket npm @postman/postman-plugin (butuh Node.js). Mulai dengan --dry-run supaya kamu melihat apa yang akan diubah.

# Lihat agen mana yang terdeteksi dan apakah plugin terpasang
npx @postman/postman-plugin status

# Pratinjau penghapusan tanpa mengubah apa pun
npx @postman/postman-plugin remove --dry-run

# Hapus dari semua agen yang terdeteksi
npx @postman/postman-plugin remove

# Atau hanya dari agen tertentu
npx @postman/postman-plugin remove --agent codex --agent claude-code

Kode keluar (exit code) yang perlu diketahui: 0 berarti sukses atau tidak ada yang perlu dikerjakan, 2 berarti butuh konfirmasi di luar terminal (tambahkan --yes), dan 3 berarti sukses tetapi masih ada langkah manual yang ditandai next: di output.

Cara manual: kalau tidak mau menjalankan paket dari vendor yang sama

Neoteric menyarankan penghapusan manual plus diff, alih-alih menjalankan skrip yang belum kamu tinjau. Ini masuk akal untuk mesin kantor.

# Claude Code: copot plugin lewat CLI bawaannya
claude plugin uninstall postman@claude-plugins-official

# Pastikan tidak ada lagi entri postman di enabledPlugins (butuh jq)
jq '.enabledPlugins' ~/.claude/settings.json

# Codex: buka config lalu hapus blok [marketplaces.postman],
# [plugins."postman@postman"], dan entri hooks.state milik Postman
${EDITOR:-nano} ~/.codex/config.toml

# Bandingkan dengan backup tadi
diff ~/.codex.bak-*/config.toml ~/.codex/config.toml

Setelah itu, periksa file di ~/.local/bin yang tadi ditemukan. Hapus hanya kalau kamu yakin itu dari Postman dan tidak kamu pasang sendiri.

Langkah 4: Bagaimana memastikan sudah bersih?

  1. Jalankan lagi bash audit-postman.sh. Semua bagian seharusnya menampilkan "(tidak ada)", kecuali log lama.
  2. Jalankan npx @postman/postman-plugin status dan pastikan plugin tidak lagi terpasang.
  3. Buka sesi baru di Codex dan Claude Code. Minta tugas API sederhana, lalu pastikan skill postman:api-engineer tidak dimuat.
  4. Tutup lalu buka lagi Postman desktop, kemudian ulangi audit. Ini memastikan aplikasi tidak memasang ulang plugin saat dibuka.

Kronologi: 24 Oktober 2026 instalasi otomatis oleh Postman 12.33.4, 25 Oktober issue #14370 dibuka, 3 November ramai diberitakan, 3 November head of product Postman Sarabmeet Kallar berjanji membuat opt-in lebih jelas

Apa tanggapan Postman?

Pada 3 November 2026, head of product Postman, Sarabmeet Kallar, kepada RuntimeWire menyatakan Postman akan membuat opt-in plugin agen AI lebih jelas, terutama bagi pengguna lama. Postman juga sedang meninjau perilaku persetujuan hook dan session-start yang dilaporkan. Alasan yang disebut: CLI dan plugin agen dibundel agar setup lebih mudah. Belum ada jadwal atau detail implementasi.

Pelapor di GitHub meminta tiga hal: tidak memasang plugin ke pengguna lama tanpa izin, menyerahkan persetujuan hook ke Codex, dan menyediakan undo lengkap yang membersihkan pengaturan agen, hook terpercaya, koneksi MCP, serta CLI.

Pelajaran untuk tim developer

  • Anggap folder konfigurasi agen sebagai area sensitif. ~/.codex dan ~/.claude menentukan instruksi apa yang dibaca agen dan perintah apa yang boleh jalan.
  • Pantau perubahan. Simpan konfigurasi agen di repo dotfiles atau jalankan audit berkala, sehingga perubahan diam-diam terlihat lewat git diff.
  • Batasi auto-update untuk aplikasi yang menyentuh toolchain. Di mesin kantor, update yang dikelola tim IT lebih aman daripada auto-upgrade.
  • Bedakan "plugin resmi" dari "persetujuan". Plugin resmi pun tetap harus kamu pasang sendiri.

Kalau kamu sedang membangun integrasi API sendiri dan ingin kunci API serta pemakaian per endpoint terpantau di satu tempat, kamu bisa mengelolanya di console APIPedia.

FAQ

Apakah data API saya dicuri Postman?

Belum ada bukti. Laporan dan analisis yang ada mendokumentasikan perubahan konfigurasi, hook terpercaya, dan koneksi MCP, bukan pengiriman data. Klaim bahwa hook menyadap data API belum didukung bukti.

Versi Postman mana yang terdampak?

Laporan menyebut Postman desktop 12.33.4 di macOS, dengan plugin Codex 1.1.0 dan plugin Claude Code 2.0.1. Versi lain belum dikonfirmasi, jadi tetap jalankan audit kalau kamu memakai 12.33.x.

Apakah saya harus menghapus Postman?

Tidak harus. Cukup hapus plugin yang tidak kamu inginkan, lalu verifikasi bahwa plugin tidak terpasang ulang saat aplikasi dibuka. Kalau terpasang lagi, pertimbangkan menunda update sampai Postman merilis perbaikan opt-in.

Saya justru ingin memakai plugin Postman. Bagaimana caranya dengan benar?

Pasang secara sadar lewat jalur resmi, misalnya claude plugin install postman@claude-plugins-official untuk Claude Code, atau menu Plugins di Codex, lalu setujui hook sendiri saat muncul prompt "Hooks need review".

Apakah perintah di atas berlaku di Windows?

Skrip bash ditulis untuk macOS dan Linux. Di Windows, folder setara biasanya ada di %USERPROFILE%\.codex dan %USERPROFILE%\.claude; perintah npx @postman/postman-plugin status dan remove tetap bisa dipakai karena berbasis Node.js.

Sumber

Topik:

Tentang penulis

Tim APIPedia — Tim Engineering APIPedia

Tim engineering di balik APIPedia yang membangun dan memelihara API data Indonesia - ongkir, OCR KTP, data wilayah, BMKG, hingga server MCP - dan menulis panduan integrasinya dari pengalaman langsung.