@theoptimalpartner/npm-security-kit 1.0.2 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -115
- package/LICENSE +1 -1
- package/README.md +124 -426
- package/bin/npm-security-kit.js +12 -0
- package/package.json +17 -34
- package/src/checks/dockerfile.js +217 -0
- package/src/checks/index.js +10 -0
- package/src/checks/install-scripts.js +77 -0
- package/src/checks/malware.js +61 -0
- package/src/checks/node-version.js +234 -0
- package/src/checks/npm-policy.js +121 -0
- package/src/checks/vulnerabilities.js +79 -0
- package/src/cli.js +117 -0
- package/src/context.js +147 -0
- package/src/init.js +236 -0
- package/src/lib/allow-scripts.js +61 -0
- package/src/lib/audit.js +80 -0
- package/src/lib/diff.js +54 -0
- package/src/lib/dockerfile.js +74 -0
- package/src/lib/json-lines.js +12 -0
- package/src/lib/lockfile.js +48 -0
- package/src/lib/node-calendar.js +73 -0
- package/src/lib/npmrc.js +93 -0
- package/src/lib/semver.js +74 -0
- package/src/policy.js +36 -0
- package/src/report.js +68 -0
- package/src/run.js +35 -0
- package/src/version.js +3 -0
- package/EXAMPLES.md +0 -528
- package/QUICK_START.md +0 -291
- package/bin/check.js +0 -30
- package/bin/install.js +0 -36
- package/bin/install.sh +0 -318
- package/src/index.js +0 -71
- package/template/.github/dependabot.yml +0 -63
- package/template/.github/workflows/security-audit.yml +0 -218
- package/template/.security/config.json +0 -94
- package/template/.security/malicious-packages-blacklist.json +0 -259
- package/template/scripts/check-malicious-packages.sh +0 -118
- package/template/scripts/security-check.sh +0 -166
package/CHANGELOG.md
CHANGED
|
@@ -1,127 +1,44 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Cambios del paquete `@theoptimalpartner/npm-security-kit`. Formato basado en
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/); versiones con [SemVer](https://semver.org/lang/es/).
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
## [2.0.0] - sin publicar
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Reescritura completa. La v2 es una CLI de Node sin dependencias que corre en el pipeline **antes de `npm ci`**.
|
|
9
|
+
Sale primero como `2.0.0-beta.0`, con el dist-tag `beta`.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
### BREAKING
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
- Un solo comando, `npm-security-kit`, con los subcomandos `check` e `init`. Se quitan los `bin`
|
|
14
|
+
`npm-security-install`, `npm-security-check`, `npm-security-setup-husky` y `npm-security-integrate-pipeline`.
|
|
15
|
+
- Se quita la blacklist de 175 paquetes, `src/index.js` (`isMalicious`, `matchesMaliciousPattern`) y
|
|
16
|
+
`.security/config.json`: los advisories del registro de npm ya cubren esos paquetes, y la lista solo miraba las
|
|
17
|
+
dependencias directas, después de instalar.
|
|
18
|
+
- Se quitan `check-malicious-packages.sh` y `security-check.sh` (se cortaba en el paso 2), husky y sus hooks, la
|
|
19
|
+
plantilla de `bitbucket-pipelines.yml` (pisaba el pipeline del proyecto) y el `SECURITY.md` generado.
|
|
20
|
+
- Se quitan AUTOMATION_GUIDE, QUICK_START, EXAMPLES, NPM_SECURITY_KIT_SUMMARY y NPM_SECURITY_PROTOCOL. Quedan
|
|
21
|
+
el README (uso) y este CHANGELOG.
|
|
22
|
+
- Requiere Node ≥ 18.3.
|
|
17
23
|
|
|
18
|
-
###
|
|
19
|
-
- Installation script now properly resolves paths when package is installed as dependency
|
|
24
|
+
### Agregado
|
|
20
25
|
|
|
21
|
-
|
|
26
|
+
- `check`: malware (CWE-506) en todo el árbol y con cualquier severidad; vulnerabilidades `critical` en producción;
|
|
27
|
+
versión de Node contra el calendario de nodejs.org; claves del `.npmrc`, `engines.npm`, npm en uso y lockfile;
|
|
28
|
+
install scripts contra `allowScripts`; Dockerfiles que instalan sin el `.npmrc`. Salida en texto o `--json`,
|
|
29
|
+
exit 0/1/2.
|
|
30
|
+
- `init`: completa `.npmrc` y `engines` sin borrar nada, lista los install scripts por aprobar y muestra el step
|
|
31
|
+
del pipeline y los cambios de los Dockerfiles. `--dry-run` muestra el diff.
|
|
32
|
+
- Override de install scripts por repo con `npm_config_strict_allow_scripts=false`.
|
|
22
33
|
|
|
23
|
-
###
|
|
24
|
-
- Initial release of NPM Security Kit
|
|
25
|
-
- Blacklist of 175+ known malicious npm packages from Socket.dev October 2025 phishing campaign
|
|
26
|
-
- Pattern matching for malicious package detection (`redirect-*` pattern)
|
|
27
|
-
- Malicious domains and suspicious npm accounts tracking
|
|
28
|
-
- Automated installation script (`install.sh`) for easy project setup
|
|
29
|
-
- CLI tools:
|
|
30
|
-
- `npm-security-install` - Install security infrastructure in projects
|
|
31
|
-
- `npm-security-check` - Quick malicious package check
|
|
32
|
-
- Programmatic API for advanced integration:
|
|
33
|
-
- `loadBlacklist()` - Load malicious packages database
|
|
34
|
-
- `isMalicious(packageName)` - Check if package is in blacklist
|
|
35
|
-
- `matchesMaliciousPattern(packageName)` - Check against malicious patterns
|
|
36
|
-
- Security scripts:
|
|
37
|
-
- `check-malicious-packages.sh` - Verify packages against blacklist
|
|
38
|
-
- `security-check.sh` - Comprehensive security audit (10 checks)
|
|
39
|
-
- GitHub Actions workflow with 6 security jobs:
|
|
40
|
-
- npm audit
|
|
41
|
-
- Socket.dev integration
|
|
42
|
-
- Dependency review
|
|
43
|
-
- License verification
|
|
44
|
-
- Malicious pattern detection
|
|
45
|
-
- Known malicious packages check
|
|
46
|
-
- Dependabot configuration for automated dependency updates
|
|
47
|
-
- Project configuration file (`.security/config.json`)
|
|
48
|
-
- Comprehensive documentation:
|
|
49
|
-
- README.md - Full package documentation
|
|
50
|
-
- QUICK_START.md - 3-minute installation guide
|
|
51
|
-
- EXAMPLES.md - 12 real-world usage scenarios
|
|
52
|
-
- PUBLISHING.md - Guide for package publication
|
|
53
|
-
- Automatic npm scripts injection into `package.json`:
|
|
54
|
-
- `security:check-malicious`
|
|
55
|
-
- `security:check`
|
|
56
|
-
- `security:audit`
|
|
57
|
-
- `security:audit:fix`
|
|
58
|
-
- `security:outdated`
|
|
59
|
-
- `security:licenses`
|
|
60
|
-
- `security:full`
|
|
61
|
-
- SECURITY.md template for projects
|
|
62
|
-
- Support for both new and existing projects
|
|
63
|
-
- Update mode (`--update` flag) to preserve existing configurations
|
|
34
|
+
### Cómo migrar desde la 1.x
|
|
64
35
|
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
36
|
+
1. Borrar lo que instaló la v1, si no se usa para otra cosa: `.security/`, `scripts/check-malicious-packages.sh`,
|
|
37
|
+
`scripts/security-check.sh`, `.husky/` (y el `"prepare": "husky install"`), los scripts `security:*` del
|
|
38
|
+
`package.json` y el `SECURITY.md` generado.
|
|
39
|
+
2. Si la v1 reemplazó el `bitbucket-pipelines.yml`, recuperar el del repo desde git.
|
|
40
|
+
3. Correr `npx --yes @theoptimalpartner/npm-security-kit@2.0.0 init` y seguir los pasos que imprime (README).
|
|
70
41
|
|
|
71
|
-
## [
|
|
42
|
+
## [1.0.2] y anteriores
|
|
72
43
|
|
|
73
|
-
|
|
74
|
-
- Project structure created
|
|
75
|
-
- Template files developed
|
|
76
|
-
- Initial testing in auth-service, jwt-auth-package, and auth-react-client projects
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Version History Summary
|
|
81
|
-
|
|
82
|
-
- **1.0.1** - Bug fix for installation paths
|
|
83
|
-
- **1.0.0** - Initial public release
|
|
84
|
-
- **0.0.0** - Development phase
|
|
85
|
-
|
|
86
|
-
## Upgrade Guide
|
|
87
|
-
|
|
88
|
-
### From 1.0.0 to 1.0.1
|
|
89
|
-
|
|
90
|
-
No breaking changes. Simply update the package:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
npm update @theoptimalpartner/npm-security-kit
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
If you want to refresh your security files:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
bash ./node_modules/@theoptimalpartner/npm-security-kit/bin/install.sh --update
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Links
|
|
103
|
-
|
|
104
|
-
- [npm Package](https://www.npmjs.com/package/@theoptimalpartner/npm-security-kit)
|
|
105
|
-
- [Bitbucket Repository](https://bitbucket.org/RoutingUC/npm-security-kit)
|
|
106
|
-
- [Socket.dev - Original Research](https://socket.dev)
|
|
107
|
-
|
|
108
|
-
## Contributing
|
|
109
|
-
|
|
110
|
-
When making changes that affect the public API or user experience:
|
|
111
|
-
|
|
112
|
-
1. Update this CHANGELOG.md following Keep a Changelog format
|
|
113
|
-
2. Categorize changes as:
|
|
114
|
-
- **Added** - New features
|
|
115
|
-
- **Changed** - Changes in existing functionality
|
|
116
|
-
- **Deprecated** - Soon-to-be removed features
|
|
117
|
-
- **Removed** - Removed features
|
|
118
|
-
- **Fixed** - Bug fixes
|
|
119
|
-
- **Security** - Security improvements
|
|
120
|
-
3. Use semantic versioning:
|
|
121
|
-
- MAJOR - Breaking changes
|
|
122
|
-
- MINOR - New features (backwards compatible)
|
|
123
|
-
- PATCH - Bug fixes (backwards compatible)
|
|
124
|
-
|
|
125
|
-
## Reporting Issues
|
|
126
|
-
|
|
127
|
-
If you discover a security vulnerability or malicious package not in our blacklist, please report it immediately at the Bitbucket repository issues page.
|
|
44
|
+
Versiones 1.x, sin mantenimiento desde la 2.0.0. Para migrar, ver arriba.
|
package/LICENSE
CHANGED