ข้ามไปยังเนื้อหา
GitHub เปิด package firewall สำหรับ npm (public preview) กั้น agent และ CI ไม่ให้ติดตั้งแพ็กเกจที่เพิ่งออกหรือแอบเพิ่ม install script — พร้อมให้ gh CLI ใช้ OAuth token แบบหมดอายุเองได้แล้ว
เครื่องมือนักพัฒนา

GitHub เปิด package firewall สำหรับ npm (public preview) กั้น agent และ CI ไม่ให้ติดตั้งแพ็กเกจที่เพิ่งออกหรือแอบเพิ่ม install script — พร้อมให้ gh CLI ใช้ OAuth token แบบหมดอายุเองได้แล้ว

อ่าน 4 นาที ที่มา: GitHub Changelog

GitHub ปล่อยของด้าน supply chain สองชิ้นติดกัน วันที่ 20 ต.ค. 2026 เปิด package firewall แบบ public preview เป็น registry ตัวกลางที่ตรวจทั้ง metadata และไฟล์แพ็กเกจก่อนจะยอมให้ติดตั้ง ใน changelog GitHub บอกตรง ๆ ว่ากลุ่มเป้าหมายคือ coding agent และ CI runner ที่ “ติดตั้ง dependency เพื่อทำงานหรือ build ให้เสร็จโดยไม่มีมนุษย์อยู่ในลูป” ส่วนวันที่ 21 ต.ค. GitHub CLI v2.103.0 ก็เพิ่มตัวเลือก OAuth token แบบหมดอายุและ refresh อัตโนมัติ

ทั้งสองอย่างประกาศวันเดียวกับเหตุ LiteLLM 1.107.0 ถูกฝังมัลแวร์ ซึ่งผู้โจมตีใช้ gh CLI OAuth token ของวิศวกร 3 คน ที่ไม่มีวันหมดอายุ GitHub ไม่ได้บอกว่าออกของสองชิ้นนี้เพราะเหตุนั้น และ firewall ตอนนี้รองรับแค่ npm ไม่ใช่ PyPI แต่ปัญหาที่สองฟีเจอร์นี้พยายามแก้ก็ตรงกับที่เพิ่งเกิดขึ้นจริง

Package firewall ทำอะไร และค่าเริ่มต้นเป็นอย่างไร

ผู้ดูแลระดับ enterprise ตั้ง policy ไว้ที่เดียว แล้วชี้ npm ของเครื่อง dev, agent และ CI ไปที่ https://package-firewall.githubapp.com/npm/enterprises/<ENTERPRISE> ผ่าน .npmrc โดยใช้ token ของบัญชีที่เป็นสมาชิก enterprise ซึ่งเอกสารบอกว่าต้องมีสิทธิ์แค่ “Read-only access to public repositories” ค่าเริ่มต้นตามเอกสาร:

Controlค่าเริ่มต้น
บล็อกแพ็กเกจที่มี malware advisory ใน GitHub Advisory Databaseเปิด
บล็อกตามระดับ vulnerability advisoryCritical เท่านั้น (ปรับได้ถึง Any)
บล็อก attestation downgrade (เวอร์ชันก่อนมี SLSA attestation แต่เวอร์ชันใหม่ไม่มี)เปิด
บล็อกเวอร์ชันที่ เพิ่ม install script ใหม่ (preinstall/postinstall)เปิด
อายุขั้นต่ำของเวอร์ชัน (cooldown)1 วัน (ตั้งได้ 1–365, หรือ 0 = ปิด)

ถ้าบล็อกผิด ข้อความ error ใน npm หรือ log ของ CI จะมี URL สำหรับขอ exception สิทธิ์แก้ policy มีเฉพาะ enterprise admin กับ security manager (มอบต่อผ่าน custom role ได้)

ข้อจำกัดตอนนี้คือ มีแค่ npm มีแค่ GitHub Enterprise Cloud (รวมแบบ data residency) ฟรีช่วงพรีวิว และพอ GA จะ คิดเงินตามการใช้งาน แบบเดียวกับ Actions ทีมที่ใช้ GitHub Free/Team หรือ Enterprise Server ยังใช้ไม่ได้

gh CLI: token ที่หลุดแล้วใช้ได้แค่ “ไม่กี่ชั่วโมง”

ใน v2.103.0 gh จะเก็บ access token อายุสั้นคู่กับ refresh token ที่หมุนทุกครั้ง แล้ว refresh เองเมื่อจำเป็น เปิดใช้ได้สองแบบ:

