Skip to content

Latest commit

 

History

History
287 lines (220 loc) · 39.4 KB

SECURITY.md

File metadata and controls

287 lines (220 loc) · 39.4 KB

Security Policy (தமிழ்)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


பாதிப்புகளைப் புகாரளித்தல்

OmniRoute-இல் பாதுகாப்புப் பாதிப்பு ஒன்றை நீங்கள் கண்டறிந்தால், அதைப் பொறுப்புடன் புகாரளிக்கவும்:

  1. பொது GitHub issue ஒன்றைத் திறக்க வேண்டாம்
  2. GitHub Security Advisories-ஐப் பயன்படுத்தவும்
  3. பின்வருவனவற்றைச் சேர்க்கவும்: விளக்கம், மீளுருவாக்கப் படிகள் மற்றும் சாத்தியமான தாக்கம்

பதிலளிப்பு காலவரிசை

கட்டம் இலக்கு
ஏற்புறுதி 48 மணிநேரம்
ஆரம்ப ஆய்வு மற்றும் மதிப்பீடு 5 வேலை நாட்கள்
திருத்த வெளியீடு 14 வேலை நாட்கள் (முக்கியமான பாதிப்புகளுக்கு)

ஆதரிக்கப்படும் பதிப்புகள்

பதிப்பு ஆதரவு நிலை
3.9.x 🗓️ திட்டமிடப்பட்டுள்ளது — LTS வரிசை (stable/v3), கீழே காண்க
3.8.x ✅ செயலில்
3.7.x ✅ பாதுகாப்பு ஆதரவு
< 3.7.0 ❌ ஆதரிக்கப்படவில்லை

LTS ஆதரவுக் காலம் (v3.9.x)

3.8.59-க்குப் பிறகான அடுத்த பதிப்பு 3.9.0 ஆகும்; இது stable/v3 கிளையில் நீண்டகால ஆதரவு வரிசையைத் தொடங்குகிறது (ROADMAP.md → "கட்டம் 3 — v3.9.0 LTS" என்பதைப் பார்க்கவும்).

  • stable/v3 பெறுபவை: பிழைத் திருத்தங்கள், பாதுகாப்புத் திருத்தங்கள் மற்றும் வழங்குநர் புதுப்பிப்புகள். புதிய அம்சங்கள் v4 சேனலுக்குச் செல்லும்; LTS வரிசையில் நிலைத்தன்மைக்கே முன்னுரிமை அளிக்கப்படும். npm install omniroute (latest dist-tag) முழு v4 சுழற்சியிலும் v3-லேயே இருக்கும்.
  • கால அளவு: 3.9.0 வெளியீட்டுக்குப் பிறகு 12 மாதங்களுக்கு அல்லது v4.0.0 latest ஆக வெளியிடப்பட்ட பிறகு 90 நாட்கள் வரை — இவற்றில் எது பின்னர் நிகழ்கிறதோ அதுவரை பாதுகாப்புத் திருத்தங்களையும் தீவிரமான பின்னடைவுகளுக்கான திருத்தங்களையும் stable/v3 பெறும். இதன் மூலம் நிர்ணயிக்கப்படும் முடிவுத் தேதி, வெளியீடு நிகழும்போது 3.9.0 வெளியீட்டுக் குறிப்புகளிலும் ROADMAP.md-இலும் பதிவுசெய்யப்படும்.
  • LTS வரிசையில் உள்ள பாதுகாப்புப் பாதிப்பைப் புகாரளித்தல்: மற்ற எந்தப் பதிப்பிற்கும் பயன்படுத்தப்படும் அதே சேனல்தான் — தனிப்பட்ட GitHub Security Advisory-ஐப் பயன்படுத்தவும்; ஒருபோதும் பொது issue-ஐப் பயன்படுத்த வேண்டாம். நீங்கள் சோதித்த பதிப்பைக் குறிப்பிடவும் (எடுத்துக்காட்டாக 3.9.2); திருத்தங்கள் stable/v3-இல் சேர்க்கப்பட்டு v4-க்கும் முன்னோக்கிக் கொண்டுசெல்லப்படும்.
  • LTS வெளியீட்டின்போதான பாதுகாப்பு அடிப்படை: அளவிடப்பட்ட ஸ்கேனர் நிலை, route-guard மற்றும் பொது நற்சான்றுகளுக்கான சான்றுகள் docs/security/LTS_SECURITY_BASELINE.md-இல் பதிவுசெய்யப்பட்டுள்ளன.

