You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Helps prevent slopsquatting & typosquatting by checking package trustworthiness before installing.
17
+
15
18
- 📦 **Dependency Vulnerability Detection**
16
19
Checks `package.json` dependencies against the [OSV.dev](https://osv.dev) vulnerability database. *(Direct deps only for now — lockfile support coming soon).*
[vibesafe] ⚠ Found 2 heuristic warning(s) for"some-new-package":
151
+
- Package "some-new-package" was published recently... (Severity: Medium)
152
+
Details: Published 0 days ago (threshold: 30 days)
153
+
- Package "some-new-package" has a placeholder README... (Severity: Low)
154
+
Details: ...
155
+
Are you sure you want to install "some-new-package"? [y/N]
156
+
```
157
+
158
+
* Enter `y` or `yes` to proceed despite warnings.
159
+
* Enter `n` or press Enter to abort the installation.
160
+
161
+
**Automatic Yes (for CI/Scripts):**
162
+
163
+
Use the `--yes` flag to automatically accept warnings and proceed with installation. This is useful in non-interactive environments.
164
+
165
+
```bash
166
+
vibesafe install <package-name> --yes
167
+
```
168
+
If `--yes` is not used in a non-interactive environment (e.g., a script without a TTY), VibeSafe will abort installation if any warnings are found.
169
+
170
+
**Installing Multiple Packages:**
171
+
172
+
You can specify multiple packages to install in one command. VibeSafe will process them sequentially:
173
+
174
+
```bash
175
+
vibesafe install packageA packageB packageC
176
+
```
177
+
If an issue is found with one package and you choose to abort, subsequent packages in the list will not be processed.
178
+
179
+
**Passing Flags to npm (e.g., `--save-dev`):**
180
+
181
+
If you need to pass additional arguments directly to the `npm install` command (like `--save-dev`, `--legacy-peer-deps`, etc.), use the `--` separator after your package names and before the npm flags:
### Future Enhancements for `vibesafe install` (TODO)
189
+
190
+
We plan to enhance `vibesafe install` with more advanced security features:
191
+
192
+
***Typosquatting & Name Similarity Detection:**
193
+
* Detect package names that are very similar to popular packages (e.g., using Levenshtein distance).
194
+
* Suggest correct package names if a typo is suspected (e.g., "Did you mean `express`?").
195
+
***Malicious Package Database Check:**
196
+
* Integrate with services like OSV.dev to check if a package version is known to be malicious.
197
+
***Installation Script Warnings:**
198
+
* Inspect package manifests for `preinstall`/`postinstall` scripts and warn the user.
199
+
***Configurable Rules:**
200
+
* Allow users to customize thresholds for warnings (e.g., package age, download counts) via a configuration file.
201
+
113
202
## 🛑📁 Ignoring Files (.vibesafeignore)
114
203
115
204
Create a `.vibesafeignore` file in the root of the directory being scanned. Add file paths or glob patterns (one per line) to exclude them from the scan. The syntax is the same as `.gitignore`.
@@ -148,6 +237,6 @@ For questions or commercial partnership inquiries, contact **vibesafepackage@gma
148
237
## 📛 Trademark Notice
149
238
150
239
**VibeSafe™** is a trademark of Secret Society LLC.
151
-
Use of the name “VibeSafe” for derivative tools, competing products, or commercial services is **not permitted without prior written consent.**
240
+
Use of the name "VibeSafe" for derivative tools, competing products, or commercial services is **not permitted without prior written consent.**
152
241
153
242
You are free to fork or build upon this code under the [MIT License](./LICENSE), but please use a different name and branding for public or commercial distributions.
0 commit comments