Skip to content

Мушкилоти истгоҳи кории таҳиякунанда: Вобастагии зараровар ё вокуниши васеъшавии IDE

Рақамҳои ёрии таъҷилӣ вобаста ба кишвар фарқ мекунанд. Ин саҳифа 911-ро истифода мебарад, рақам барои Иёлоти Муттаҳида ва Канада. Бисёре аз кишварҳои дигар 112, 999 ё рақами дигарро истифода мебаранд. Рақами кишвари худро пайдо кунед.

Кашф кардани он, ки бастаи нармафзоре, ки шумо тавассути он нав насб кардаед npm install, pip install, cargo build, gem install, ё go get, ё тамдиди Visual Studio Code, Cursor, ё JetBrains IDE, ки навтаъсис шудааст, як матлаби зараровар, сарбории нофаҳмиҳо аз вобастагӣ ё барориши рабудашудаи болообӣ як ҳолати фавқулоддаи инфрасохториро ифода мекунад. Баръакси компютерҳои стандартии истеъмолӣ, як муҳандиси нармафзор, меъмори DevOps ё истгоҳи кории маълумот калидҳои мустақими криптографиро ба муҳити абрии истеҳсолӣ, анборҳои коди манбаъ, сабти контейнерҳо, лӯлаҳои CI/CD ва пойгоҳи додаҳои муштариён нигоҳ медорад. Вақте ки бадхоҳ preinstall ё postinstall скрипт дар дохили package.json, мусаллах setup.py дар чархи Python, ё як созиш .vsix васеъкунӣ дар ноутбуки шумо иҷро мешавад, он бо имтиёзҳои пурраи корбарии шумо кор мекунад ва фавран ҳосил медиҳад -/.aws/credentials, -/.ssh/id_ed25519, -/.npmrc, -/.pypirc, -/.kube/config, махаллй .env файлҳо, macOS Keychain ё Linux libsecret сабтҳо ва кукиҳои сеанси браузери фаъол дар тӯли сонияҳо.

Агар шумо акнун фаҳмидед, ки шумо вобастагии манбаи кушодаи шубҳанокро иҷро кардаед, як анбори мусаллаҳонаро клон кардаед ва сохтаед (масалан, лоиҳаи мусоҳибаи техникии қалбакӣ аз қаллобӣ) ё васеъкунии троянии IDE насб кардаед, ҳар сонияе, ки мошини шумо ба шабака пайваст аст, имкон медиҳад, ки бори пурбор ба абри корпоративии шумо гардиш кунад ё бо истифода аз бастаи worms-propa-и худ нашр кунед. Агар ҳамла тамаъҷӯӣ, таҳдидҳои ҷисмонӣ ё вайроншавии инфрасохтори ҷамъиятиро дар бар гирад, ба рақами фавқулоддаи маҳаллии худ занг занед (911 дар Иёлоти Муттаҳида ва Канада, 112 дар саросари Иттиҳоди Аврупо, 999 дар Британияи Кабир) ё интернационалии мо машварат кунед рақамҳои фавқулодда директория. Ба ин нигоҳдорӣ, триажи судӣ ва тартиби гардиши калидҳои криптографӣ фавран риоя кунед.

Ҳоло ин корро кунед

  1. ** Ҳама пайвастҳои шабакавиро дар истгоҳи кории таҳиякунанда фавран қатъ кунед (Wi-Fi-ро хомӯш кунед, Ethernet-ро ҷудо кунед ва нақбҳои фаъоли VPN ё SSH-ро кушед), аммо ҲОЛО мошинро хомӯш накунед ё аз нав ба кор наандозед**: Аз васл кардани Ethernet ва хомӯш кардани Wi-Fi қабати фаъоли баръакс, маяки C2 ё кирми автоматиро аз истифодаи компютерҳои иловагии худ ба pushfill ё pushfill-и худ бозмедорад. сатилхо. Мошинро дар ҳолати офлайнӣ фаъол нигоҳ доред (ё онро танҳо пас аз гирифтани рӯйхатҳои равандҳои ноустувор боздоред), то шумо метавонед равандҳои иҷрошавандаи кӯдак, кушодани васлаки шабака, таърихи ҷабҳа ва маҳз кадомашро тафтиш кунед .env ва файлҳои эътимоднома, ки дар лаҳзаи иҷро дар диск ҷойгиранд.
  2. ** Барои огоҳ кардани Маркази Амнияти Амният (SOC) ва бозхонд кардани сеансҳои ягонаи воридшавӣ (SSO) ва Абри IAM-и худ аз дастгоҳи алоҳида ва тоза (масалан, смартфони худ дар маълумоти мобилӣ ё ноутбуки дастнорас) истифода баред**: Ҳеҷ гоҳ аз истгоҳи кории сироятшуда ба AWS, GCP, Azure, GitHub ё Okta ворид нашавед. Агар дузди резиденти хотира, тавсеаи IDE-и зараровар ё қалмоқе, ки терминал ва браузери шуморо тамошо кунад, ҳама аломати наве, ки шумо дар он мошин тавлид мекунед, фавран забт карда мешавад.
  3. Токенҳои радиуси баланди таркишро бо тартиби қатъии афзалиятнок дар давоми 15 дақиқаи аввал бозхонд ва гардиш кунед:
  4. Афзалияти 1 (Абр ва Кубернетҳо): Ҳама калидҳои дастрасии маҳаллии AWS IAM-ро ғайрифаъол кунед (AKIA...), бекор кардани маълумоти пешфарзии барномаи абрии Google (gcloud auth application-default revoke), аломатҳои Azure CLI-ро беэътибор кунед (az account clear + Бекор кардани сессияи ID) ва гардиши Кубернетес kubeconfig сертификатҳои муштарӣ ё аломатҳои ҳисоби хидматӣ.
  5. Авзалият 2 (Рамзи манбаъ ва CI/CD): Ҳама калидҳои ҷамъиятии GitHub, GitLab ва Bitbucket SSH, Токенҳои дастрасии шахсиро нест кунед (ghp_..., github_pat_..., glpat-...) ва аломатҳои OAuth CLI (-/.config/gh/hosts.yml) ва танзимоти вебхукҳои репозиторий ва асрори GitHub Actions / GitLab CI -ро тафтиш кунед.
  6. Авзалияти 3 (Рестрҳои бастаҳо ва контейнерҳо): Автоматикунонии npm-ро бекор кунед ва нишонаҳо нашр кунед (-/.npmrc), аломатҳои PyPI API (-/.pypirc), аломатҳои воридшавии Docker Hub / GHCR / ECR (-/.docker/config.json) ва аломатҳои Terraform Cloud (-/.terraform.d/credentials.tfrc.json).
  7. ҲОЗИР npm, PyPI, Cargo ва GitHub-ро санҷед, то боварӣ ҳосил кунед, ки нармафзори зараровар аллакай токенҳои маҳаллии шуморо барои нашри версияи сироятшудаи бастаҳои шахсии шумо истифода накардааст ё содироти зарароварро пахш накардааст: Сарбории замонавии занҷири таъминот (масалан ua-parser-js, coa, rc, ctx, lottie-player, ва ultralytics созишҳо) ба таври худкор таҳиягари ҷабрдидаро таҳлил кунед -/.npmrc, -/.pypirc, ва -/.gitconfig барои фавран интишор кардани версияҳои ямоқи пушти дари ҳар як бастаи кушодаасос ё дохилии, ки таҳиякунанда нигоҳ медорад ё дар анборҳои таҳиягар ҷараёнҳои кории пинҳонии GitHub Actions эҷод кунед.
  8. ** Ҳар як феҳристи лоиҳаро дар истгоҳи корӣ скан кунед, то инвентаризатсияи пурраи фошшударо созед .env файлҳо, сатрҳои пайвасти пойгоҳи додаҳо ва калидҳои сахткоди API**: Пеш аз тоза кардани истгоҳи корӣ, скрипти офлайнро дар мошини ҷудошуда иҷро кунед, то ҳама .env, .env.local, terraform.tfstate, ва application.yml файлро дар диски сахти худ ҷойгир кунед, то шумо метавонед ҳар як сирри тарафи сеюмро (Stripe, Twilio, SendGrid, OpenAI, Anthropic, Datadog, Slack, Postgres, MongoDB ва Redis), ки аз ҷониби ҳисоби корбари шумо хонда мешуд, гардиш кунед.
  9. Тамоми сеансҳои браузер ва пайвастҳои ҳамёни сахтафзорро қатъ кунед: Азбаски таҳиягар зуд-зуд ба созиш дучор мешавад, ки иттилоотдуздии молро (ба мисли Lumma, RedLine ё Atomic macOS Stealer) дар баробари комбайнҳои мушаххаси таҳиякунанда истифода баред, мо пайравӣ кунед. рабудани кукиҳои сессия ва дастури лағви аломати infostealer ва агар шумо Web3-ро таҳия кунед ё дороиҳои рақамиро дошта бошед, моро иҷро кунед резиши ҳамёни cryptocurrency ва дастури созиш ибораи насли.