gh auth login --expiring                         # เฉพาะการ login ครั้งนี้
gh config set expiring_credentials enabled       # ใช้กับทุก login ต่อจากนี้
gh auth status                                   # ดูว่า token หมดอายุเมื่อไร

GitHub บอกแค่ว่า token ที่หลุดจะ “ใช้ไม่ได้ภายในไม่กี่ชั่วโมง” แต่ไม่ได้ให้ตัวเลขอายุจริง ถ้าใช้ git ผ่าน HTTPS ควรใช้ git 2.46 ขึ้นไปและรัน gh auth setup-git เพื่อให้ gh เป็น credential helper ที่ refresh ให้ git ด้วย ข้อควรระวังที่จะทำให้ script พัง คือ script หรือ extension ที่เรียก gh auth token ครั้งเดียวแล้วเก็บค่าไว้ใช้ต่อจะได้ token ที่หมดอายุ ต้องเรียกใหม่ทุกครั้งที่ใช้ ส่วน token ที่ส่งผ่าน GH_TOKEN/GITHUB_TOKEN จะไม่ถูก refresh เลย

ตอนนี้เป็นแบบ opt-in และเป็น preview ใช้ได้บน github.com และ ghe.com ส่วน GHES จะเริ่มที่ 3.23 GitHub บอกว่าจะ ตั้งเป็นค่าเริ่มต้นสำหรับ login ใหม่ ใน release ต่อ ๆ ไป

มุมมอง AI Curator

ถ้าเทียบกับไทม์ไลน์ของ LiteLLM ฟีเจอร์ทั้งสองอยู่คนละฝั่งของการโจมตี token ที่หมดอายุในไม่กี่ชั่วโมงลดคุณค่าของ token ที่หลุดไปอยู่ใน log ได้มาก เพราะ log ส่วนใหญ่ไม่ได้ถูกขุดภายในไม่กี่ชั่วโมงหลังเขียน ส่วน cooldown 1 วันเป็นกลไกที่เรียบง่ายแต่เข้ากับรูปแบบการโจมตีปีนี้ เพราะเวอร์ชันพิษส่วนใหญ่ถูกจับและถอนภายในไม่กี่ชั่วโมง LiteLLM อยู่บน PyPI ราว 2 ชั่วโมงเท่านั้น ใครที่ติดตั้งช้ากว่ากันหนึ่งวันก็รอด แต่ firewall ตัวนี้ยังไม่ครอบคลุม Python ซึ่งเป็นที่ที่เหตุเกิดจริง

อีกข้อที่น่าสังเกตคือ GitHub ออกแบบ firewall โดยมี agent เป็นผู้ใช้หลัก agent ที่รัน npm install เองจะไม่สังเกตว่าแพ็กเกจเพิ่งเพิ่ม postinstall มาเมื่อเช้า และจะไม่ลังเลก่อนติดตั้งเวอร์ชันที่ออกมาได้ 20 นาที การบล็อกที่ registry จึงเป็นทางที่ดีกว่าการหวังให้ agent ระวังตัวเอง ข้อเสียคือมันเป็นของจ่ายเงินที่ผูกกับ Enterprise Cloud ทีมเล็กในไทยที่ไม่ได้ใช้ Enterprise ทำแบบเดียวกันได้ฟรีบางส่วนอยู่แล้ว เช่น ตั้ง minimumReleaseAge ใน pnpm หรือ cooldown ใน Renovate/Dependabot และใช้ --ignore-scripts ใน CI

สำหรับ gh token สิ่งที่ทำได้วันนี้คือรัน gh config set expiring_credentials enabled บนเครื่องที่ใช้ agent อย่าง Claude Code, Codex หรือ Cursor ที่มี shell เต็มสิทธิ์ แล้วแยกบัญชีที่เป็น org owner ออกจากบัญชีทำงานประจำวัน เพราะ token ที่หมดอายุช่วยลดความเสียหายได้ แต่ถ้า token ที่หลุดเป็นของ owner ผู้โจมตีก็ยังมีเวลาไม่กี่ชั่วโมงในการปิด branch protection ได้อยู่ดี

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — GitHub Changelog

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ

Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2

· อ่าน 5 นาที
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
เครื่องมือนักพัฒนา

กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง

ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง

· อ่าน 4 นาที
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
เครื่องมือนักพัฒนา

Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้

รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog

· อ่าน 4 นาที