บันทึกการดีพลอย CyberStrikeAI: ดีพลอยเครื่องมือง่าย ๆ ก็ต้องใส่ใจรายละเอียด
ช่วงนี้กำลังเล่นกับ CyberStrikeAI แพลตฟอร์มทดสอบความปลอดภัยแบบ AI-native ที่เขียนด้วย Go คิดว่า “ดีพลอยในคลิกเดียว” น่ะน่า clone ลงมาแล้วรันสคริปต์ก็จบ แต่กลับเจอกับดักไม่ใหญ่ไม่เล็กหลายอัน ขอจดกระบวนการทั้งหมดไว้ก่อนความจำยังสด—กับดักพวกนี้จริง ๆ หลายอันไม่ใช่ปัญหาของเครื่องมือ แต่เป็นเพราะพลาดรายละเอียดเล็ก ๆ

มาดูก่อนว่านี่คือเครื่องมืออะไร
CyberStrikeAI วางตัวเป็น “ระบบปฏิบัติการด้านไซเบอร์ความปลอดภัยแบบ AI-native” เขียนด้วย Go รวมเรื่องการวางแผน การปฏิบัติ การกำกับโดยคน การเก็บหลักฐาน และการรีเพลย์ไว้ในเวิร์กเบนช์ที่ตรวจสอบได้ องค์ประกอบหลักรวม Agent ที่ขับเคลื่อนด้วย Eino เครื่องมือ MCP-native คลังความรู้ RAG เวิร์กโฟลว์แบบภาพ และการวิเคราะห์แบบจำลองห่วงโซ่การโจมตี
มีสูตรเครื่องมือในตัวกว่า 100 รายการ ครอบคลุม Kill Chain ครบวงจร: การสแกนเครือข่ายอย่าง nmap, masscan, rustscan; การสแกนเว็บอย่าง sqlmap, nikto, gobuster, ffuf; การสแกนช่องโหว่อย่าง nuclei, wpscan, dalfox; และยังมีการระบุซับโดเมน ความปลอดภัย API ความปลอดภัยคอนเทนเนอร์ ความปลอดภัยคลาวด์ การวิเคราะห์ไบนารี การโจมตี (Exploitation) การแคร็กรหัสผ่าน การพยานหลักฐาน (Forensics) และ Post-Exploitation ฯลฯ เครื่องมือที่จำเป็นสำหรับการเทสแบบมีอนุญาตแทบทั้งหมด มันจัดชุดให้พร้อมหมดแล้ว
ยังมีปลั๊กอิน Burp Suite และส่วนขยายเบราว์เซอร์ โยนทราฟฟิกที่ดักได้เข้าแพลตฟอร์มเพื่อวิเคราะห์ด้วย AI ช่วยได้ทันที ดีไซน์นี้ฉลาดดี—ไม่ต้องแก้เวิร์กโฟลว์เดิมของคุณ
การเตรียมสภาพแวดล้อมก่อนดีพลอย
ทางการกำหนดเงื่อนไขเบื้องต้นสองข้อ ระวังเวอร์ชันต่ำกว่าเส้น:
- Go 1.25+ (เวอร์ชันที่ระบุชัดเจนใน go.mod ต่ำกว่านี้คอมไพล์จะเออเรอร์ทันที)
- Python 3.10+ (เครื่องมือบางตัวต้องใช้ เช่น api-fuzzer, http-framework-test)
กับดักข้อแรก: เวอร์ชัน Go ครั้งแรกผมใช้ Go เวอร์ชันเก่าที่มากับระบบ รันไปถึงขั้นคอมไพล์ถึงจะเออเรอร์ แนะนำให้เช็ก go version ให้ดีก่อน ถ้าไม่พอก็ไปติดตั้งเวอร์ชันใหม่จากเว็บทางการ “เงื่อนไขเบื้องต้น” แบบนี้ถูกมองข้ามง่ายที่สุด เพราะเออเรอร์เกิดตอนท้ายมาก
ดีพลอยในคลิกเดียว: สคริปต์ช่วยทำอะไรให้บ้าง
คำสั่งดีพลอยในคลิกเดียวของทางการกระชับมาก:
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI
chmod +x run.sh && ./run.sh
แต่ run.sh ทำงานจริงเยอะกว่าที่คิด มันรันตามลำดับดังนี้:
- ✅ ตรวจสอบและยืนยันสภาพแวดล้อม Go และ Python
- ✅ สร้าง Virtual Environment ของ Python
- ✅ ติดตั้ง dependency ของ Python
- ✅ ดาวน์โหลด dependency ของ Go
- ✅ บิลด์โปรเจกต์
- ✅ เริ่มบริการ
รายละเอียดข้อแรก: venv ถูกสคริปต์จัดการให้อัตโนมัติ โฟลเดอร์ venv/ ถูกสร้างและดูแลโดย run.sh อัตโนมัติ เครื่องมือที่ต้องใช้ Python (api-fuzzer, http-framework-test ฯลฯ) จะใช้สภาพแวดล้อมนี้เอง อย่าสร้างขึ้นเองด้วยมือ เดี๋ยวชนกัน
ตรวจยืนยันการเริ่มทำงาน: จุดที่ต้องยืนยันหลายข้อ
สคริปต์รันจบแล้ว อย่ารีบเปิดเบราว์เซอร์ ดูเทอร์มินัลก่อน:
- ยืนยันว่าเทอร์มินัลแสดง ● ONLINE โดยมีที่อยู่ Web UI จริงตามหลัง
- เปิดที่อยู่นั้น: โหมด HTTPS เริ่มต้นใช้ใบรับรอง self-signed ในเครื่อง เบราว์เซอร์จะเตือน ยอมรับครั้งเดียวก็พอ
- การติดตั้งใหม่จะมีรหัสผ่านผู้ดูแลระบบแบบใช้ครั้งเดียว: เทอร์มินัลแสดงไว้ใต้ ADMIN SETUP REQUIRED ล็อกอินแล้วเปลี่ยนทันที
รายละเอียดข้อที่สอง: HTTPS หรือ HTTP run.sh รันด้วยพารามิเตอร์ –https โดยค่าเริ่มต้น (TLS self-signed ในเครื่อง ทางการบอกว่าเป็นมิตรกับสตรีมควบคู่มากกว่า) ถ้าอยากได้ HTTP ล้วน ต้องระบุอย่างชัดเจนด้วย ./run.sh --http ถ้าเริ่มด้วยมือ ให้ใส่ –https หรือตั้งตัวแปรสภาพแวดล้อม CYBERSTRIKE_HTTPS=1
สภาพแวดล้อมจริงอย่าใช้ใบรับรอง self-signed ไปตั้งค่า server.tls_cert_path และ server.tls_key_path ใน config.yaml
กับดักข้อที่สอง: เออเรอร์จากโปรโตคอลไม่ตรงกัน ถ้าเห็นในล็อกว่า “client sent an HTTP request to an HTTPS server” แปลว่ามีไคลเอนต์ยังเข้าพอร์ต TLS ผ่าน http:// อยู่ แก้ URL ก็พอ อย่าไปยุ่งกับคอนฟิกฝั่งเซิร์ฟเวอร์

