Skip to content

2 · Debt ID index

ดัชนีแบบ flat ของทุก debt ID ทั้ง 275 รายการ เรียงตามลำดับตัวอักษร/เลขของ ID string เอง (ไม่ใช่ตาม category/severity แบบ Vol 17) — คอลัมน์ Wave อ้างอิงจาก Vol 19 · Modernization Roadmap (time-horizon plan; deep ROI) รายละเอียดเต็มของทุกแถวอยู่ที่ master register เสมอ

Wave: 1 = Security เร่งด่วน, 2 = Correctness, 3 = Dependency/EOL, 4 = Performance/Observability/Quality + SEC เบา


C1 – C3 (vtrc-rc-backoffice, SEC)

IDOne-lineWave
C1.env committed มี secret จริง1
C2MSSQL conn string ฝังใน bundle1
C3SSO bypass รับ token ใน URL1

CORR-*

IDOne-lineWave
CORR-2WAYVTRC-01Multi-table insert ไม่มี transaction2
CORR-2WAYVTRC-02MongoDB comment ปิดแต่ feature ยังพึ่งพา2
CORR-AIRECRUIT-01Sync mechanism ระหว่าง 2 ตารางไม่ปรากฏในโค้ด2
CORR-BENEFIT-01ข้อมูลซ้ำ 2 schema ไม่มี sync mechanism2
CORR-BO-01unreachable code คืน endpoint ผิด2
CORR-BO-02isRemember hardcode = 1 เสมอ2
CORR-BONEW-01isRemember hardcode = 1 เสมอ (สืบทอด)2
CORR-CHAT-01Cron in-memory หายเมื่อ restart2
CORR-CHAT-02synchronize: true บน production2
CORR-CU-01axios import จริงแต่ package.json typo — crash risk2
CORR-CU-02OTP inconsistency ระหว่าง 2 resolver2
CORR-MOBILE-01MEETING_API hardcode ชี้ UAT เสมอ2
CORR-MTBO-01BASE_PATH env ไม่มีผลจริง2
CORR-MTBO-02SSG ไม่มี revalidate2
CORR-MTBONEW-01อ่าน env vars แต่ไม่มี .env ไฟล์ใดเลย2
CORR-MTVTRC-01refreshtoken route ไม่ mount + ไม่ persist2
CORR-MTVTRC-02Multi-insert ไม่มี transaction2
CORR-MTVTRC-03แจ้งเตือนตัวแทน comment ปิด2
CORR-MTVTRC-04Cron พลาด backlog ข้ามวัน2
CORR-PMS-01Cron ทุก 1 นาทีไม่ป้องกัน overlap2
CORR-RCWEB-01ENV ประกาศผิด stage ไม่มีผลจริง2
CORR-RECRUIT-01Race condition ลด remainingManpower2
CORR-SSO-01signIn ไม่ออก JWT ของตัวเอง2
CORR-SSO-02catch block ไม่เช็ค null ก่อนอ่าน2
CORR-VTRC-API-01Transaction pattern ทั่วระบบไม่ทำงานจริง2
CORR-VTRC-API-02signature mismatch drop device argument2
CORR-VTRC-API-03limit cap ไม่ทำงาน เปิดช่อง DoS2
CORR-VTRC-API-04Session fallback ข้าม user2
CORR-WORKFLOW-01ต่อฐานข้อมูล service อื่นตรง (distributed-monolith)2
CORR-WORKFLOW-02Enum ผสมเข้า raw SQL2

H1 – H4 (vtrc-rc-backoffice, SEC)

IDOne-lineWave
H1dangerouslySetInnerHTML 30 ไฟล์1
H2AES key expose ใน bundle1
H3Token เก็บใน web storage ทั้งหมด1
H4apiKeyNews hardcode UUID1

LEG-*