பாதுகாப்புக் கட்டமைப்பு

OmniRoute பல அடுக்குகளைக் கொண்ட பாதுகாப்பு மாதிரியைச் செயல்படுத்துகிறது:

கோரிக்கை → CORS → Authz செயல்தொடர் (வகைப்படுத்துதல் → கொள்கைகள் → அமல்படுத்துதல்)
       → பாதுகாப்புத் தடுப்புகள் (PII மறைப்பான், prompt injection, vision bridge)
       → வீத வரம்பி → சர்க்யூட் பிரேக்கர் → Cooldown → மாதிரி முடக்கம் → வழங்குநர்

🔐 அங்கீகரிப்பு மற்றும் அங்கீகாரச் சரிபார்ப்பு

அம்சம் செயலாக்கம்
Dashboard உள்நுழைவு JWT டோக்கன்களுடன் கடவுச்சொல் அடிப்படையிலான அங்கீகரிப்பு (HttpOnly cookies)
API Key அங்கீகரிப்பு CRC சரிபார்ப்புடன் HMAC கையொப்பமிடப்பட்ட விசைகள்
OAuth 2.0 + PKCE வழங்குநருக்குரிய browser/device OAuth, ஆதரிக்கப்படும் இடங்களில் PKCE-ஐப் பயன்படுத்துகிறது; import-only Devin நற்சான்றுகள் தனியாகக் கையாளப்படுகின்றன.
டோக்கன் புதுப்பித்தல் காலாவதியாகும் முன் OAuth டோக்கனைத் தானாகப் புதுப்பித்தல்
பாதுகாப்பான Cookies HTTPS சூழல்களுக்கு AUTH_COOKIE_SECURE=true
Authz செயல்தொடர் Route வகைப்பாடு (PUBLIC / CLIENT_API / MANAGEMENT) — docs/architecture/AUTHZ_GUIDE.md-ஐப் பார்க்கவும்
Route Guard அடுக்குகள் நிர்வாக route-களுக்கான 3-அடுக்கு மாதிரி (LOCAL_ONLY / ALWAYS_PROTECTED / MANAGEMENT) — docs/security/ROUTE_GUARD_TIERS.md-ஐப் பார்க்கவும்
Manage-Scope MCP தொலைநிலை /api/mcp/* அணுகல் manage scope கொண்ட API key-களால் கட்டுப்படுத்தப்படுகிறது; /api/cli-tools/runtime/* கடுமையான loopback அணுகலாகவே இருக்கும். ROUTE_GUARD_TIERS-ஐப் பார்க்கவும்
MCP Scope-கள் 32 நுணுக்கமான scope-கள் (read:health, write:combos, execute:completions போன்றவை) — docs/frameworks/MCP-SERVER.md-ஐப் பார்க்கவும்

🛡️ சேமிப்புநிலையில் குறியாக்கம்

SQLite-இல் சேமிக்கப்படும் அனைத்து முக்கியத் தரவுகளும் scrypt விசை வருவித்தலுடன் AES-256-GCM-ஐப் பயன்படுத்திக் குறியாக்கப்படுகின்றன:

  • API key-கள், access token-கள், refresh token-கள் மற்றும் ID token-கள்
  • பதிப்பிடப்பட்ட வடிவம்: enc:v1:<iv>:<ciphertext>:<authTag>
  • STORAGE_ENCRYPTION_KEY அமைக்கப்படாதபோது Passthrough பயன்முறை (plaintext)
# குறியாக்க விசையை உருவாக்கவும்:
STORAGE_ENCRYPTION_KEY=$(openssl rand -hex 32)

🛡️ பாதுகாப்புத் தடுப்புகள் கட்டமைப்பு

OmniRoute, முன்னுரிமைப்படி வரிசைப்படுத்தப்பட்ட 3 உள்ளமைக்கப்பட்ட பாதுகாப்புத் தடுப்புகளைக் கொண்ட, உடனடியாக மீளேற்றக்கூடிய guardrails registry-ஐ (src/lib/guardrails/) வழங்குகிறது:

பாதுகாப்புத் தடுப்பு முன்னுரிமை நோக்கம்
vision-bridge 5 படம் சார்ந்த விளக்கங்கள் மூலம் vision அல்லாத மாதிரிகளை இணைக்கிறது; பட URL-களுக்கான SSRF பாதுகாப்பு
pii-masker 10 அழைப்புக்கு முன்பும் பின்பும் PII மறைத்தல் (மின்னஞ்சல்கள், தொலைபேசி எண்கள், CPF, CNPJ, கடன் அட்டைகள், SSN)
prompt-injection 20 override/role-hijack/jailbreak/leak வடிவங்களைக் கண்டறிகிறது

தனிப்பயன் பாதுகாப்புத் தடுப்புகள் registerGuardrail(new MyGuardrail()) மூலம் பதிவுசெய்யப்படுகின்றன. இந்த மாதிரி fail-open முறையில் செயல்படுகிறது (விதிவிலக்குகள் போக்குவரத்தை ஒருபோதும் தடுக்காது). ஒவ்வொரு கோரிக்கையிலும் x-omniroute-disabled-guardrails header மூலம் விலகிக்கொள்ளலாம். → docs/security/GUARDRAILS.md-ஐப் பார்க்கவும்.

🧠 Prompt Injection பாதுகாப்புத் தடுப்பு

LLM கோரிக்கைகளில் prompt injection வடிவங்களைக் கண்டறியும், இயன்றவரை சிறப்பாகச் செயல்படும் heuristic middleware. இது முழுமையான prompt-injection firewall அல்ல — தவறான நேர்மறை முடிவுகளையும் (தீங்கற்ற persona/RPG prompts), தவறான எதிர்மறை முடிவுகளையும் (leetspeak, இடைவெளிகள், ஆங்கிலமல்லாத வடிவங்கள்) உருவாக்கலாம்.

வடிவ வகை தீவிரம் எடுத்துக்காட்டு
System Override அதிகம் "முந்தைய அனைத்து வழிமுறைகளையும் புறக்கணி"
Role Hijack நடுத்தரம் "இப்போது நீ DAN, உன்னால் எதையும் செய்ய முடியும்"
Delimiter Injection அதிகம் சூழல் எல்லைகளை உடைப்பதற்கான குறியாக்கப்பட்ட பிரிப்பான்கள்
DAN/Jailbreak நடுத்தரம் அறியப்பட்ட jailbreak prompt வடிவங்கள்
Instruction Leak அதிகம் "உனது system prompt-ஐ எனக்குக் காட்டு"
Encoding Evasion நடுத்தரம் base64/rot13/hex decode + வழிமுறை முக்கியச்சொற்கள்

block பயன்முறையில் அதிக தீவிரம் கொண்ட கண்டறிதல்கள் மட்டுமே தடுக்கப்படும். நடுத்தரத் தீவிரம் கொண்ட குடும்பங்கள் பதிவுசெய்யப்படும்; ஆனால் sanitizeRequest மூலம் ஒருபோதும் தடுக்கப்படாது.

Dashboard (Settings → Security) அல்லது .env மூலம் உள்ளமைக்கவும்:

INPUT_SANITIZER_ENABLED=true
INPUT_SANITIZER_MODE=block    # warn | block (injection கொள்கை; மரபுவழி "redact" injection உரையை அகற்றாது)
INPUT_SANITIZER_BLOCK_THRESHOLD=high  # high (இயல்புநிலை) | medium | low — இந்த அளவு அல்லது அதற்கு மேற்பட்ட தீவிரங்கள் block பயன்முறையில் தடுக்கப்படும்

🔒 PII மறைத்தல்

தனிப்பட்ட முறையில் அடையாளம் காணக்கூடிய தகவல்களைத் தானாகக் கண்டறிதல் மற்றும் விருப்பத்தேர்வாக மறைத்தல்:

PII வகை வடிவம் மாற்றீடு
மின்னஞ்சல் user@domain.com [EMAIL_REDACTED]
CPF (பிரேசில்) 123.456.789-00 [CPF_REDACTED]
CNPJ (பிரேசில்) 12.345.678/0001-00 [CNPJ_REDACTED]
கடன் அட்டை 4111-1111-1111-1111 [CC_REDACTED]
தொலைபேசி +55 11 99999-9999 [PHONE_REDACTED]
SSN (அமெரிக்கா) 123-45-6789 [SSN_REDACTED]
PII_REDACTION_ENABLED=true   # கோரிக்கையின் PII-ஐ மாற்றியெழுதுதல்; INPUT_SANITIZER_MODE-இலிருந்து சுயாதீனமானது
PII_RESPONSE_SANITIZATION=true  # விருப்பத்தேர்வு: வாடிக்கையாளர்களுக்குத் திருப்பியளிக்கப்படும் provider பதில்களில் PII-ஐ மறைக்கவும்

🌐 பிணையப் பாதுகாப்பு

அம்சம் விளக்கம்
CORS வெளிப்படையான cross-origin அனுமதிப்பட்டியல் (CORS_ALLOWED_ORIGINS; மரபுவழி CORS_ORIGIN)
IP வடிகட்டுதல் Dashboard-இல் அனுமதிப்பட்டியல்/தடுப்புப்பட்டியல் IP வரம்புகள்
விகித வரம்பிடல் தானியங்கி backoff உடன் provider-வாரியான விகித வரம்புகள்
Anti-Thundering Herd Mutex + இணைப்பு-வாரியான பூட்டுதல் தொடர் 502 பிழைகளைத் தடுக்கிறது
TLS Fingerprint Bot கண்டறிதலைக் குறைக்க உலாவியைப் போன்ற TLS fingerprint spoofing
CLI Fingerprint இயல்பான CLI signatures-உடன் பொருந்துமாறு provider-வாரியான header/body வரிசைப்படுத்தல்

🔌 மீள்திறன் & கிடைப்புத்தன்மை

அம்சம் விளக்கம்
Circuit Breaker ஒவ்வொரு provider-க்கும் 3-நிலை (Closed → Open → Half-Open), SQLite-இல் நிலைத்துச் சேமிக்கப்படும்
கோரிக்கை Idempotency நகல் கோரிக்கைகளுக்கான 5-விநாடி dedup சாளரம்
Exponential Backoff அதிகரிக்கும் தாமதங்களுடன் தானியங்கி மறுமுயற்சி
Health Dashboard நிகழ்நேர provider ஆரோக்கியக் கண்காணிப்பு

📋 இணக்கப்பாடு

அம்சம் விளக்கம்
பதிவுத் தக்கவைப்பு CALL_LOG_RETENTION_DAYS நாட்களுக்குப் பிறகு தானியங்கி சுத்தம்
பதிவிலிருந்து விலகல் ஒவ்வொரு API key-க்குமான noLog கொடி கோரிக்கைப் பதிவை முடக்குகிறது
தணிக்கைப் பதிவு நிர்வாகச் செயல்கள் audit_log அட்டவணையில் கண்காணிக்கப்படுகின்றன
MCP தணிக்கை அனைத்து MCP tool அழைப்புகளுக்கும் SQLite-ஆதரவுள்ள தணிக்கைப் பதிவு
Zod சரிபார்ப்பு அனைத்து API உள்ளீடுகளும் module ஏற்றத்தின்போது Zod v4 schemas மூலம் சரிபார்க்கப்படுகின்றன

தேவையான சூழல் மாறிகள்

சேவையகத்தைத் தொடங்குவதற்கு முன் அனைத்து ரகசியங்களும் அமைக்கப்பட வேண்டும். அவை விடுபட்டிருந்தாலோ பலவீனமாக இருந்தாலோ சேவையகம் உடனடியாகத் தோல்வியடையும்.

# அவசியம் — இவை இல்லாமல் சேவையகம் தொடங்காது:
JWT_SECRET=$(openssl rand -base64 48)     # குறைந்தபட்சம் 32 எழுத்துகள்
API_KEY_SECRET=$(openssl rand -hex 32)    # குறைந்தபட்சம் 16 எழுத்துகள்

# பரிந்துரைக்கப்படுகிறது — சேமிப்பிலுள்ள தரவின் குறியாக்கத்தைச் செயல்படுத்துகிறது:
STORAGE_ENCRYPTION_KEY=$(openssl rand -hex 32)

changeme, secret, அல்லது password போன்ற அறியப்பட்ட பலவீனமான மதிப்புகளைச் சேவையகம் தீவிரமாக நிராகரிக்கிறது.


Docker பாதுகாப்பு

  • உற்பத்திச் சூழலில் root அல்லாத பயனரைப் பயன்படுத்தவும்
  • ரகசியங்களை வாசிக்க மட்டும் அனுமதிக்கப்பட்ட volumes ஆக mount செய்யவும்
  • .env கோப்புகளை ஒருபோதும் Docker images-க்குள் நகலெடுக்க வேண்டாம்
  • முக்கியமான கோப்புகளை விலக்க .dockerignore-ஐப் பயன்படுத்தவும்
  • HTTPS-க்குப் பின்னால் இயங்கும்போது AUTH_COOKIE_SECURE=true என அமைக்கவும்
docker run -d \
  --name omniroute \
  --restart unless-stopped \
  --read-only \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  -e JWT_SECRET="$(openssl rand -base64 48)" \
  -e API_KEY_SECRET="$(openssl rand -hex 32)" \
  -e STORAGE_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
  diegosouzapw/omniroute:latest

சார்புகள்

  • npm audit-ஐத் தொடர்ந்து இயக்கவும் (npm run audit:deps முதன்மை + electron ஆகியவற்றை உள்ளடக்கும்)
  • சார்புகளைப் புதுப்பித்த நிலையில் வைத்திருக்கவும்
  • commit-க்கு முந்தைய சோதனைகளுக்கு இந்தத் திட்டம் husky + lint-staged-ஐப் பயன்படுத்துகிறது (lint-staged + check-docs-sync + check:any-budget:t11)
  • ஒவ்வொரு push-இலும் CI pipeline ESLint பாதுகாப்பு விதிகளை இயக்குகிறது (no-eval, no-implied-eval, no-new-func = பிழை)
  • module ஏற்றப்படும்போது provider மாறிலிகள் Zod மூலம் சரிபார்க்கப்படுகின்றன (src/shared/validation/schemas.ts)
  • இயல்பாகவே பாதுகாப்பான நூலகங்கள் பயன்படுத்தப்படுகின்றன: dompurify / isomorphic-dompurify (XSS), jose (JWT), better-sqlite3 (parameterized queries காரணமாக SQLi அபாயம் இல்லை), bcryptjs (கடவுச்சொல் hashing)

கடுமையான பாதுகாப்பு விதிகள்

இந்த விதிகள் கருவிகளாலும் மதிப்பாய்வாளர்களாலும் கட்டாயப்படுத்தப்படுகின்றன:

  1. ரகசியங்களை ஒருபோதும் commit செய்ய வேண்டாம் — .env gitignore செய்யப்பட்டுள்ளது; .env.example என்பது template ஆகும் (நேரடி மதிப்புகள் இல்லை, comments மட்டுமே — கீழே உள்ள PUBLIC_CREDS.md-ஐப் பார்க்கவும்)
  2. eval(), new Function(), அல்லது மறைமுக eval-ஐ ஒருபோதும் பயன்படுத்த வேண்டாம் — ESLint இதைக் கட்டாயப்படுத்துகிறது
  3. வெளிப்படையான operator ஒப்புதல் இல்லாமல் Husky hooks-ஐ ஒருபோதும் தவிர்க்க வேண்டாம் (--no-verify, --no-gpg-sign)
  4. routes-இல் raw SQL-ஐ ஒருபோதும் எழுத வேண்டாம் — எப்போதும் src/lib/db/ வழியாகச் செல்லவும் (parameterized)
  5. உள்ளீடுகளை எப்போதும் Zod மூலம் சரிபார்க்கவும் — src/shared/validation/schemas.ts
  6. upstream headers-ஐ எப்போதும் தூய்மைப்படுத்தவும் — denylist: src/shared/constants/upstreamHeaders.ts
  7. சேமிப்பிலுள்ள credentials-ஐக் குறியாக்கவும் — src/lib/db/encryption.ts வழியாக AES-256-GCM
  8. பொது upstream OAuth identifiers-க்கு resolvePublicCred()-ஐப் பயன்படுத்தவும் — AIza… / GOCSPX-… / …apps.googleusercontent.com போன்ற நேரடி மதிப்புகளை source-இல் ஒருபோதும் உட்பொதிக்க வேண்டாம். docs/security/PUBLIC_CREDS.md-ஐப் பார்க்கவும்.
  9. பிழை responses-ஐ buildErrorBody() / sanitizeErrorMessage() வழியாக அனுப்பவும் — raw err.stack / err.message-ஐ HTTP / SSE / executor / MCP response bodies-இல் ஒருபோதும் இட வேண்டாம். docs/security/ERROR_SANITIZATION.md-ஐப் பார்க்கவும்.
  10. exec() / spawn() runtime மதிப்புகளை env option வழியாக வழங்கவும் — வெளிப்புற paths அல்லது நம்பகமற்ற மதிப்புகளை shell வழியாக அனுப்பப்படும் scripts-க்குள் string-interpolate செய்ய வேண்டாம். மேற்கோள்: src/mitm/cert/install.ts::updateNssDatabases.
  11. இயல்பாகவே பாதுகாப்பான நூலகங்களுக்கு முன்னுரிமை அளிக்கவும் — tldrsec/awesome-secure-defaults-ஐப் பார்க்கவும் (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink). நீங்களே புதிதாக உருவாக்குவதற்கு முன் அவற்றைப் பயன்படுத்த முயலவும்.

விநியோகச் சங்கிலி ஸ்கேனர் கண்டறிதல்கள் (Socket.dev / Snyk / இதுபோன்றவை)

வரம்புக் குறிப்பு: களஞ்சியத்தின் மூலக் கோப்பகத்திலுள்ள socket.yml, வெளியிடப்பட்ட npm தொகுப்பின் மீது Socket.dev-இன் பதிவகப் பக்க வெளியீட்டுக்குப் பிந்தைய ஸ்கேனுக்கான projectIgnorePaths-ஐ மட்டுமே வரையறுக்கிறது — இது கட்டாயப்படுத்தப்பட்ட CI/PR ஒன்றிணைப்பு நுழைவாயில் அல்ல. .github/workflows-இல் உள்ள எந்தப் பணிப்பாய்வும், எந்த package.json ஸ்கிரிப்டும், எந்த Makefile இலக்கும் Socket.dev-ஐ இயக்குவதில்லை.

வெளியிடப்பட்ட omniroute npm தொகுப்பு, Next.js output: "standalone" உருவாக்கத்தை உள்ளடக்குகிறது; இதன் பொருள் ஆவணப்படுத்தப்பட்ட சிறப்புரிமை அம்சங்கள் (MITM, Zed இறக்குமதி, Cloud Sync, உட்பொதிக்கப்பட்ட சேவை மேற்பார்வையாளர்) உள்ளிட்ட ஒவ்வொரு வழித்தடக் கையாளுநரும் .next/server/*.js சிறிதாக்கப்பட்ட துண்டுகளில் இடம்பெறும். அனுமான அடிப்படையிலான விநியோகச் சங்கிலி ஸ்கேனர்கள் அந்தத் துண்டுகளைத் தீம்பொருள் கையொப்பங்களுடன் அடிக்கடி வடிவப் பொருத்தம் செய்கின்றன.

நாங்கள் பயன்படுத்தும் ஸ்கேனர் உள்ளமைவு களஞ்சியத்தின் மூலத்தில் உள்ள socket.yml-இல் உள்ளது (Socket.dev GitHub App வடிவம் v2 — பார்க்கவும் https://docs.socket.dev/docs/socket-yml). இது அனுப்பப்படாத கோப்பகங்களை (tests/, _tasks/, _references/, _ideia/, _mono_repo/, docs/ போன்றவை) வெளிப்படையாக விலக்குகிறது; எனவே உண்மையில் வெளியிடப்பட்ட பயனர்களைச் சென்றடையும் குறியீட்டுப் பாதைகள் குறித்து மட்டுமே ஸ்கேனர் அறிக்கையிடும் — ஸ்கேன் தானாகவே இந்தக் கோப்பைப் படிக்கும் Socket GitHub App மூலம் இயக்கப்படுகிறது; இந்தக் களஞ்சியத்திலுள்ள பணிப்பாய்வு மூலம் அல்ல.

ஒவ்வொரு கண்டறிதல் வகைக்கும், கண்டறிதல் வாரியான பராமரிப்பாளர் சான்றுறுதியைப் பராமரிக்கிறோம்:

  • docs/security/SOCKET_DEV_FINDINGS.md — கண்டறிதல் வாரியான வரைபடம்: மூலக் கோப்பு ↔ குறிக்கப்பட்ட துண்டு ↔ செயல்பாடு ↔ v3.8.6-இல் பயன்படுத்தப்பட்ட தணிப்பு.
  • குறிக்கப்பட்ட ஒவ்வொரு செயல்பாட்டிலும் உள்ள மூலக் குறியீட்டு SECURITY-AUDITOR-NOTE: தொகுதிகள், அதே ஆவணத்திற்குத் திரும்பச் சுட்டுகின்றன.

எச்சரிக்கையைத் தளர்த்த முடியாத குழாய்த்தொடர் கொண்ட பயனர்கள்: OMNIROUTE_BUILD_PROFILE=minimal npm run build மூலம் உருவாக்கவும். இது நான்கு உணர்திறன் மிக்க தொகுதிகளையும் இயக்க நேரத்தில் HTTP 503 feature-disabled-ஐத் திருப்பும் மாற்றுக் கட்டமைப்புகளால் பதிலிடுகிறது; எனவே சிறப்புரிமை பெற்ற குறியீட்டுப் பாதைகள் தொகுப்பிலிருந்து நேரடியாக இல்லாமல் போகின்றன. வெளியீட்டு செய்முறைக்கு docs/security/SOCKET_DEV_FINDINGS.md-ஐப் பார்க்கவும்.

மேற்கோள்கள்

  • docs/architecture/AUTHZ_GUIDE.md — அங்கீகாரக் குழாய்த்தொடர்
  • docs/security/GUARDRAILS.md — பாதுகாப்புத் தடுப்புக் கட்டமைப்பு
  • docs/security/COMPLIANCE.md — தணிக்கைப் பதிவு மற்றும் தக்கவைப்பு
  • docs/security/PUBLIC_CREDS.md — பொது மேற்பாய்வு நற்சான்றுகளுக்கான கட்டாயமான வடிவம்
  • docs/security/ERROR_SANITIZATION.md — பிழைப் பதில்களுக்கான கட்டாயமான வடிவம்
  • docs/security/SOCKET_DEV_FINDINGS.md — விநியோகச் சங்கிலி ஸ்கேனர் கண்டறிதல்களுக்கான பராமரிப்பாளர் சான்றுறுதி
  • docs/architecture/RESILIENCE_GUIDE.md — சுற்று முறிப்பான் + குளிர்விப்பு + பூட்டுதல்
  • docs/security/STEALTH_GUIDE.md — TLS கைரேகையிடுதல் (சட்ட/நெறிமுறை அறிவிப்பு)
  • CLAUDE.md — AI முகவர்களுக்கான கடுமையான விதிகள்
  • tldrsec/awesome-secure-defaults — இயல்பாகவே பாதுகாப்பான தேர்ந்தெடுக்கப்பட்ட நூலகங்கள்