Danger

** Чаро давидан npm uninstall <package> ё pip uninstall <package> истгоҳи кории шуморо тоза намекунад**: Дар Node.js (npm, yarn, pnpm) ва Python (pip) системаҳои экосистема, рамзи зараровар қариб ҳеҷ гоҳ то шумо интизор намешавад import ё require() китобхона дар рамзи аризаи шумо. Ба ҷои ин, ҳамлагарон бори пурборро дар дохили қалмоқҳои давраи ҳаёти баста ҷойгир мекунанд (preinstall, install, ё postinstall дар package.json, ё иҷрои сатҳи боло дар дохили setup.py ҳангоми сохтани чархи тақсимоти манбаъ). Лаҳзае, ки шумо пахш кардед Enter дар npm install ё pip install, скрипти ҷилди худсаронаи ҳамлакунанда ё бинарие, ки дар системаи оператсионии шумо иҷро шудааст, нусхабардорӣ кардааст. -/.ssh, -/.aws, ва .env файлҳоро ба сервери беруна ворид мекунанд ва аксар вақт пушти дари доимиро ворид мекунанд -/.bashrc, -/.zshrc, crontab, ё -/Library/LaunchAgents. Пас аз насб кардани баста танҳо ҷузвдони дохили онро нест мекунад node_modules ё site-packages дар ҳоле ки калидҳои дуздидашуда дар дасти ҳамлагар ва механизми устуворӣ дар OS-и шумо кор мекунад.


Дарахти қарор: триажи созиши занҷири таъминоти кории таҳиякунанда

Ин ҷараёни кории вокуниш ба ҳодисаҳоро истифода баред, то радиуси таркишро ҳам дар муҳити рушди шахсии шумо ва ҳам инфрасохтори корпоративии истеҳсолӣ дар бар гирад:

flowchart TD
    Detect["Гумонбаршудаи npm / PyPI / Бастаи боркаш, тамдиди троянизатсияшудаи IDE ё репои қалбакӣ ба кор дароварда шудааст"] --> Isolate["ҚАДАМИ 1: Истгоҳи кории Wi-Fi ва Ethernetро фавран ҷудо кунед (Мошинро барои офлайн триаж фаъол нигоҳ доред)"]

    Isolate --> ScopeCheck{"Оё иҷроиш дар ҳост OS ё дар дохили контейнери ҷудошуда / VM рух дод?"}
    ScopeCheck -->|"Хост OS (Mac / Linux / Windows / WSL2)"| FullCompromise["Фарз кунед, ки 100% директорияи хонагӣ (-/.aws, -/.ssh, -/.npmrc, .env, кукиҳои браузер) хориҷ карда шудааст"]
    ScopeCheck -->|"DevContainer / Docker"| MountCheck["Санҷиши ҳаҷмҳо (-v -/.ssh, -v -/.aws, Socket Docker /var/run/docker.sock, ё Шабакаи Хост)"]
    MountCheck --> FullCompromise

    FullCompromise --> CleanDevice["ҚАДАМИ 2: Аз як дастгоҳи тозаи алоҳида, огоҳ кардани SOC ва лағви абрҳои IAM, SSO, GitHub/GitLab ва аломатҳои сабти ном"]

    CleanDevice --> WormCheck["ҚАДАМИ 3: Санҷиши ӯҳдадориҳои GitHub, ҷараёни кории CI/CD ва версияҳои нашршудаи npm/PyPI барои паҳнкунии автоматии кирмҳо"]

    WormCheck --> OfflineAudit["ҚАДАМИ 4: Дар истгоҳи офлайнӣ, инвентаризатсияи ҳама файлҳои .env, файлҳои давлатии Terraform ва пушти дарҳои доимӣ"]

    OfflineAudit --> RotateEnv["ҚАДАМИ 5: Ҳар як пароли махзани маълумот, сирри Webhook, калиди имзои GPG ва калиди API, ки дар файлҳои .env / State ёфт шудааст, гардед."]

    RotateEnv --> RebuildOS["ҚАДАМИ 6: Тоза кардани истгоҳи корӣ тавассути насби тозаи OS -> Татбиқи калидҳои SSH, ки аз сахтафзор пуштибонӣ мешавад, OIDC ва --ignore-скриптҳо."]

Фаҳмидани он ки чӣ тавр занҷири таъминоти таҳиякунанда ва векторҳои IDE иҷро мешаванд

Ҳамлаҳои замонавӣ бар зидди муҳандисони нармафзор чаҳор сатҳи иҷроиши мушаххасро дар як истгоҳи корӣ ҳадаф қарор медиҳанд. Муайян кардани кадом вектор ба мошини шумо зарба мезанад, ба шумо мегӯяд, ки кадом имтиёзҳо ва роҳҳои файлии боркаш дастрас аст:

1. Қалмоқҳои умри бастаи зараровар (npm, pnpm, yarn, pip, cargo, gem)

  • Node.js (package.json скриптҳо): Бо нобаёнӣ, иҷрошаванда npm install ба таври худкор ҳама гуна фармони ҷилдиро, ки дар "preinstall", "install", ё "postinstall" майдонхои package.json, на танҳо барои бастаи сатҳи боло, ки шумо чоп кардаед, балки барои ҳар як вобастагии гузаранда дар дарахт. Ҳамлагарон хатти чопиро истифода мебаранд (масалан, reqeusts, crossenv, lodahs), ** иштибоҳҳои вобастагӣ** (нашри бастаи ҷамъиятӣ дар npm ё PyPI бо ҳамон ном ва рақами версияи баландтар, ба монанди 99.99.9, ҳамчун бастаи хусусии дохилии ширкати шумо) ё ** гирифтани ҳисоби нигоҳдорӣ** барои лағжидани як сатр ба монанди "postinstall": "node index.js" ба як баста.
  • ** Python (setup.py ва .pth файл)**: Кай pip тақсимоти манбаъ насб мекунад (sdist .tar.gz), иҷро мекунад setup.py бо имтиёзҳои пурраи тарҷумони Python. Ҳатто ҳангоми насб кардани чархҳои дуии пешакӣ (.whl) ки ичро намекунанд setup.py Ҳангоми насб, ҳамлагарон зарароварро дар бар мегиранд .pth (конфигуратсияи роҳ) файлҳо бевосита ба он партофта шуданд site-packages/. Ҳар як хат дар дохили а .pth файл сар мешавад import ҳар дафъа аз ҷониби тарҷумони Python ба таври худкор иҷро карда мешавад python дар ин система оғоз меёбад.
  • Раст (build.rs) ва Go: Дар Rust, Cargo ба таври худкор тартиб медиҳад ва иҷро мекунад build.rs на танхо дар давоми cargo build ё cargo run, аммо фавран вақте rust-analyzer (дар дохили VS Code ё IntelliJ) папкаи лоиҳаро барои намудҳои индекс мекушояд. Танҳо кушодани як анбори клоншудаи Rust дар IDE-и худ бо rust-analyzer фаъолшуда рамзи худсаронаро дар дохили он иҷро мекунад build.rs пеш аз он ки шумо ягон фармони терминалро нависед.

2. Васеъкуниҳои IDE-и зараровар ё дуздидашуда (VS Code Marketplace, OpenVSX, JetBrains)

  • Visual Studio Code, курсор, Виндсерф ва васеъкуниҳои VSCodium (.vsix) дар раванди асосии Node.js Extension Host дар истгоҳи кории худ бо бо сандуқи сифр кор кунед. Ҳар як васеъкунии насбшуда дастрасии пурраи хондан/навиштанро ба тамоми системаи файлии шумо дорад, метавонад равандҳои кӯдаконаи хомӯшро тавлид кунад (child_process.exec), метавонад ҳар буфери муҳаррири кушодаро хонед ва .env файл, ва метавонад терминали ҳамгирошудаи шуморо пайваст кунад.
  • Фаъолони таҳдид мунтазам васеъшавии мавзӯъҳои қалбакиро нашр мекунанд (Darcula Official), ёварони рамзгузории қалбакии AI ё васеъкунии хаттӣ / зеботар, ки бесадо як дуздии иттилооти марҳилаи дуввум ё қабати баръаксро ҳангоми оғози IDE зеркашӣ мекунанд.

3. Анборҳои силоҳшудаи Git ва Иҷрои худкори коргоҳи IDE ("Домҳои қабулкунандаи қалбакӣ / Санҷиши хонагӣ")

  • Гурӯҳҳои аз ҷониби давлати Кореяи Шимолӣ сарпарастӣшуда (Contagious Interview / Lazarus Group) ва фаъолони таҳдиди ба крипто нигаронидашуда мунтазам ба таҳиягарон дар LinkedIn, Upwork ё GitHub муроҷиат мекунанд, ки худро ҳамчун рекрутер ё CTO, ки нақшҳои дурдасти сердаромад пешниҳод мекунанд. Онҳо аз таҳиякунанда хоҳиш мекунанд, ки анбори Bitbucket ё GitHub-ро барои "арзёбии 15-дақиқаи ислоҳот" ё "Баррасии MVP бозикунии Web3" клон кунад.
  • Ин анборҳо домҳои иҷроиши пинҳон доранд, ки ҳангоми кушодан дар IDE ё ҳангоми сохтани он ба вуҷуд меоянд:
  • .vscode/tasks.json бо "runOn": "folderOpen": Ба таври худкор скрипти қабати пасзаминиро иҷро мекунад, вақте ки шумо "Бале, ман ба муаллифон боварӣ дорам" дар VS Code пахш мекунед.
  • ** Бадовар .git/hooks/ ё .gitmodules**: конфигуратсияи зермодули Git ё сохтани скриптҳоро истифода мебарад (Makefile, webpack.config.js, next.config.js, vite.config.ts) ки боргузориҳои печидаи JavaScript-ро бор мекунанд (аксар вақт бо ҳазорон ҷойҳои берун аз экран барои пинҳон кардани сутуни 2,000+) пур карда мешаванд, ки сервери берунии C2-ро даъват мекунанд.

Марҳилаи 1: Маълумоти пурраи таҳиякунанда ва матритсаи гардиши махфӣ

Бо истифода аз ноутбуки дуюмдараҷа ё смартфон, ба таври мунтазам тавассути ин инвентаризатсияи эътимодномаи таҳиякунанда аз 12 нуқта кор кунед. Фарз мекунем, ки ҳама гуна файле, ки аз ҷониби ҳисоби корбарии ОС-и решавӣ хонда намешавад (chmod 600 ё 644 ба корбари шумо тааллуқ дорад) ба сервери ҳамлакунанда дар давоми 3 сония пас аз иҷрои бори пурбор бор карда шуд.