IDOne-lineWave
LEG-2WAYBATCH-01Node 16-alpine EOL3
LEG-2WAYMTBO-01Next.js 12 + React 17 EOL3
LEG-2WAYVTRC-01ts-node ตรงใน production3
LEG-AIRECRUIT-01Node 18 ไม่ตรงกับ Node 20 ของกลุ่ม3
LEG-BENEFIT-01Package ซ้ำ 2 ตัวทำหน้าที่เดียวกัน3
LEG-BO-01Dockerfile ไม่ build จาก source3
LEG-BO-02react-scripts 3.4.3 เก่ามาก3
LEG-BO-03AntD v4.15.4 EOL3
LEG-BONEW-01react-scripts 3.4.33
LEG-BONEW-02AntD v4.15.4 EOL3
LEG-CU-01axois typosquat ของ axios3
LEG-CU-02error-ex pin git URL3
LEG-CU-03ldapjs archived3
LEG-CU-04jsonwebtoken@8.5.1 EOL/CVE3
LEG-CU-05Node 12 + esm shim EOL3
LEG-CU-06xlsx prototype pollution history3
LEG-FRONT-01.ipa binary commit เข้า git3
LEG-MOBILE-01RN 0.63.2 + React 16.13.1 เก่ากว่า 5 ปี3
LEG-MOBILE-02ไม่มี runtime endpoint resolver3
LEG-OCRAPI-01ไม่มี test suite3
LEG-RCWEB-01Base64 upload + validate client-only3
LEG-VTRC-API-01Playground+introspection เปิดใน prod3

M1 – M5 (vtrc-rc-backoffice, SEC)

IDOne-lineWave
M1checkLinkURL ใช้ includes ไม่ parse origin4
M2ไม่มี queue สำหรับ token refresh4
M3ไม่มี CSP4
M4ไม่มี CSRF token4
M5ไม่มี SRI สำหรับ CDN4

OBS-*

IDOne-lineWave
OBS-2WAYMTBO-01ชื่อ env var ไม่สื่อความหมาย4
OBS-AIRECRUIT-01ไม่มี test suite เลย4
OBS-AIRECRUIT-02console.log แทน logger ที่มีอยู่4
OBS-BENEFIT-01PII หลุดเข้า production stdout4
OBS-BENEFIT-02ไม่มี health check endpoint4
OBS-BO-01console override เป็น no-op4
OBS-BONEW-01console override เป็น no-op4
OBS-CHAT-01ไม่มี deployment manifest4
OBS-COMMON-01เอกสาร workspace อธิบายผิด4
OBS-CU-01Dead connection เปิด pool ค้าง4
OBS-JOBSCHED-01EXPOSE port ไม่ตรงพอร์ตจริง4
OBS-MOBILE-01ไม่มี crash reporting SDK4
OBS-MTBONEW-01Commit history บางเกินไป4
OBS-MTVTRC-01Sentry DSN hardcode4
OBS-OCRAPI-01Health check ไม่ตรวจ dependency จริง4
OBS-PMS-01Cron error handling แบบ silent4
OBS-PMS-02console.log มากที่สุดในกลุ่ม4
OBS-RECRUIT-01console.log ปน logger 71 จุด4
OBS-RECRUIT-02Test coverage กระจุกบางโมดูล4
OBS-REPORTLOG-01ไม่มี error handling4
OBS-SSO-01ไม่มีไฟล์ deploy manifest ใดเลย4
OBS-VTRC-API-01PII logging เต็มรูปแบบ4
OBS-VTRC-API-02Redis caching layer ตายทั้งระบบ4
OBS-VTRC-API-03ไม่มี structured logging/tracing/health check4

P-1 – P-7 (vtrc-web, PERF)

IDOne-lineWave
P-1Bundle ~12MB ไม่มี code splitting4
P-2fetchPolicy: no-cache default4
P-3Query profile ทุกครั้งที่ reload4
P-4ไม่มี lazy loading รูปภาพ4
P-5Webpack 44
P-6console.log กระจายเพิ่มขนาดบันเดิล4
P-7PDF.js worker แยกเพิ่ม request4

PERF-*

IDOne-lineWave
PERF-2WAYBATCH-01Cron 10 วินาที ทำงานจริงแค่ log เปล่า4
PERF-BO-01ไม่มี code splitting4
PERF-CU-01ไม่มี timeout/retry/circuit breaker4
PERF-VTRC-API-01execSync block event loop4

QUAL-*