การตั้งค่าครั้งแรก: ช่องทาง AI เป็นสิ่งที่ต้องมี
ขั้นตอนนี้ไม่ตั้ง เท่ากับติดตั้งแพลตฟอร์มมาเปล่า ๆ หลังเริ่มครั้งแรกให้เข้า https://127.0.0.1:8080/ (พอร์ตให้อ้างอิง server.port ใน config.yaml) แล้วเข้า System Settings → Basic Settings → AI Channel Configuration เพิ่มช่องทาง กรอก provider, Base URL, API key, model และเพดาน token
จะแก้ config.yaml ตรง ๆ ก็ได้ รูปแบบประมาณนี้:
ai:
default_channel: openai-main
channels:
openai-main:
provider: openai_compatible
api_key: “${OPENAI_API_KEY}”
base_url: “https://api.openai.com/v1”
model: “gpt-4o”
รายละเอียดข้อที่สาม: ขอบเขตการใช้งานของช่องทางเริ่มต้น ai.default_channel ใช้กับเซสชันใหม่และงานที่ไม่ได้เลือกช่องทางชัดเจน ในหน้าแชทยังเลือกช่องทางที่บันทึกไว้ได้แยกตามเซสชัน ดังนั้นถ้ามีหลายโมเดล ไม่ต้องตั้งแค่อันเดียว
provider กรอก openai_compatible ก็ต่อบริการที่รองรับอินเทอร์เฟซแบบ OpenAI ได้เกือบทั้งหมด เปลี่ยน base_url เป็น https://api.deepseek.com/v1 และ model เป็น deepseek-chat ก็ได้ qwen3-max ก็เช่นกัน โมเดลสายจีนต่อได้ตามใจ จุดนี้เป็นมิตรมาก
⚠️ ข้อเตือนเรื่องความปลอดภัย: อย่าคอมมิตคีย์จริงลง config.yaml ทางการบอกชัดว่าห้าม commit ข้อมูลรับรองจริง ให้ใช้การฉีดค่าผ่านตัวแปรสภาพแวดล้อม
การอัปเกรดก็ต้องมีวิธี
ทางการมีสคริปต์อัปเกรดในคลิกเดียว แต่ครั้งแรกต้องให้สิทธิ์รันก่อน:
chmod +x upgrade.sh && ./upgrade.sh –yes
สิ่งที่มันทำ: สำรอง config.yaml และโฟลเดอร์ data/ → ดึงโค้ดใหม่จาก GitHub Release → อัปเดตหมายเลขเวอร์ชันใน config.yaml → รีสตาร์ตบริการโฟลเดอร์ tools/, roles/, skills/ ในเครื่องจะถูกเก็บไว้เสมอ—จุดนี้สำคัญมาก สูตรเครื่องมือที่คุณกำหนดเองจะไม่ถูกเขียนทับ
กับดักข้อที่สาม: dependency ของสคริปต์อัปเกรด มันต้องใช้ curl หรือ wget เพื่อดาวน์โหลดแพ็กเกจ Release และ rsync สำหรับซิงก์โค้ดอย่างปลอดภัย (ทางการบอกว่าแนะนำ/จำเป็น) ถ้า GitHub API ถูกจำกัดอัตรา ให้เช็ก export GITHUB_TOKEN="..." ก่อนแล้วค่อยรันใหม่
ถ้ามีปัญหาสามารถกู้คืนจาก .upgrade-backup/ หรือคัดลอก data กับ config.yaml กลับไปด้วยมือแล้วรัน run.sh อีกครั้ง
หลักการสำคัญ: ก่อนอัปเกรดต้องดู release notes ของเวอร์ชันเป้าหมายให้ขาด โดยเฉพาะเมื่อเกี่ยวกับการเปลี่ยนคอนฟิก ฐานข้อมูล หรือ API ทางการมีประโยคพูดตรง ๆ ว่า—“การสำรองข้อมูลเป็นสิ่งจำเป็น แม้แค่อัปเกรดแพตช์ ตัวเลขเวอร์ชันเองไม่ใช่การรับประกันความเข้ากันได้”
ภาพรวมโครงสร้างโฟลเดอร์
เข้าใจว่าแต่ละโฟลเดอร์ทำอะไร การดูแลภายหลังถึงจะไม่หลงทาง:
- cmd/ — ฝั่งเซิร์ฟเวอร์, จุดเข้า MCP stdio, เครื่องมือ
- internal/ — Agent, แกน MCP, ตัวประมวลผล, C2, ตัวรันที่ปลอดภัย
- web/ — SPA แบบสถิตและเทมเพลต
- tools/ — สูตรเครื่องมือ YAML (ตัวอย่างมากกว่า 100 รายการ)
- roles/ — คอนฟิกบทบาท (บทบาททดสอบความปลอดภัยสำเร็จรูปมากกว่า 12 แบบ)
- skills/ — โฟลเดอร์ Agent Skills (SKILL.md + ไฟล์เสริมที่เลือกได้)
- agents/ — Markdown หลาย Agent (orchestrator.md + Agent ลูก)
- config.yaml — คอนฟิกขณะรันไทม์
- run.sh / upgrade.sh — สคริปต์เริ่มระบบ / อัปเกรด
เรื่องความปลอดภัย เครื่องมือทดแทนคุณไม่ได้
แพลตฟอร์มนี้รวมความสามารถความเสี่ยงสูงอย่างการจัดการ WebShell และ C2 ในตัว (listener, encrypted beacon, เซสชัน, คิวงาน) ท่าทีของทางการชัดเจนมาก:ใช้ได้เฉพาะกับระบบที่คุณเป็นเจ้าของหรือได้รับอนุญาตให้ทดสอบอย่างชัดเจนเท่านั้น.
ก่อนเปิดใช้เครื่องมือความเสี่ยงสูงในสภาพแวดล้อมที่ใช้ร่วมกันหรือ Production ต้องอ่าน Security Model และคู่มือ Hardening ก่อนเสมอ มันยังมีการดักจับการเรียกเครื่องมือในตัว—ตรวจ regex ที่ตั้งค่าได้ก่อน MCP ประมวลผล และเปิดการป้องกันโดเมนภาครัฐไว้โดยค่าเริ่มต้น
อีกอย่าง ค่าเริ่มต้นฟังเฉพาะ 127.0.0.1 ถ้าจะเปิดเผยบริการสู่ภายนอก ต้องทำ Hardening ให้เรียบร้อยก่อน นี่ไม่ใช่คำพูดสุภาพ แต่เป็นคำเตือนที่คนเคยล้มเลือดถึงเขียนลงเอกสาร