Категорияи эътимоднома Роҳҳои дақиқи файлҳои маҳаллӣ дар истгоҳи корӣ ҷамъоварӣ карда шудаанд Амали ҳатмӣ бозхонд ва гардиш (аз дастгоҳи тоза)
1. AWS IAM & SSO -/.aws/credentials
-/.aws/config
-/.aws/sso/cache/*.json
-/.aws/cli/cache/*.json
1. Дар AWS IAM Console, фавран Қатъ кунед ва нест кунед ҳама калидҳои дастрасии статикӣ (AKIA...) дар он ноутбук нигоҳ дошта мешавад.
2. Дар AWS IAM Identity Center (SSO) сеансҳои фаъоли корбарро лағв кунед ва токенҳои дастгоҳи муштарии OIDC-ро ба қайд гиред.
3. Аудити AWS CloudTrail барои GetCallerIdentity, CreateUser, CreateAccessKey, AssumeRole, ListBuckets, ва SecretsManager:GetSecretValue зангҳо аз IP-и ғайриоддӣ ё агентҳои корбар (Boto3, aws-cli, Go-http-client).
2. Google Cloud (GCP) ва Firebase -/.config/gcloud/credentials.db
-/.config/gcloud/access_tokens.db
-/.config/gcloud/application_default_credentials.json
-/.config/configstore/firebase-tools.json
*-service-account.json
1. Ба ** раведmyaccount.google.com/permissions** ва дастрасӣ ба Google Cloud SDK ва Firebase CLI-ро боздоред.
2. Дар ** Console GCP > IAM & Admin > Ҳисобҳои хидматӣ**, ҳама калиди ҳисоби хидматрасонии JSON-ро нест кунед (private_key_id) ки ба диски сахти истгоҳи корӣ бор карда шудааст.
3. Рӯйхатҳои аудити абрӣ-ро барои бастани беиҷозати IAM ё эҷоди Engine Compute Engine тафтиш кунед.
3. Microsoft Azure & Entra ID -/.azure/msal_token_cache.bin
-/.azure/accessTokens.json
-/.azure/azureProfile.json
1. Як Admin Entra ID-ро иҷро кунед Revoke-MgUserSignInSession -UserId <your-user-id> барои беэътибор донистани ҳама аломатҳои навсозӣ ва аломатҳои навсозии ибтидоӣ (PRT).
2. Ҳама гуна сирри муштарии Service Principal ё шаҳодатномаҳои дар маҳал нигоҳ дошташударо нест кунед.
4. Kubernetes & Helm -/.kube/config
-/.kube/cache/
-/.config/helm/registry/config.json
1. Агар -/.kube/config дорои ** сертификатҳои муштарии статикӣ (client-certificate-data / client-key-data)** ё токенҳои дарозмуддати ServiceAccount, сертификатро тавассути кластери CA-и худ бекор кунед (CSR / хориҷ кардани RBAC) ё нест кунед ва дубора эҷод кунед ServiceAccount пинҳонӣ фавран.
2. Санҷиши гузоришҳои аудити Kubernetes API Server барои exec, pods, ё secrets номбар кардан/гирифтани феълҳо.
5. GitHub, GitLab ва Bitbucket -/.ssh/id_ed25519, -/.ssh/id_rsa
-/.config/gh/hosts.yml
-/.git-credentials, -/.netrc
-/.gitconfig
1. Ба ** раведgithub.com/settings/keys** (ва муодили GitLab/Bitbucket) ва Нест кардан калиди ҷамъиятии SSH ва калиди имзои GPG/SSH аз мошини сироятшуда.
2. Ба ** раведgithub.com/settings/tokens** ва github.com/settings/applications барои бекор кардани ҳама Токенҳои дастрасии шахсӣ (ghp_, github_pat_), барномаҳои OAuth (GitHub CLI, VS Code, Git Credential Manager) ва сессияҳои веби фаъол.
3. Санҷед Рӯҷати амният (github.com/settings/security-log) барои repo.clone, org.Invite_member, ё hook.create.
6. GPG ва калидҳои имзои код -/.gnupg/private-keys-v1.d/
-/Library/Keychains/login.keychain-db (Идентификатсияи таҳиягари Apple / .p12)
1. Агар калиди шахсии GPG-и шумо дар диск бе смарт-корти сахтафзор (YubiKey OpenPGP) нигоҳ дошта шуда бошад ва ибораи гузариш дар кэш нигоҳ дошта шуда бошад. gpg-agent ё ба наздикӣ чоп кардаед, фавран Шаҳодатномаи бекоркунии GPG-ро тавлид ва нашр кунед ва калиди GPG-ро аз GitHub/GitLab хориҷ кунед.
2. Ҳар гуна таҳиягари содиротии Apple-ро бекор кунед .p12 ё мағозаи калидҳои Android .jks шаҳодатномаҳои имзои код, ки дар мошин нигоҳ дошта мешаванд.
7. Реестрҳои бастаҳо (npm, PyPI, Cargo, RubyGems, NuGet) -/.npmrc (_authToken=...)
-/.pypirc
-/.cargo/credentials.toml
-/.gem/credentials
1. Ба npmjs.com > Access Tokens, pypi.org > Танзимоти ҳисоб > API tokens, crates.io > Танзимоти ҳисоб > API Tokens, ва rubygems.org ворид шавед ва **Барномаҳои фаъолро фавран бекор кунед.
2. Бастаҳои нашршудаи худро санҷед (ниг. Марҳилаи 2 дар поён) барои тасдиқи он, ки ҳамлагар дар чанд соати охир релизҳои пушти дарро пахш накардааст.
8. Реестрҳои Docker & Container -/.docker/config.json (Асос 64 auths барои Docker Hub, GHCR, ECR, GCR, Quay) 1. Дар хотир доред "auth" дар -/.docker/config.json (вақте ки истифода набаред credsStore: osxkeychain ё wincred) танҳо Base64 рамзнашуда аст username:password_or_token.
2. Токенҳои дастрасии шахсиро дар Docker Hub бекор кунед (hub.docker.com/settings/security), Феҳристи контейнерҳои GitHub ва Quay.io.
9. Инфрасохтор ҳамчун код (Terraform / Pulumi / Ansible Vault) -/.terraform.d/credentials.tfrc.json
**/terraform.tfstate (Файлҳои иёлати маҳаллӣ)
-/.pulumi/credentials.json
-/.vault-token
1. Токенҳои API-и корбари Terraform Cloud / Enterprise ва аломатҳои HashiCorp Vault-ро лағв кунед.
2. ** ТАНҲИДӢ**: Ҳар як маҳаллӣ terraform.tfstate файли диски шумо дорои паролҳои матнӣ, маълумоти асосии RDS, калидҳои хусусии TLS ва калидҳои махфии IAM барои ҳар як манбае, ки аз ҷониби ин давлат идора мешавад. Ҳар як сирри дар дохили маҳаллӣ истинодшударо давр занед .tfstate файлҳо.
10. Пойгоҳи додаҳо ва кэшкунии таърихи CLI -/.psql_history, -/.pgpass
-/.mysql_history, -/.my.cnf
-/.rediscli_history
-/.mongodb/mongosh/
Танзимоти DBeaver / TablePlus / DataGrip
1. Менеҷерони пойгоҳи додаҳои GUI (TablePlus, DBeaver, DataGrip, Postico, pgAdmin, MongoDB Compass) паролҳои махзани маълумотҳои рамзгузоришуда ё печидаро ба таври маҳаллӣ нигоҳ медоранд, ки дуздон мунтазам рамзкушоӣ мекунанд.
2. Паролҳои корбари махзани маълумотро барои ҳама гуна саҳнасозӣ ё махзани истеҳсолӣ, ки тавассути VPN, бастион ё IP ҷамъиятӣ аз истгоҳи кории шумо дастрас аст, иваз кунед.
11. Ариза .env Файлҳо ва калидҳои SaaS-и тарафи сеюм **/.env, **/.env.local, **/.env.production, **/.env.development Ҳар як калиди API-ро дар дохили лоиҳаи маҳаллӣ нигоҳ доред .env файлҳо: ** Stripe (sk_live_...), OpenAI (sk-...), антропикӣ (sk-ant-...), Twilio, SendGrid, AWS SES, Slack Bot Tokens (xoxb-...), Discord Bot Tokens, Datadog, Sentry, Supabase (service_role), Маъмури Firebase ва сирри имзои JWT**.
12. Хостҳои маъруфи SSH ва серверҳои Bastion Jump -/.ssh/config
-/.ssh/known_hosts
-/.zsh_history, -/.bash_history
Ҳамлагарон фавран таҳлил мекунанд -/.ssh/config ва -/.zsh_history Барои пайдо кардани ҳар як сервери дохилии IP, ҳости Бастион ва номи корбаре, ки шумо ба он пайваст мешавед, пас дуздидаатонро истифода баред -/.ssh/id_ed25519 калид барои ворид шудан ба он серверҳо. Калиди ҷамъиятии кӯҳнаи худро аз ** хориҷ кунед-/.ssh/authorized_keys** дар ҳар як сервери дурдасти Linux ва тафтиш кунед /var/log/auth.log дар он серверҳо барои вуруди беиҷозат SSH.