IDOne-lineWave
QUAL-2WAYAPI-01โมดูลซ้ำไม่ต่อสาย4
QUAL-2WAYAPI-02AppModule import ตัวเอง4
QUAL-2WAYAPI-03console.log ปน logger รวม PII4
QUAL-2WAYAPI-04Node version ไม่ตรงกัน4
QUAL-2WAYAPI-05Package manager ไม่สอดคล้อง4
QUAL-2WAYAPI-06Hardcoded IP แทน config4
QUAL-2WAYBATCH-01โมดูลไม่ import เข้า AppModule4
QUAL-2WAYBATCH-02ไม่มี .env.example4
QUAL-2WAYLINE-01TypeORM ไม่ได้ใช้งานจริง4
QUAL-2WAYLINE-02env var ไม่ได้ใช้4
QUAL-2WAYLINE-03scratch files commit4
QUAL-2WAYMTBO-01ชื่อ repo ทำให้เข้าใจผิด4
QUAL-2WAYMTBO-02Error swallow ด้วย console.log4
QUAL-2WAYMTBO-03roomEmpCode hardcode4
QUAL-2WAYMTBO-04MUI v4/v5 ปนกัน4
QUAL-2WAYVTRC-01Mock tutorial mount ที่ path จริง4
QUAL-2WAYVTRC-02ชื่อ package ไม่เคยแก้4
QUAL-AIRECRUIT-01Dead code ไม่ถูก mount4
QUAL-AIRECRUIT-02Hardcode สมมติฐานประชากรใน prompt4
QUAL-AIRECRUIT-03ไฟล์ภาพ 300+ ไฟล์ commit4
QUAL-BENEFIT-01Logic ซ้ำหลายร้อยบรรทัด4
QUAL-BENEFIT-02validateData stub คืน true เสมอ4
QUAL-BENEFIT-03docType magic number4
QUAL-BENEFIT-04ไฟล์ผู้ใช้จริง commit ใน uploads/4
QUAL-BENEFIT-05Base entity ซ้ำ 2 ตัว4
QUAL-BO-01Route block comment ค้าง4
QUAL-BO-02checkLinkURL ซ้ำ 2 ตัว4
QUAL-BO-0341+ ไฟล์ backup4
QUAL-BONEW-01Dockerfile ไม่ตรงกับ compose4
QUAL-BONEW-02ชื่อ network สลับกับที่คาด4
QUAL-BONEW-03ไฟล์ backup เปล่า4
QUAL-BONEW-04เมนูปิดไม่มีคำอธิบาย4
QUAL-CHAT-01libs copy-paste ข้าม repo4
QUAL-CHAT-02console.log debug + dead code4
QUAL-COMMON-01ชื่อ endpoint ทำให้เข้าใจผิด4
QUAL-COMMON-02libs copy-paste ข้าม repo4
QUAL-CU-01RBAC directive comment ออก4
QUAL-CU-02clockTolerance misuse4
QUAL-CU-03signInDomains hardcode4
QUAL-FRONT-01เวอร์ชัน hardcode ในหน้าเว็บ4
QUAL-FRONT-02QR code asset ค้าง4
QUAL-JOBSCHED-01TypeOrmModule import ไม่ใช้4
QUAL-JOBSCHED-02.env copy จาก repo อื่นไม่แก้4
QUAL-JOBSCHED-03dev log commit เข้า git4
QUAL-MOBILE-01Typo ชื่อไฟล์/route 20+ จุด4
QUAL-MOBILE-02Test มีแค่ default smoke test4
QUAL-MOBILE-03Navigation library ไม่มี release ใหม่4
QUAL-MOBILE-04ชื่อ package ไม่เคยเปลี่ยน4
QUAL-MOBILE-05สอง async pattern สับสน4
QUAL-MTBO-01package name ไม่สัมพันธ์กับแอป4
QUAL-MTBO-02ignoreBuildErrors: true4
QUAL-MTBO-03รัน dev server ใน production4
QUAL-MTBO-04Sidebar ไม่ครบเมนู4
QUAL-MTBO-05Locale เยอรมันไม่ได้ใช้4
QUAL-MTBONEW-01build/ commit เข้า git4
QUAL-MTBONEW-02ไม่มี error tracking4
QUAL-MTBONEW-03compose ไม่ตรงวิธี deploy จริง4
QUAL-MTVTRC-01mongoose dependency ไม่ได้ใช้4
QUAL-MTVTRC-02ตาราง login ไม่มี route อ้างถึง4
QUAL-MTVTRC-03ชื่อไฟล์ case-sensitive risk4
QUAL-MTVTRC-04cron สะกดผิดเป็น corn ทั่ว repo4
QUAL-MTVTRC-05ไม่มี Dockerfile แต่ compose build4
QUAL-NEW-01refreshToken ยิง boilerplate URL4
QUAL-NEW-02Default host UAT ไม่ใช่ prod4
QUAL-NEW-03รหัสผ่านเก็บใน persisted state4
QUAL-NEW-04ชื่อ package scaffold เดิม4
QUAL-NEW-05Screen ไฟล์ครบแต่ comment ปิด4
QUAL-OCRAPI-01OCR endpoint เป็น mock ทั้งหมด4
QUAL-OCRAPI-02ผลลัพธ์เก็บ in-memory เท่านั้น4
QUAL-OCRAPI-03error handler ซ้ำ 2 ชุด4
QUAL-OCRAPI-04response helper ไม่ถูกใช้4
QUAL-OCRAPI-05ไม่มี .env.example4
QUAL-PMS-01เอกสารไม่ตรงกับโค้ดจริง4
QUAL-PMS-02Dockerfile ไม่ล็อค lockfile4
QUAL-PMS-035 module ชื่อคล้ายกันมาก4
QUAL-PMS-04AI service domain ภายนอกไม่ยืนยัน4
QUAL-PMS-05TODO ค้าง4
QUAL-PMS-06Typo ชื่อ entity ถาวร4
QUAL-RCWEB-01dead code api/login.js4
QUAL-RCWEB-02axios.js dead code + misnamed param4
QUAL-RCWEB-03typo env var สอดคล้องกัน 3 จุด4
QUAL-RCWEB-04Decrypt logic ซ้ำ 2 ที่4
QUAL-RECRUIT-01Connection ไม่ใช้งานยังเปิดค้าง4
QUAL-RECRUIT-02dev URL ใน prod env4
QUAL-RECRUIT-03Business rule ไม่มี enum4
QUAL-RECRUIT-04Template สำรองปนไฟล์จริง4
QUAL-REPORTLOG-01users.json ไม่มี context4
QUAL-REPORTLOG-02Script เฉพาะกิจ hardcode ค่า4
QUAL-SSO-01verifySession เป็น stub4
QUAL-SSO-02env อ่านไม่สม่ำเสมอ4
QUAL-VTRC-API-01Op.like บน JSON/TEXT column4
QUAL-VTRC-API-02Dynamic model access4
QUAL-VTRC-API-03Fire-and-forget cron4
QUAL-VTRC-API-04await map ไม่ Promise.all4
QUAL-VTRC-API-05Debug artifact ค้าง4
QUAL-WORKFLOW-01Fallback query จาก schema drift4
QUAL-WORKFLOW-02ชื่อ repo/package ไม่ตรงกัน4
QUAL-WORKFLOW-03schema.sql ไม่ตรง entity จริง4
QUAL-WORKFLOW-04ไฟล์ service ใหญ่เกินจัดการ4