บทส่งท้าย
มองย้อนกลับ การดีพลอยครั้งนี้เองไม่มีปัญหาใหญ่อะไร สคริปต์ทำงานไปแล้ว 90% สิ่งที่ทำให้ผมต้องหยุดไปเปิดเอกสารจริง ๆ ล้วนเป็นรายละเอียดแบบ “ไม่ได้สังเกต”: เส้นเวอร์ชัน Go, venv ห้ามสร้างเอง, HTTPS เปิดเริ่มต้นทำให้โปรโตคอลไม่ตรง, การอัปเกรดต้องสำรองข้อมูล, คีย์ห้ามเขียนลงคอนฟิก
รายละเอียดพวกนี้ดูแยกทีละอันไม่ยากเลย แต่พลาดสักอันอาจทำให้ติดอยู่ครึ่งชั่วโมง เครื่องมือยิ่งเป็นระบบมาก ผลตอบแทนของการ “อ่านเอกสาร” ยิ่งสูง—มันห่อความซับซ้อนไว้ในสคริปต์ ความซับซ้อนที่เหลือก็อยู่ในรายละเอียดการตั้งค่าทั้งหมด
โปรเจกต์นี้เข้าร่วม knownsec 404Starlink แล้ว โอเพนซอร์สภายใต้สัญญาอนุญาต Apache 2.0 สายทำเทสความปลอดภัยแบบมีอนุญาตลองใช้ได้
ดีพลอยในคลิกเดียวไม่เท่ากับเข้าใจในคลิกเดียว รายละเอียดต่างหากที่เป็นกุญแจที่แท้จริงของการประหยัดเวลา
ที่อยู่โปรเจกต์: github.com/Ed1s0nZ/CyberStrikeAI (ย้ายไปที่ github.com/AIPentest/CyberStrikeAI แล้ว)
ความต้องการสภาพแวดล้อม: Go 1.25+ / Python 3.10+
สัญญาอนุญาต: Apache License 2.0
⚠️ ใช้สำหรับการทดสอบแบบมีอนุญาตเท่านั้น