Марҳилаи 2: Санҷиши паҳншавии кирмҳои занҷири таъминот (GitHub, CI/CD ва реестрҳои бастаҳо)

Баръакси нармафзори умумӣ, сарборӣ барои таҳиягарон махсус барои **худтанзимкунӣ дар тамоми занҷири таъминоти нармафзор ** дар давоми сонияҳои пас аз фуруд омадан ба истгоҳи кории шумо барномарезӣ шудааст. Пеш аз он ки шумо ба тоза кардани ноутбуки худ баргардед, дастгоҳи тозаи худро истифода баред, то боварӣ ҳосил кунед, ки маълумотҳои дуздидашудаи шумо аллакай барои сироят кардани дастаи шумо ё корбарони поёнии шумо истифода нашудаанд:

  1. Репозиторийҳои GitHub / GitLab-и худро барои паси дарҳои хомӯш ва ҷараёнҳои кории зараровар санҷед:
  2. ** Санҷед .github/workflows/*.yml дар тамоми анборҳои шумо дастрасии навиштан ба** доред: Кирмҳои охирини занҷири таъминот (Shai-Hulud, tj-actions/changed-files созиш ва ultralytics истисморҳо) ба таври худкор аломатҳои таҳиягари дуздидашударо барои содир кардани ҷараёни кории GitHub Actions ё тағир додани ҷараёни кории мавҷуда барои партов истифода баред ${{ toJSON(secrets) }} (баровардани сирри густариши истеҳсолии ташкилоти шумо аз давандагони GitHub Actions).
  3. **Тасдиқ кардани ӯҳдадориҳои охирин аз ҷониби муаллиф ва тамғаи вақт **: Дар хотир доред, ки ҳар кас метавонад номи муаллиф ва тамғаи Git-ро сохтан мумкин аст (git commit --date="..." --author="..."). Дар GitHub, Push Events-ро дар анбори Намоиши фаъолият ё созмони Рӯйдодҳои аудит (repo.push), ки тамғаи вақти воқеии сервер ва аломати аутентификатсияро сабт мекунад (oauth_application_id ё ssh_key_fingerprint) ки кодро тела дод.
  4. ** Вебхукҳои анбори анбор, калидҳои ҷойгиркунӣ ва ҳамкорон** -ро санҷед: зери Танзимот > Вебхукҳо, Танзимот > Калидҳои ҷойгиркунӣ ва Танзимот > Ҳамкорон ва дастаҳо-ро дар анбори худ бубинед, то боварӣ ҳосил намоед, ки ҳамлакунанда ба сервери доимии калиди хондан/навиштани вебхок илова накардааст.
  5. Аудит npm, PyPI, Cargo ва Hub Docker барои барориши бастаҳои беиҷозат:
  6. Агар шумо нигоҳдор ё шарики ягон бастаи ҷамъиятӣ ё хусусӣ дар npm, PyPI, RubyGems ё Crates.io бошед, ҷадвали Версияҳо / Таърихи релизҳо-ро барои ҳар як бастаи зери ҳисоби худ санҷед.
  7. Агар версияи пач (масалан, 1.4.2 пас аз озодии охирини қонунии шумо 1.4.1) дар давоми мӯҳлати созиши истгоҳи кории шумо интишор шудааст, ин версияро фаврӣ бекор кунед ё кашед (npm deprecate <pkg>@<version> "CRITICAL: Compromised version, do not use" ё дар PyPI) ва бо дастгирии npm тамос гиред (security@npmjs.com / Амнияти GitHub) ё ** Амнияти PyPI (security@pypi.org)** барои нест кардани артефакти зараровар ва версияҳои зарардида карантин.
  8. ** Exfiltration Secret TruffleHog / Git Clone-ро тафтиш кунед **:
  9. Дуздандагони занҷири таъминот зуд-зуд ба API-и GitHub/GitLab бо истифода аз аломати дуздидаатон занг мезананд, то ҳар як анбори хусусии ташкилиро, ки шумо ба он дастрасӣ доред ва сканерҳои махфии автоматиро идора кунед (TruffleHog ё Gitleaks) бар зидди тамоми таърихи ӯҳдадориҳои ширкати шумо. Агар ташкилоти шумо ягон бор тасодуфан ба таърихи анбори хусусии Git сирре содир карда бошад, ин асрори таърихиро ҳоло иваз кунед.

Марҳилаи 3: Триажи офлайнии криминалистӣ дар истгоҳи кории вайроншуда

Бо истгоҳи кории шумо комилан аз Wi-Fi ва Ethernet ҷудо шудааст, равзанаи терминалро кушоед, то триажи офлайнро иҷро кунед. Ҳадафи шумо дутарафа аст: (A) ҳар як .env ва файли конфигуратсияро дар диск ҷойгир кунед, то бидонед, ки кадом асрор бояд гардиш кард ва (B) далели он чизеро, ки баста ё васеъшавии зараровар пеш аз тоза кардани системаи оператсионӣ воқеан иҷро шудааст, гиред.

Қадами 1: Инвентаризатсияи ҳар як ошкоршуда .env, Калиди хусусӣ ва Файли давлатӣ дар диски шумо

Ин фармони танҳо барои хонданро дар офлайнии macOS, Linux ё WSL2-и худ иҷро кунед, то рӯйхати пурраи ҳар як файли маҳаллиро, ки дорои асрорест, ки нармафзори зараровар хонда метавонад:

# Create an offline audit list of all .env files, Terraform states, kubeconfigs, and private keys in your home directory:
find ~ -maxdepth 5 \( \
    -name ".env" -o \
    -name ".env.*" -o \
    -name "*.tfstate" -o \
    -name "*.tfstate.backup" -o \
    -name "*.pem" -o \
    -name "*.key" -o \
    -name "*.p12" -o \
    -name "*.pfx" -o \
    -name "*service-account*.json" -o \
    -name "credentials.json" -o \
    -name ".npmrc" -o \
    -name ".pypirc" -o \
    -name ".netrc" \
\) -not -path "*/node_modules/*" -not -path "*/.git/*" -not -path "*/Library/Caches/*" 2>/dev/null > ~/exposed_secrets_inventory.txt

cat ~/exposed_secrets_inventory.txt

Барраси -/exposed_secrets_inventory.txt сатр ба сатр ва кушодани ҳар як .env ё .tfstate файлро офлайн кунед, то шумо метавонед ҳар як калиди API, пароли махзани маълумот ва сирри вебхукро, ки дар дохили онҳо номбар шудаанд, аз дастгоҳи тозаи худ табдил диҳед.

Қадами 2: Санҷед, ки чӣ бастаи зараровар ё васеъшавии IDE иҷро шудааст

Пеш аз нест кардани папкаи вайронкунанда, бори дақиқро санҷед ва санҷед, ки дар куҷо он устувориро дар системаи оператсионии шумо насб кардааст:

# 1. Inspect package.json lifecycle scripts in the suspect project and its node_modules:
grep -rnE '"(preinstall|install|postinstall|prepublish|prepare)"' ./package.json ./node_modules/*/package.json ./node_modules/@*/*/package.json 2>/dev/null

# 2. Check Python site-packages for malicious .pth startup hook files:
find . -path "*/site-packages/*.pth" -exec head -n 20 {} + 2>/dev/null

# 3. Inspect recently installed or modified VS Code / Cursor / Windsurf Extensions:
ls -lt ~/.vscode/extensions/ ~/.cursor/extensions/ ~/.windsurf/extensions/ 2>/dev/null | head -n 30

# 4. Check for persistence injected into your Shell RC profiles and Git global hooks:
tail -n 30 ~/.zshrc ~/.bashrc ~/.bash_profile ~/.zprofile ~/.profile 2>/dev/null
git config --global --list | grep -E "core.hooksPath|alias|credential|filter"

Қадами 3: Ҷустуҷӯи устувории сатҳи OS, ки аз ҷониби нармафзори зараровар (macOS, Linux ва Windows) партофта шудааст

Вобастагии зараровар ва анборҳои "рекрутерҳои қалбакӣ" аксар вақт агентҳои пасзаминаи доимиро мепартоянд, ки ҳамчун навсози система, демонҳои гиреҳ ё индексаторҳои Spotlight пинҳон шудаанд:

  • Дар MacOS Apple:
    # 1. Check user and system LaunchAgents / LaunchDaemons for recently added .plist files:
    ls -laht ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons
    
    # 2. Check active cron jobs and running background node/python/curl/nohup processes:
    crontab -l
    ps aux | grep -iE "node|python|osascript|curl|wget|nc|bash -i|/tmp/|/var/tmp/|Library/Application Support"
    
  • Дар Linux / Ubuntu / Fedora / WSL2:
    # 1. Check user systemd services, cron jobs, and SSH authorized_keys:
    ls -la ~/.config/systemd/user/ /etc/systemd/system/
    crontab -l
    cat ~/.ssh/authorized_keys
    
    # 2. Check running processes executing out of /tmp, /dev/shm, or ~/.cache:
    ls -la /proc/*/exe 2>/dev/null | grep -E "/tmp/|/dev/shm/|\.cache|\.local"
    
  • Дар Windows (модарӣ ё ҳостии WSL2):
  • Дар хотир доред, ки npm ё скрипти зараровар ё Python, ки дар дохили WSL2 (Зерсистемаи Windows барои Linux) кор мекунад метавонад мустақиман ба тамоми хости Windows-и шумо дастрасӣ пайдо кунад. C:\ тавассути ** рондан/mnt/c/Users/<username>/** ва метавонад даъват кунад powershell.exe ё cmd.exe бевосита аз дохили қабати Linux барои сироят кардан ба Реестри мизбони Windows (HKCU:\Software\Microsoft\Windows\CurrentVersion\Run), Вазифаҳои ба нақша гирифташуда ва Chrome/Edge Cookies базахои маълумотхо.
  • Аудити пурраи Windows PowerShell-ро дар мо иҷро кунед рабудан кукиҳо сессия ва дастури infostealer ва мо дастури сирояти нармафзори зараровар, ransomware ва ҷосусӣ.

Марҳилаи 4: Чаро шумо бояд истгоҳи кории таҳиякунандаро тоза кунед ва аз нав созед

Ҳатто агар шумо зарароварро пайдо кунед ва нест кунед node_modules папка, .vsix васеъ ва фиребгар -/Library/LaunchAgents plist, шумо ҳеҷ гоҳ набояд истифодаи як истгоҳи кории таҳиягари осебдидаро барои муҳандисии истеҳсолӣ бидуни анҷом додани тозакунии OS ва аз нав насбкунӣ идома диҳед.

Пардохтҳои мураккаби ба таҳиякунанда нигаронидашудаи бинарҳои қонунӣ ё файлҳои конфигуратсияи мавҷударо дар системаи шумо тағир медиҳанд, ки ягон сканери антивирус ҳамчун зараровар қайд намекунад: 1. Бинарҳои троянии маҳаллӣ CLI (git, ssh, sudo, aws, kubectl, docker): Сарборие, ки дар зери ҳисоби корбарии шумо кор мекунад, дубора навиштан наметавонад /usr/bin/ssh бе sudo, бинобар ин он ба ҷои он скрипти печандаро дар ** мепартояд-/.local/bin/ssh, -/bin/git, ё -/bin/sudo ва он директорияро ба шумо пеш мебарад PATH. Дафъаи оянда шумо нависед sudo ё ssh -i пас аз дубора пайваст шудан ба интернет, парол парол ё ибораи гузарвожаи шуморо бесадо мепайвандад ва пеш аз занг задан ба бинарии воқеӣ онро ба ҳамлагар равон мекунад. 2. Кэшҳои бастаи маҳаллӣ сироятшуда (-/.npm/_cacache, -/.cache/pip, -/.cargo/registry, -/Library/Caches/pnpm): Барномаи зараровар метавонад тарболҳои кэшшударо дар дохили кэши менеҷери бастаҳои маҳаллии шумо заҳролуд кунад, то ҳатто вақте ки шумо як бастаи тоза ва қонуниро ҳафтаи оянда насб мекунед, мудири бастаи шумо тарболи пушти дарро аз кэши маҳаллии шумо мекушояд. 3. ** Файлҳои асосии тағирёфтаи IDE (workbench.desktop.main.js): Баъзе рамзи VS ва боркунии курсор мустақиман электронро часп мекунанд asar архив ё workbench.desktop.main.js дар дохили бастаи замимаи IDE, то пушти дари пас аз нест кардани ҳама васеъкуниҳо зинда монад.

Танҳо рамзи сарчашмаи холис нусхабардорӣ кунед (тавассути git status ва git diff дар мошини тоза) ва ҳуҷҷатҳои шахсӣ, пас тоза macOS-ро тоза кардани ҳама мундариҷа ва танзимот / DFU Restore, насби тозаи Linux USB**** ё насби тозаи Windows 11 USB**-ро иҷро кунед.


Мустаҳкам кардани истгоҳи нави таҳиягари шумо бар зидди ҳамлаҳои занҷири таъминот

Ҳангоми насб кардани истгоҳи кории таҳиягари тозашудаи худ, файлҳои матнии статикиро дар феҳристи хонагии худ бо ҷараёнҳои кории сахтафзор, эфемерӣ ва қуттии қумӣ иваз кунед, то ҳатто агар вобастагии зараровар дар оянда иҷро шавад, дар диск сифр сирри статикӣ барои дуздидани он мавҷуд бошад:

1. Хомӯш кардани иҷрокунии автоматии скрипти ҳаёт дар менеҷерони бастаҳо

Танзим кунед npm, pnpm, yarn, ва pip бинобар ин вобастагии беэътимод наметавонанд скриптҳои ҷилдиро ҳангоми насб бесадо иҷро кунанд: - Node.js (npm / yarn / pnpm):

# Globally disable automatic preinstall/postinstall script execution in npm:
npm config set ignore-scripts true
( Эзоҳ: pnpm v10+ ҳоло скриптҳои сохтани давраи ҳаётро барои вобастагӣ ба таври нобаёнӣ ғайрифаъол мекунад, агар ба таври возеҳ дар рӯйхат иҷозат дода нашуда бошад pnpm.onlyBuiltDependencies дар package.json, сохтан pnpm v10+ нисбат ба пешфарз нисбат ба кирмҳои занҷири таъминот ба таври назаррас бехатартар аст npm.) - ** Python (pip / uv)**:
# Refuse to run arbitrary setup.py scripts from source distributions (.tar.gz); require binary wheels only:
export PIP_ONLY_BINARY=":all:"
- Равзанаи давраи сардшавӣ / Синну соли ҳадди ақали нашр: Аксари версияҳои зараровар npm ва PyPI дар давоми 4 то 24 соати нашр ошкор ва нест карда мешаванд. Менеҷери баста ё прокси артефакти худро танзим кунед (масалан npm config set before, pnpm minimumReleaseAge, ё Socket.dev / Firewall Artifactory) барои рад кардани версияҳои бастаҳои дар давоми 48 то 72 соати охир нашршуда.

2. Бартараф кардани матни оддӣ -/.ssh/id_ed25519, -/.aws/credentials, ва .env Файлҳо аз диск

  • ** Калидҳои SSH -ро ба сахтафзор YubiKey интиқол диҳед (ed25519-sk) ё Анклави бехатар / Агенти биометрӣ**:
  • Ҳеҷ гоҳ калимаи рамзнашуда ё бидуни гузарвожаро тарк накунед -/.ssh/id_ed25519 файл дар диск. Ё калиди ** сахтафзор-резиденти FIDO2 SSH эҷод кунед (ssh-keygen -t ed25519-sk -O verify-required)** дар YubiKey ҷисмонӣ (ки барои ҳар як ламс кардани ангушти ҷисмонии шумо ба тамоси металлӣ лозим аст git push ё ssh пайвастшавӣ) ё калидҳои SSH-и худро дар дохили 1Password SSH Agent / Secretive (macOS Secure Enclave) нигоҳ доред, ки дар он калиди хусусӣ ҳеҷ гоҳ ҳамчун файл вуҷуд надорад. -/.ssh/ ва ҳар як имзо барои Touch ID / Windows Hello дархост мекунад.
  • ** Статикро иваз кунед -/.aws/credentials (AKIA...) бо SSO-и кӯтоҳмуддат (aws sso login ё aws-vault)**:
  • Ҳама калидҳои дастрасии доимии корбари IAM-ро нест кунед (AKIA...). Истифодаи ** AWS IAM Маркази Identity (aws sso login)** бо давомнокии кӯтоҳи сессия (1 то 4 соат) ё маълумоти эътимодномаро дар дохили пӯшонед aws-vault аз ҷониби macOS Keychain / Manager Credential Windows бо дастурҳои биометрӣ дастгирӣ карда мешавад.
  • ** Матни равшанро иваз кунед .env Файлҳо бо тазриқи махфии Runtime (1Password CLI op run, Doppler, ё aws-vault)**:
  • Ба ҷои нигоҳдорӣ STRIPE_SECRET_KEY=sk_live_... дар матни равшан .env файл, ки ягон node_modules скрипт метавонад fs.readFileSync('.env'), мағозаи маълумотномаҳо ба монанди STRIPE_SECRET_KEY="op://Dev-Vault/Stripe/secret_key" ва сервери таҳиягари маҳаллии худро тавассути ** оғоз кунедop run --env-file=".env.template" -- npm run dev** пас аз тасдиқи аутентификатсия бо Touch ID.
  • ** Ба ҷои интишори боэътимод (OIDC) -ро истифода баред -/.npmrc ва -/.pypirc Нишонаҳо**:
  • Ҳеҷ гоҳ аломати интишорро дар дохили худ нигоҳ надоред -/.npmrc ё -/.pypirc дар ноутбуки шумо. Ҳарду PyPI ва npm (тавассути Provenance / OIDC) ба шумо имкон медиҳанд, ки бастаҳоро танҳо аз GitHub Actions / GitLab CI Trusted Publishers бо истифода аз токенҳои кӯтоҳмуддати OpenID Connect (OIDC) интишор кунед, ки маънои сифр нишонаҳои интишори интишорро дар ҳама гуна ноутбукҳо дорад.

3. Анборҳои беэътимодро ҷудо кунед ва дар дохили DevContainers ё VM-ҳои сахтгиршуда скриптҳо созед

  • Ҳеҷ гоҳ "Арзёбии Recruiter Take-Home Assessment", лоиҳаи ношиноси кушодаасос ё репои мукофотиро мустақиман дар OS мизбони худ клон накунед ва иҷро накунед:
  • Лоиҳаҳои ношиносро дар дохили GitHub Codespace, VM абрии якдафъаина ё Docker DevContainer маҳаллӣ иҷро кунед, ки феҳристи хонагии мизбони шуморо БАСТА НАМОЯД (-), НЕСТ васл мекунад /var/run/docker.sock, ва агар лозим бошад, танҳо нишонаи Git-и фарогири танҳо барои хонданро мегузарад.
  • Аудити VS Code / Васеъкуниҳои курсор ва ғайрифаъол кардани навсозии худкор барои ноширони тасдиқнашуда:
  • Дар хотир доред, ки курсор, Виндсерф ва VSCodium васеъшавиро аз Феҳристи OpenVSX (open-vsx.org) на бозори расмии Visual Studio Microsoft. Фазои номи дақиқи ноширро тафтиш кунед ва пеш аз насб кардани ҳама гуна васеъкунӣ шумори насбро санҷед, рӯйхати васеъшавии насбшудаи худро ҳадди ақалл нигоҳ доред ва васеъшавӣеро, ки дигар фаъолона истифода намебаред, нест кунед.

Саволҳои зуд-зуд додашаванда

Давидан мекунад npm install --ignore-scripts маро аз бастаи npm зараровар комилан муҳофизат мекунад?

Давидан npm install --ignore-скриптҳо Вектори маъмултарини ҳамлаи таъминотро блок мекунад: иҷрои автоматии пешакӣ насб кунед, насб кунед, ва пас аз насб фармонҳои shell дар дохили муайян package.json дар вақти насб. Аммо, вақте ки шумо воқеан рамзи JavaScript-и бастаро иҷро мекунед, он шуморо муҳофизат намекунад (масалан, вақте ки шумо иҷро мекунед npm run dev, санҷиши npm, шӯхӣ, бастаи веб, ё вите, ё вақте ки плагини ESLint/TypeScript-и IDE-и шумо плагини зарароварро аз node_modules). Азбаски Node.js ба таври нобаёнӣ системаи файлии кор ё қуттии шабакавӣ надорад, ҳама рамзи воридшуда дар давоми марҳилаи сохтмон ё санҷиши шумо ҳоло ҳам метавонад хонда шавад -/.aws ва -/.ssh агар шумо сохтмонро дар дохили контейнер ҷудо накунед ё модели иҷозати таҷрибавии Node-ро истифода набаред (гиреҳ - иҷозат).

Ман як анбори шубҳанокро дар Кодекси VS аз як корфармо дар LinkedIn кушодам ва пеш аз фаҳмидани он ки ин қаллобӣ аст, клик кардам "Бале, ман ба муаллифон эътимод дорам". Оё код иҷро шуд, ҳатто агар ман ҳеҷ гоҳ давидам npm install?

Бале, шумо бояд фарз кунед, ки рамзи худсарона ҳамон лаҳзаи клик кардани "Бале, ман ба муаллифон эътимод дорам" иҷро шудааст. Дар Visual Studio Code ва курсор, додани Workspace Trust фавран ба анборҳо имкон медиҳад .vscode/tasks.json файл барои иҷро кардани вазифаҳои қабати замина, ки бо танзим карда шудаанд "runOn": "folderOpen", имкон медиҳад, ки фазои корӣ муайян карда шавад .vscode/settings.json ба серверҳои забонӣ (ба монанди Python, TypeScript, ESLint ё Rust Analyzer) ба роҳҳои иҷрошавандаи зараровар дар дохили ҷузвдони анбор ишора мекунад ва иҷрои автоматии build.rs дар лоиҳаҳои Rust. Мошинро фавран аз шабака ҷудо кунед ва Марҳилаи 1-ро иҷро кунед, то ҳама маълумоти эътимодномаро иваз кунед.

Агар бастаи зараровар npm ё PyPI дар дохили контейнери Docker ё DevContainer кор кунад, оё мизбони Mac ё ноутбуки Windows бехатар аст?

Ин комилан аз он вобаста аст, ки кадом васлҳои ҳаҷм, тағирёбандаҳои муҳити зист ва розеткаҳо ба он контейнер интиқол дода шудаанд. Шаблонҳои стандартии DevContainer ва маҳаллӣ docker-compose.yml танзимотҳо зуд-зуд мизбони шуморо ба таври худкор интиқол медиҳанд SSH_AUTH_SOCK (имкон медиҳад ба нармафзори зараровар дар дохили контейнер калидҳои SSH-и мизбони шуморо барои пайваст шудан ба серверҳои дурдаст истифода барад ё ба GitHub пахш кунад), bind-mount -/.aws, -/.gitconfig, ё фазои кории шумо .env файлҳо ё васл кардани васлаки мизбони Docker (/var/run/docker.sock), ки дастрасии фаврии решаро ба тамоми системаи оператсионии мизбон медиҳад. Худро тафтиш кунед devcontainer.json ва докер тафтиш мекунад васл мекунад, то бубинад, ки маҳз кадом захираҳои мизбон дар дохили контейнер фош шудаанд.

Чӣ тавр ман метавонам тафтиш кунам, ки версияи бастае, ки ман насб карданӣ ҳастам, пеш аз насб кардани он скриптҳои насби пинҳонӣ ё телеметрияи печида дорад?

Пеш аз насб кардани бастаи npm, PyPI, Go ё Rust ношинос, онро тафтиш кунед Socket.dev ё Deps.dev (аз ҷониби Google Open Source Insights), ки ҳар як версияро барои насб кардани скриптҳо, дархостҳои шабакавӣ, дастрасии системаи файлӣ статикӣ таҳлил мекунад,арзёбӣ () нофаҳмиҳо ва тағирёбии нигоҳдорӣ. Шумо инчунин метавонед давед npm дидани скриптҳои <баста> дар терминали худ барои тафтиш кардани скриптҳои давраи зиндагии он бе зеркашӣ ё иҷро кардани баста.


Сарчашмаҳо тафтиш карда шуданд

  • Агентии амнияти киберамният ва инфрасохтор (CISA) ва Агентии амнияти миллӣ (NSA) (Иёлоти Муттаҳида): Таъмини занҷири таъминоти нармафзор: Таҷрибаҳои тавсияшаванда барои таҳиягарон ва вокуниш ба вобастагии осебдида.
  • Маслиҳатҳои амниятии GitHub Lab & npm: * Ҷавоб додан ба бастаҳои npm вайроншуда, зараровар .vscode/tasks.json Домҳои анбор (Contagious Interview) ва Actions GitHub Ҷараёни Корҳои Махфӣ Митигатсияҳои Exfiltration*.
  • Идораи бастабандии Python (PyPA) & Амнияти PyPI: * Мубориза бо чархи зараровар .pth Файлҳо, setup.py Иҷрои худсарона ва нашри боэътимод (OIDC) Дастур оид ба татбик*.
  • Лоиҳаи Амнияти Барномаҳои Ҷаҳонии Кушода (OWASP): Таъминоти нармафзори амнияти занҷираи бехатарӣ варақаи фиреб ва CI/CD амнияти 10 хатари боло.
  • Маркази миллии амнияти киберӣ (NCSC) (Подшоҳии Муттаҳида): Ҳимояи муҳити таҳиякунанда ва ҳавопаймоҳои идоракунии абрӣ аз ҷамъоварии маълумоти мақсаднок.

Дастурҳои алоқаманд