S-1 – S-8 (vtrc-web, SEC)

IDOne-lineWave
S-1Token เก็บใน web storage1
S-2apiKey base64 ในบันเดิล4
S-3AES key+IV hardcoded remember password1
S-4dangerouslySetInnerHTML ไม่มี sanitizer1
S-5isShow เป็น UI flag ไม่ใช่ auth gate4
S-6Console override ปิด debug4
S-7Google Analytics ID เปิดเผย4
S-8ไม่มี CSP4

SEC-*

IDOne-lineWave
SEC-2WAYAPI-01Backdoor login hardcode ออก JWT admin1
SEC-2WAYAPI-02JWT secret มี default fallback ในซอร์ส1
SEC-2WAYAPI-03SQL injection หลายโมดูล1
SEC-2WAYAPI-04Global guard bypass ด้วย @Public() แทบทุก endpoint1
SEC-2WAYAPI-05ignoreExpiration: true เสมอ1
SEC-2WAYAPI-06MSSQL encrypt: false1
SEC-2WAYLINE-01ทุก endpoint เป็น @Public()1
SEC-2WAYLINE-02เรียกกันเองผ่าน hardcoded IP1
SEC-2WAYMTBO-01JWT ใน localStorage ไม่ใช่ httpOnly1
SEC-2WAYMTBO-02Route guard client-side เท่านั้น1
SEC-2WAYVTRC-01Master bypass token static string1
SEC-2WAYVTRC-02getProfile ไม่มี middleware คืน PII1
SEC-2WAYVTRC-03MongoDB credential hardcode1
SEC-2WAYVTRC-04JWT secret hardcoded 2 ตัวไม่ตรงกัน1
SEC-2WAYVTRC-05MSSQL encrypt: false1
SEC-2WAYVTRC-06CORS wildcard + credentials ขัดแย้งกัน4
SEC-AIRECRUIT-01Production credential + OpenAI key หลุดเข้า git1
SEC-AIRECRUIT-02ไม่มี authorization ระดับ role/scope1
SEC-BENEFIT-01Production credential หลุดเข้า git1
SEC-BENEFIT-02Raw SQL interpolation ข้าม 2 database1
SEC-BENEFIT-03Endpoint เบิกค่ารักษาพยาบาลเป็น @Public()1
SEC-BO-01Token ไม่มีวันหมดอายุ + XSS surface 20 ไฟล์1
SEC-BONEW-01Login ส่ง token เป็น URL path segment ข้าม origin1
SEC-CHAT-01Raw SQL string interpolation — SQL injection1
SEC-CHAT-02WebSocket chat ไม่มี guard1
SEC-CHAT-03LINE webhook ไม่ verify signature1
SEC-CHAT-04.env commit พร้อมรหัสผ่านจริงหลายระบบ1
SEC-COMMON-01ทุก controller เป็น @Public()1
SEC-COMMON-02SQL injection ใน AddressRepository1
SEC-COMMON-03.env commit พร้อม MSSQL sa password + shared secret1
SEC-CU-01JWT_SECRET default เป็น empty string1
SEC-CU-02apiKeys hardcoded ในโค้ด 2 keys1
SEC-CU-03.env.develop-test commit อยู่ในโค้ด1
SEC-CU-04/auth/signinbypass passwordless signin live ใน production1
SEC-CU-05ignoreAuth bypass — apiKey อย่างเดียวพอ1
SEC-CU-06rejectUnauthorized: false ใน LDAP connection1
SEC-JOBSCHED-01.env commit พร้อม MSSQL sa password + shared secret1
SEC-MOBILE-01RSA private key hardcode compile เข้า bundle1
SEC-MOBILE-02Android keystore + password commit plaintext1
SEC-MOBILE-03apiKey hardcode ซ้ำ 3 จุด1
SEC-MTBO-01API key hardcode ในซอร์ส frontend1
SEC-MTBO-02.env URL จริงของ UAT commit1
SEC-MTVTRC-01.env×3 commit plaintext1
SEC-MTVTRC-02mockuser endpoint ไม่มี auth คืน PII1
SEC-MTVTRC-03Path "secure" ไม่มี auth จริง1
SEC-MTVTRC-04Tinify API key hardcode4
SEC-NEW-01RSA private key เดียวกับ vtrc-mobile copy ซ้ำ1
SEC-NEW-02Token plain ใน AsyncStorage (regression)1
SEC-OCRAPI-01CORS เปิดกว้าง config ไม่ถูกใช้4
SEC-PMS-01Endpoint คืนเงินเดือนพนักงานเป็น @Public()1
SEC-PMS-02Credential + JWT secret share กับ 3 service หลุดเข้า git1
SEC-RCWEB-01.env×3 track ใน git มี AES key จริง1
SEC-RCWEB-02PII ใน localStorage ไม่มีวันหมดอายุ1
SEC-RCWEB-03OTP bypass ด้วยค่าคงที่ในโค้ด prod1
SEC-RCWEB-04Email/OTP ผ่าน query string GET4
SEC-RECRUIT-01Production credential หลุดเข้า git1
SEC-RECRUIT-02SQL injection ผ่าน dynamic EXEC string1
SEC-REPORTLOG-01Log ไฟล์ commit มี PII plaintext1
SEC-REPORTLOG-02.gitignore ปิดกฎ log ไว้โดยตั้งใจ1
SEC-VTRC-API-01Command injection ผ่าน execSync ใน PDF pipeline1
SEC-VTRC-API-02Default JWT_SECRET = 'secret'1
SEC-VTRC-API-03/webdeployment รัน shell binary โดยไม่มี auth1
SEC-VTRC-API-04/file/:id/download ไม่มี apiKey check1
SEC-VTRC-API-05checkMenuAuth อ่าน role ผิดตัว1
SEC-VTRC-API-06CORS typo ทำให้ allowlist ไม่ทำงาน1
SEC-VTRC-API-07SQL injection ใน statLog cron1
SEC-VTRC-API-08JWT verify ไม่ระบุ algorithms4
SEC-WORKFLOW-01ไม่มี JWT guard ที่ไหนเลย role อนุมานจาก payload1
SEC-WORKFLOW-02.env.example มีรหัสผ่านจริง1

รวม 275 รายการ — ดูรายละเอียดเต็มของแต่ละแถวที่ Vol 17 · master register, แผนแก้ไขตามขอบฟ้าเวลาที่ Vol 19 · Modernization