Kembali ke blog

AI untuk pemulaPanduan

Menjalankan Claude Code atau Codex di Downloads? Pemeriksaan keamanan AGENTS.md

File bernama AGENTS.md atau CLAUDE.md di Downloads dapat mengarahkan Claude Code dan Codex. Apa file-file ini dan pemeriksaan 5 menit pada konfigurasi Anda.

Oleh CheapTokens TeamDiterbitkan 5 menit baca

Sampul: AGENTS.md yang ditanam di folder Downloads menjangkau konfigurasi agen AI
Di halaman ini
  1. Apa itu AGENTS.md dan CLAUDE.md, dan mengapa agen mempercayainya
  2. Apa yang dilakukan peneliti dengan file di Downloads
  3. Pengaturan mana yang perlu diperiksa, dan seperti apa yang normal
  4. Pemeriksaan 5 menit
  5. Jika ada yang tampak salah

Jawaban singkat: jangan jalankan Claude Code atau Codex di folder ~/Downloads Anda. Pada 22 Oktober 2026, perusahaan keamanan Forever Security menerbitkan riset yang menunjukkan bahwa sebuah situs web dapat diam-diam menyimpan file bernama AGENTS.md atau CLAUDE.md ke Downloads, dan agen yang dijalankan di folder tersebut kemudian memperlakukan file itu sebagai instruksi tepercaya. Berikut: apa file-file ini, apa yang berhasil diubah peneliti, dan pemeriksaan yang memakan waktu sekitar lima menit.

Bayangkan versi biasanya. Anda menyimpan selusin PDF dan tangkapan layar dari sebuah situs web, membuka terminal di Downloads, mengetik claude atau codex dan memintanya untuk "merapikan file-file ini". Tidak ada yang terasa berisiko. Dan itulah jebakannya.

Apa itu AGENTS.md dan CLAUDE.md, dan mengapa agen mempercayainya#

Agen coding tidak memulai setiap sesi dari nol. Sebelum melihat permintaan Anda, ia memeriksa folder tempat ia dijalankan untuk mencari file teks biasa berisi instruksi tetap: "gunakan tab, jalankan tes dengan npm test, jangan pernah sentuh folder migrations." AGENTS.md adalah nama umumnya, CLAUDE.md adalah ide yang sama untuk Claude Code. Di proyek Anda sendiri file-file ini berguna, karena Anda yang menulisnya.

Namun agen tidak bisa membedakan siapa yang menulis sebuah file. CLAUDE.md yang dijatuhkan situs web ke Downloads terlihat persis sama dengan yang Anda tulis minggu lalu.

Kartu kilat

Istilah yang akan Anda temui di artikel ini

Apa yang dilakukan peneliti dengan file di Downloads#

Postingan Forever Security (penulis Gal Weizman dan Omer Samet, 22 Oktober 2026) menjelaskan dua kasus. Semua tingkat keberhasilan di bawah ini adalah pengukuran peneliti sendiri.

Codex. AGENTS.md yang ditanam memerintahkan agen untuk menambahkan entri server MCP ke ~/.codex/config.toml, dan entri itu mengarah ke pemasangan paket npm bernama function-color. Menurut peneliti, payload berjalan di lebih dari 90% percobaan. Perhatikan di mana file itu berada: folder home Anda, bukan Downloads. Konfigurasinya berlaku untuk seluruh mesin, jadi setiap sesi berikutnya di folder mana pun terdampak, jauh setelah Anda melupakan folder Downloads.

Claude Code. CLAUDE.md yang ditanam mencoba menulis pengaturan ANTHROPIC_BASE_URL ke .claude/settings.json. Pengaturan itu menentukan ke mana agen mengirim lalu lintas API-nya. Arahkan ke server orang lain dan server itu melihat token OAuth Anda serta dapat mengirim balik panggilan alat untuk dijalankan agen. Penulisan berhasil sekitar setengah percobaan; jalur yang tereksekusi dalam sesi yang sama, sekitar seperlima percobaan.

Dari file yang ditanam hingga konfigurasi yang berubah
Bagaimana file instruksi yang ditanam berakhir di pengaturan agen itu sendiri (Forever Security, 22 Oktober 2026)

Postingan itu jelas menyatakan tidak ada yang "rusak" pada kedua produk: agen bekerja sesuai desain, dan risikonya berasal dari lokasi file serta seberapa besar agen mempercayainya. Forever juga menyebut menemukan AGENTS.md yang benar-benar ditanam di mesin seorang pelanggan dan menghentikan pemasangan npm berbahaya sebelum ada kode yang berjalan; npm sejak itu telah menghapus function-color. Bagian terakhir itu adalah keterangan peneliti sendiri. OpenNET meliput kisah ini pada 26 Oktober 2026 dan menyoroti risiko serupa ketika AGENTS.md datang melalui pull request atau repositori yang di-clone.

