|
| 1 | +--- |
| 2 | +layout: blog |
| 3 | +title: "Strengthening Yeoman: Our 2025 Security Overhaul" |
| 4 | +--- |
| 5 | + |
| 6 | +Following our [Security Policy Update](https://yeoman.io/blog/security-policy-update), we’ve completed a **full security review** across Yeoman’s organization. |
| 7 | +This milestone reinforces Yeoman’s foundation and ensures the project remains **reliable and secure** for the developer community. |
| 8 | + |
| 9 | +## Strengthening Yeoman’s Security |
| 10 | + |
| 11 | +As part of the [Maintenance Reboot Initiative](https://yeoman.io/blog/maintenance-reboot), the team has been hard at work improving processes, hardening infrastructure, and reducing long-term risks. |
| 12 | + |
| 13 | +Our 2025 security overhaul introduces clear responsibilities, proactive monitoring, and consistent policies across all Yeoman repositories. |
| 14 | + |
| 15 | +### Key Improvements |
| 16 | + |
| 17 | +- **Organization-wide Security Policy** |
| 18 | + A unified [`SECURITY.md`](https://github.com/yeoman/.github/blob/main/SECURITY.md) now defines responsible disclosure and response expectations. |
| 19 | + Learn more in our [previous blog post](https://yeoman.io/blog/security-policy-update). |
| 20 | +- **Centralized Resources** |
| 21 | + A dedicated [`.github`](https://github.com/yeoman/.github) repository now manages shared templates, documentation, and workflows across Yeoman projects. |
| 22 | +- **OpenSSF Scorecard Integration** |
| 23 | + Automated audits and checks are now active across repositories. |
| 24 | + Improvements include branch protection, dependency automation, and CI/CD hardening. |
| 25 | + See our [OpenSSF Scorecard report](https://github.com/yeoman/.github/blob/main/tools/ossf_scorecard/report.md). |
| 26 | +- **CVE Reviews and Patches** |
| 27 | + Known vulnerabilities have been reviewed and mitigated. |
| 28 | + See the [analysis discussion](https://github.com/yeoman/yeoman/issues/1779#issuecomment-2656182789). |
| 29 | +- **Threat Model** |
| 30 | + A new [Threat Model](https://github.com/yeoman/.github/blob/main/SECURITY.md#threat-model), based on Express and Node.js, outlines potential risks and mitigation strategies. |
| 31 | +- **Access Control Updates** |
| 32 | + GitHub and npm permissions were audited to follow the **principle of least privilege**, ensuring tighter access control across the board. |
| 33 | +- **Dependency Updates and Releases** |
| 34 | + Outdated dependencies were upgraded, and inactive packages are being refreshed with essential security updates. |
| 35 | + Track progress in [issue #28](https://github.com/yeoman/.github/issues/28). |
| 36 | + |
| 37 | + |
| 38 | +## Deprecations and Cleanup |
| 39 | + |
| 40 | +To reduce maintenance overhead and improve overall security, several legacy repositories have been archived: |
| 41 | +- [yeoman/generator-commonjs](https://github.com/yeoman/generator-commonjs) |
| 42 | +- [yeoman/generator-gruntfile](https://github.com/yeoman/generator-gruntfile) |
| 43 | +- [yeoman/generator-gruntplugin](https://github.com/yeoman/generator-gruntplugin) |
| 44 | +- [yeoman/generator-jasmine](https://github.com/yeoman/generator-jasmine) |
| 45 | +- [yeoman/generator-jquery](https://github.com/yeoman/generator-jquery) |
| 46 | +- [yeoman/generator-karma](https://github.com/yeoman/generator-karma) |
| 47 | +- [yeoman/generator-mocha](https://github.com/yeoman/generator-mocha) |
| 48 | +- [yeoman/Hackathons](https://github.com/yeoman/Hackathons) |
| 49 | +- [yeoman/yeoman-app](https://github.com/yeoman/yeoman-app) |
| 50 | +- [yeoman/yeoman-assert](https://github.com/yeoman/yeoman-assert) |
| 51 | +- [yeoman/yeoman-generator-list](https://github.com/yeoman/yeoman-generator-list) |
| 52 | +- [yeoman/yeoman-remote](https://github.com/yeoman/yeoman-remote) |
| 53 | +- [yeoman/yeoman-dummytest](https://github.com/yeoman/yeoman-dummytest) |
| 54 | + |
| 55 | +Most of these repositories relied on outdated dependencies or duplicated functionality already available elsewhere in the ecosystem. |
| 56 | +Others were for initiatives that no longer are being worked on. |
| 57 | + |
| 58 | +Their respective npm packages have also been deprecated. |
| 59 | + |
| 60 | +## What’s Next |
| 61 | + |
| 62 | +Security work is never truly done. We’ll continue monitoring **OpenSSF Scorecard** results, improving automation, and releasing regular maintenance updates. |
| 63 | + |
| 64 | +In parallel, we are also going through the plethora of still-active Yeoman packages and updating them to modern Node.js conventions. |
| 65 | +That includes migrating from CommonJS (CJS) to ECMAScript Modules (ESM) and updating their dependencies. |
| 66 | +This will make sure users are able to use the latest versions of both Yeoman and non-Yeoman packages, rather than old and potentially insecure predecessors. |
| 67 | + |
| 68 | +Afterwards, we plan on auditing this documentation website and updating it to reflect all the latest changes in Yeoman. |
| 69 | +Quite a lot has happened since the website was last overhauled! |
| 70 | + |
| 71 | +Community feedback will continue to shape our priorities — your insights help keep Yeoman secure and dependable. |
| 72 | + |
| 73 | +## Join the Conversation |
| 74 | + |
| 75 | +Developers interested in contributing or staying informed can: |
| 76 | + |
| 77 | +- Join our [Discord community](https://discord.gg/DqSm3meK) |
| 78 | +- Follow ongoing discussions in [GitHub Issue #1779](https://github.com/yeoman/yeoman/issues/1779) |
| 79 | + |
| 80 | +Thank you to everyone helping keep Yeoman **secure, stable, and open-source strong**. |
| 81 | + |
| 82 | +**Happy hacking 🎩** |
| 83 | + |
| 84 | +– The Yeoman Maintainers Team |
| 85 | +[@UlisesGascon](https://github.com/UlisesGascon) and [@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) |
0 commit comments