
مرحبا! في آخر مشاركة، بدأنا ننظر في مسألة مهمة الأمن في الآلية الوقائية الوطنية، وتحدث عن ما يقيس الشركة نفسها تستخدم لتحديد ومنع التهديدات. هذه المرة أريد أن أتحدث عن الأدوات والأساليب المتاحة لك شخصيًا ، والتي أوصي بشدة أن يطبقها جميع المطورين في ممارساتهم.
npm install (: preinstall, install/postinstall), . , . , , .
, :

: npm install malicious-package, evil.sh, unix-.
, , 2018eslint-scopeeslint-config-eslint, , .
, , , , , .
, npm npm, . , npm registry , , , , npm .
, , , , . , , .
, :
npm install suspicious-package --ignore-scripts
, ( .npmrc):
npm config set ignore-scripts true
, . , .

, , npm, npm install. , Docker-, . , npm root-; , . . : npm, .
: - , . , . npm.

: , . , npm .npmrc , .
npm - (, CI/CD), . , , read-only, . .
npm IP- (CIDR). IP ( IP) . , , (on-demand). , , .
.npmrc, (Git). NPM_TOKEN ( ).
--read-only— , (. . , );--cidr=<CIDR>— , IP. CIDR, IP. :--cidr=192.0.2.0/24.
, npm-, . npm, npm token list.
, npm adduser .npmrc . .
~/.npmrc :
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
npm registry, .
, ~/.npmrc unix-! (, SSH), , . , . . , . SSH, EdDSA . , . : Ed25519 (EdDSA) RSA ( 2048 ) .

, , . . , , npm install packae-name: 404, — .
npm , . , , , copy-and-paste.

, , :
- , . (16 );
- . ;
- ;
- , .
: . KeePass ( ). -, . -, , , . (., Google Drive DropBox), .
, , !
(MFA)

, . . : - , . - SMS- . , . . .
, npm -. : « » « ». « », . . , npm OTP npm adduser, - (, npm publish).
, npm 2FA, . : , QR-, -. , CLI :
npm profile enable-2fa auth-and-writes
— « » ()npm profile enable-2fa auth-only
— « »
CLI npm ( ), QR-. (OTP), , .
npm , , , .
, , 2FA npm profile disable-2fa, . , , npm (, ).

, npm publish, npm .
.gitCVS.svn.hg.lock-wscript.wafpickle-N.*.swp.DS_Store._*npm-debug.log.npmrcnode_modulesconfig.gypi*.origpackage-lock.json
- registry , , , . . npm - , , .
, files package.json. , ( glob), . , - .
, , files:
package.jsonREADMECHANGES,CHANGELOG,HISTORYLICENSE,LICENCENOTICE- ,
main
README, CHANGES, LICENSE NOTICE .
, .
, npm publish, --dry-run npm pack --dry-run. , , . --dry-run , , , .
, , npm-. — .
, , , , . , .
- , , .
.