Cek cepat

Mengapa kasus Codex lebih buruk daripada satu sesi buruk di Downloads?

Tampilkan jawaban

Jawaban: Konfigurasi yang diubahnya berlaku untuk seluruh mesin, jadi setiap sesi berikutnya di folder mana pun terdampak

File yang ditanam hanya perlu berjalan sekali. Apa yang ditulisnya ke ~/.codex/config.toml tetap ada dan berlaku untuk sesi berikutnya di setiap folder.

Pengaturan mana yang perlu diperiksa, dan seperti apa yang normal#

Dua file, satu untuk setiap alat dalam riset.

Di ~/.codex/config.toml, cari entri [mcp_servers.*] yang tidak Anda ingat pernah ditambahkan, dan base URL yang tidak Anda set. Entri yang mencurigakan membuat mesin Anda mengambil dan menjalankan sesuatu dari npm:

toml
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]

Nama helper dan paket di sini adalah placeholder. Dalam kasus peneliti, paket di balik entri semacam itu adalah function-color.

Di .claude/settings.json, cari endpoint API atau proxy yang tidak Anda pasang. Jika Anda tidak pernah menyetel ANTHROPIC_BASE_URL, file itu seharusnya tidak menyebutnya sama sekali. Jika Anda menyetelnya, itu harus alamat penyedia yang Anda pilih. Untuk CheapTokens, klien bergaya Anthropic seperti Claude Code menggunakan https://api.cheaptokens.dev tanpa /v1 di akhir; klien bergaya OpenAI menggunakan https://api.cheaptokens.dev/v1.

Base URL yang Anda set versus yang tidak
Pengaturan yang sama dua kali: alamat kiri adalah yang Anda pilih, yang kanan adalah host yang tidak Anda kenali (placeholder)

Jika Anda menjalankan Claude Code dengan key Anda sendiri, panduan langkah demi langkah untuk menghubungkan Claude Code ke CheapTokens menunjukkan seluruh file, dan dokumentasi mencantumkan kedua base URL. Untuk loop agen yang panjang, DeepSeek-V4-Flash (deepseek-ai/DeepSeek-V4-Flash-0731) memiliki konteks 380K, hingga 32.768 token output per jawaban dan satu harga kapan pun; halaman model memuat sisanya.

Cline, Aider dan agen lain tidak termasuk dalam riset ini, dan masing-masing menyimpan pengaturannya di tempatnya sendiri. Kebiasaannya sama: ketahui file mana yang menyimpan endpoint dan baca sekali.

Pemeriksaan 5 menit#

Buka terminal dan lakukan ini secara berurutan. Tidak ada yang mengubah file di sini; hanya membaca.

Langkah demi langkah

Periksa mesin Anda

Temukan file instruksi yang nyasar

bash
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"

Temuan apa pun yang tidak Anda tulis: buka sebagai teks dan baca. Jika Anda tidak tahu asalnya, hapus.

Baca konfigurasi Codex

bash
grep -n "mcp_servers\|base_url" ~/.codex/config.toml

Setiap baris [mcp_servers.…] haruslah sesuatu yang Anda ingat pernah ditambahkan. "No such file" tidak masalah jika Anda tidak memakai Codex.

Baca pengaturan Claude Code

bash
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.json

Jalankan dari folder proyek Anda agar kedua file tercakup. Setiap alamat dalam output haruslah penyedia yang Anda pilih.

Periksa shell Anda

bash
env | grep -i "BASE_URL"

Ini mencantumkan base URL yang diset sebagai variabel lingkungan. Aturan yang sama: Anda harus mengenali masing-masingnya.

Cari paket dari kasus tersebut

bash
npm ls -g --depth=0 | grep function-color

Juga jalankan npm ls function-color di dalam proyek tempat Anda pernah memakai agen. Jika muncul, anggap mesin tersebut telah disusupi.

Jika ada yang tampak salah#

Tutup agennya dulu. Lalu hapus entri yang tidak Anda kenali, dan rotasi setiap kredensial yang bisa dilihat agen: kunci API, token, apa pun di lingkungan. Jika ide merotasi kunci masih baru, apa itu kunci API dan cara menyimpannya membahas dasarnya.

Kebiasaan agar tidak terulang, semuanya dari mitigasi peneliti:

  • Jalankan agen di folder proyek yang Anda buat sendiri, bukan di Downloads.
  • Baca AGENTS.md atau CLAUDE.md apa pun yang tidak Anda tulis sebelum menjalankan agen padanya, termasuk yang datang melalui clone atau pull request.
  • Biarkan prompt persetujuan dan sandboxing tetap aktif, dan waspadai instruksi apa pun yang meminta agen mematikannya.