vibe-guard 1.1.4 → 1.1.5
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/README.md +128 -286
- package/dist/bin/vibe-guard.js +240 -22
- package/dist/bin/vibe-guard.js.map +1 -1
- package/dist/config.d.ts +0 -18
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -26
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -8
- package/dist/index.js.map +1 -1
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +41 -19
- package/dist/reporter.js.map +1 -1
- package/dist/rules/ai-agent-access-control.d.ts +27 -2
- package/dist/rules/ai-agent-access-control.d.ts.map +1 -1
- package/dist/rules/ai-agent-access-control.js +393 -19
- package/dist/rules/ai-agent-access-control.js.map +1 -1
- package/dist/rules/ai-data-leakage-prevention.d.ts +25 -2
- package/dist/rules/ai-data-leakage-prevention.d.ts.map +1 -1
- package/dist/rules/ai-data-leakage-prevention.js +409 -21
- package/dist/rules/ai-data-leakage-prevention.js.map +1 -1
- package/dist/rules/ai-generated-code-validation.d.ts +28 -7
- package/dist/rules/ai-generated-code-validation.d.ts.map +1 -1
- package/dist/rules/ai-generated-code-validation.js +367 -96
- package/dist/rules/ai-generated-code-validation.js.map +1 -1
- package/dist/rules/broken-access-control.d.ts +40 -5
- package/dist/rules/broken-access-control.d.ts.map +1 -1
- package/dist/rules/broken-access-control.js +595 -144
- package/dist/rules/broken-access-control.js.map +1 -1
- package/dist/rules/csrf-protection.d.ts +25 -4
- package/dist/rules/csrf-protection.d.ts.map +1 -1
- package/dist/rules/csrf-protection.js +328 -81
- package/dist/rules/csrf-protection.js.map +1 -1
- package/dist/rules/directory-traversal.d.ts +33 -5
- package/dist/rules/directory-traversal.d.ts.map +1 -1
- package/dist/rules/directory-traversal.js +470 -171
- package/dist/rules/directory-traversal.js.map +1 -1
- package/dist/rules/exposed-secrets.d.ts +25 -4
- package/dist/rules/exposed-secrets.d.ts.map +1 -1
- package/dist/rules/exposed-secrets.js +355 -95
- package/dist/rules/exposed-secrets.js.map +1 -1
- package/dist/rules/hardcoded-sensitive-data.d.ts +32 -2
- package/dist/rules/hardcoded-sensitive-data.d.ts.map +1 -1
- package/dist/rules/hardcoded-sensitive-data.js +426 -29
- package/dist/rules/hardcoded-sensitive-data.js.map +1 -1
- package/dist/rules/index.d.ts +6 -1
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +16 -1
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/insecure-configuration.d.ts +16 -5
- package/dist/rules/insecure-configuration.d.ts.map +1 -1
- package/dist/rules/insecure-configuration.js +457 -64
- package/dist/rules/insecure-configuration.js.map +1 -1
- package/dist/rules/insecure-dependencies.d.ts +46 -1
- package/dist/rules/insecure-dependencies.d.ts.map +1 -1
- package/dist/rules/insecure-dependencies.js +678 -51
- package/dist/rules/insecure-dependencies.js.map +1 -1
- package/dist/rules/insecure-deserialization.d.ts +29 -4
- package/dist/rules/insecure-deserialization.d.ts.map +1 -1
- package/dist/rules/insecure-deserialization.js +531 -101
- package/dist/rules/insecure-deserialization.js.map +1 -1
- package/dist/rules/insecure-error-handling.d.ts +35 -4
- package/dist/rules/insecure-error-handling.d.ts.map +1 -1
- package/dist/rules/insecure-error-handling.js +590 -87
- package/dist/rules/insecure-error-handling.js.map +1 -1
- package/dist/rules/insecure-file-upload.d.ts +37 -5
- package/dist/rules/insecure-file-upload.d.ts.map +1 -1
- package/dist/rules/insecure-file-upload.js +690 -138
- package/dist/rules/insecure-file-upload.js.map +1 -1
- package/dist/rules/insecure-http.d.ts +31 -2
- package/dist/rules/insecure-http.d.ts.map +1 -1
- package/dist/rules/insecure-http.js +547 -61
- package/dist/rules/insecure-http.js.map +1 -1
- package/dist/rules/insecure-logging.d.ts +6 -1
- package/dist/rules/insecure-logging.d.ts.map +1 -1
- package/dist/rules/insecure-logging.js +430 -109
- package/dist/rules/insecure-logging.js.map +1 -1
- package/dist/rules/insecure-random-generation.d.ts +4 -1
- package/dist/rules/insecure-random-generation.d.ts.map +1 -1
- package/dist/rules/insecure-random-generation.js +239 -99
- package/dist/rules/insecure-random-generation.js.map +1 -1
- package/dist/rules/insecure-session-management.d.ts +4 -0
- package/dist/rules/insecure-session-management.d.ts.map +1 -1
- package/dist/rules/insecure-session-management.js +359 -54
- package/dist/rules/insecure-session-management.js.map +1 -1
- package/dist/rules/mcp-server-security.d.ts +32 -3
- package/dist/rules/mcp-server-security.d.ts.map +1 -1
- package/dist/rules/mcp-server-security.js +511 -39
- package/dist/rules/mcp-server-security.js.map +1 -1
- package/dist/rules/missing-authentication.d.ts +4 -0
- package/dist/rules/missing-authentication.d.ts.map +1 -1
- package/dist/rules/missing-authentication.js +263 -62
- package/dist/rules/missing-authentication.js.map +1 -1
- package/dist/rules/missing-security-headers.d.ts +32 -3
- package/dist/rules/missing-security-headers.d.ts.map +1 -1
- package/dist/rules/missing-security-headers.js +548 -95
- package/dist/rules/missing-security-headers.js.map +1 -1
- package/dist/rules/open-cors.d.ts +3 -0
- package/dist/rules/open-cors.d.ts.map +1 -1
- package/dist/rules/open-cors.js +202 -57
- package/dist/rules/open-cors.js.map +1 -1
- package/dist/rules/prompt-injection-detection.d.ts +33 -3
- package/dist/rules/prompt-injection-detection.d.ts.map +1 -1
- package/dist/rules/prompt-injection-detection.js +571 -43
- package/dist/rules/prompt-injection-detection.js.map +1 -1
- package/dist/rules/sql-injection.d.ts +27 -3
- package/dist/rules/sql-injection.d.ts.map +1 -1
- package/dist/rules/sql-injection.js +471 -61
- package/dist/rules/sql-injection.js.map +1 -1
- package/dist/rules/unvalidated-input.d.ts +20 -4
- package/dist/rules/unvalidated-input.d.ts.map +1 -1
- package/dist/rules/unvalidated-input.js +557 -128
- package/dist/rules/unvalidated-input.js.map +1 -1
- package/dist/rules/xss-detection.d.ts +25 -4
- package/dist/rules/xss-detection.d.ts.map +1 -1
- package/dist/rules/xss-detection.js +702 -135
- package/dist/rules/xss-detection.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +11 -6
- package/dist/scanner.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.js +1 -1
- package/package.json +2 -2
- package/CHANGELOG.md +0 -102
package/README.md
CHANGED
|
@@ -1,343 +1,185 @@
|
|
|
1
|
-
# Vibe-Guard Security Scanner
|
|
1
|
+
# ██ Vibe-Guard Security Scanner
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Security Scanner** - Zero dependencies, instant setup, works everywhere. Optimized performance for security scanning. Current ruleset: 25 essential security rules.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/vibe-guard)
|
|
6
|
+
[](https://www.npmjs.com/package/vibe-guard)
|
|
7
|
+
[](https://github.com/Devjosef/vibe-guard/blob/main/LICENSE)
|
|
6
8
|
|
|
7
|
-
##
|
|
9
|
+
## 🚀 Quick Start
|
|
8
10
|
|
|
9
|
-
Vibe-Guard catches the security mistakes we all make when we're coding fast. You know the drill you're in the zone, AI is helping you code, or you're quickly prototyping something, and suddenly you've got API keys in your code or forgot to add auth to that admin endpoint. We've all been there.
|
|
10
|
-
|
|
11
|
-
### The Core Philosophy
|
|
12
|
-
|
|
13
|
-
- **Catch real issues** - Not theoretical vulnerabilities that don't matter
|
|
14
|
-
- **Zero false positives** - If it flags something, it's actually a problem
|
|
15
|
-
- **Fast enough to use daily** - Scans your entire project in seconds
|
|
16
|
-
- **Works everywhere** - macOS, Linux, Windows, Docker, CI/CD
|
|
17
|
-
- **No setup required** - Download and run, that's it
|
|
18
|
-
|
|
19
|
-
## Quick Start (The "Just Show Me Code" Section)
|
|
20
|
-
|
|
21
|
-
### Option 1: Download Binary (Recommended)
|
|
22
11
|
```bash
|
|
23
|
-
#
|
|
24
|
-
|
|
25
|
-
chmod +x vibe-guard
|
|
26
|
-
./vibe-guard scan .
|
|
27
|
-
|
|
28
|
-
# macOS (Apple Silicon)
|
|
29
|
-
curl -L https://github.com/Devjosef/vibe-guard/releases/download/v1.1.3/vibe-guard-macos-arm64 -o vibe-guard
|
|
30
|
-
chmod +x vibe-guard
|
|
31
|
-
./vibe-guard scan .
|
|
32
|
-
|
|
33
|
-
# Linux
|
|
34
|
-
curl -L https://github.com/Devjosef/vibe-guard/releases/download/v1.1.3/vibe-guard-linux-x64 -o vibe-guard
|
|
35
|
-
chmod +x vibe-guard
|
|
36
|
-
./vibe-guard scan .
|
|
37
|
-
```
|
|
12
|
+
# Install globally
|
|
13
|
+
npm install -g vibe-guard
|
|
38
14
|
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
brew install Devjosef/tap/vibe-guard
|
|
15
|
+
# Scan your project
|
|
42
16
|
vibe-guard scan .
|
|
43
|
-
```
|
|
44
17
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
curl -fsSL https://raw.githubusercontent.com/Devjosef/vibe-guard/main/install.sh | sh
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Option 4: NPM
|
|
51
|
-
```bash
|
|
52
|
-
# One-time use
|
|
53
|
-
npx vibe-guard scan .
|
|
18
|
+
# Learn about security concepts
|
|
19
|
+
vibe-guard learn xss-detection
|
|
54
20
|
|
|
55
|
-
#
|
|
56
|
-
|
|
57
|
-
vibe-guard scan .
|
|
21
|
+
# Try with demo files
|
|
22
|
+
vibe-guard demo
|
|
58
23
|
```
|
|
59
24
|
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
docker run --rm -v $(pwd):/code vibe-guard/vibe-guard:1.1.3 scan /code
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## The 25 Security Rules (What It Actually Catches)
|
|
66
|
-
|
|
67
|
-
### 🚨 Critical Issues (7 Rules)
|
|
68
|
-
These will get you hacked. Fix them immediately.
|
|
69
|
-
|
|
70
|
-
- **Exposed Secrets**: API keys, tokens, credentials in code
|
|
71
|
-
- **Hardcoded Sensitive Data**: Database passwords, JWT secrets, encryption keys
|
|
72
|
-
- **XSS Detection**: Cross-site scripting vulnerabilities
|
|
73
|
-
|
|
74
|
-
### ⚠️ High-Risk Issues (12 Rules)
|
|
75
|
-
These are serious but won't immediately compromise your app.
|
|
76
|
-
|
|
77
|
-
- **Missing Authentication**: Unprotected admin routes and API endpoints
|
|
78
|
-
- **SQL Injection**: String concatenation in database queries
|
|
79
|
-
- **Directory Traversal**: Unsafe file path operations
|
|
80
|
-
- **Open CORS**: Wildcard origins that let anyone access your API
|
|
81
|
-
- **CSRF Protection**: Missing CSRF tokens in forms and unsafe cookies
|
|
82
|
-
- **Insecure Deserialization**: Unsafe JSON parsing and eval usage
|
|
83
|
-
- **Broken Access Control**: Missing authorization checks
|
|
84
|
-
- **Insecure File Upload**: Unsafe file handling and validation
|
|
85
|
-
- **Insecure Session Management**: Weak session secrets and insecure cookies
|
|
86
|
-
|
|
87
|
-
### 📋 Medium Issues (13 Rules)
|
|
88
|
-
These are security best practices that should be addressed.
|
|
89
|
-
|
|
90
|
-
- **Unvalidated Input**: Direct use of user input without checks
|
|
91
|
-
- **Insecure HTTP**: Using HTTP instead of HTTPS
|
|
92
|
-
- **Insecure Dependencies**: Outdated packages with known security issues
|
|
93
|
-
- **Missing Security Headers**: No helmet.js or manual security headers
|
|
94
|
-
- **Insecure Random Generation**: Using Math.random() for security purposes
|
|
95
|
-
- **Insecure Logging**: Sensitive data exposure in logs
|
|
96
|
-
- **Insecure Error Handling**: Stack trace and information disclosure
|
|
97
|
-
- **Insecure Configuration**: Debug mode and security features disabled
|
|
98
|
-
- **AI-Generated Code Validation**: Detecting potentially unsafe AI-generated code
|
|
99
|
-
- **AI Data Leakage Prevention**: Preventing sensitive data exposure in AI outputs
|
|
100
|
-
- **Prompt Injection Detection**: Detecting potential prompt injection vulnerabilities
|
|
101
|
-
- **AI Agent Access Control**: Ensuring proper access controls for AI agents
|
|
102
|
-
- **MCP Server Security**: Detecting insecure Model Context Protocol configurations
|
|
103
|
-
|
|
104
|
-
## Usage Examples
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
# Scan current directory (most common)
|
|
108
|
-
vibe-guard scan .
|
|
109
|
-
|
|
110
|
-
# Scan specific file
|
|
111
|
-
vibe-guard scan app.js
|
|
25
|
+
## Learning Security
|
|
112
26
|
|
|
113
|
-
|
|
114
|
-
vibe-guard scan . --format json # JSON for CI/CD
|
|
115
|
-
vibe-guard scan . --format sarif # SARIF for GitHub/SonarQube
|
|
116
|
-
vibe-guard scan . --format html # HTML report
|
|
27
|
+
Vibe-Guard is more than a scanner, it's an educational tool that teaches you about web security:
|
|
117
28
|
|
|
118
|
-
|
|
119
|
-
vibe-guard scan . --config vibe-guard.json
|
|
29
|
+
### **Understanding Vulnerabilities**
|
|
120
30
|
|
|
121
|
-
|
|
122
|
-
|
|
31
|
+
**XSS (Cross-Site Scripting):**
|
|
32
|
+
```javascript
|
|
33
|
+
// ❌ Vulnerable code
|
|
34
|
+
app.get('/user', (req, res) => {
|
|
35
|
+
const userInput = req.query.name;
|
|
36
|
+
res.send('<h1>Hello ' + userInput + '</h1>'); // XSS!
|
|
37
|
+
});
|
|
123
38
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
39
|
+
// ✅ Secure code
|
|
40
|
+
app.get('/user', (req, res) => {
|
|
41
|
+
const userInput = req.query.name;
|
|
42
|
+
res.send('<h1>Hello ' + escapeHtml(userInput) + '</h1>');
|
|
43
|
+
});
|
|
129
44
|
```
|
|
130
45
|
|
|
131
|
-
|
|
46
|
+
**SQL Injection:**
|
|
47
|
+
```javascript
|
|
48
|
+
// ❌ Vulnerable code
|
|
49
|
+
const query = 'SELECT * FROM users WHERE id = ' + userId; // SQL injection!
|
|
132
50
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
run: |
|
|
137
|
-
curl -L https://github.com/Devjosef/vibe-guard/releases/download/v1.1.3/vibe-guard-linux-x64 -o vibe-guard
|
|
138
|
-
chmod +x vibe-guard
|
|
139
|
-
./vibe-guard scan .
|
|
51
|
+
// ✅ Secure code
|
|
52
|
+
const query = 'SELECT * FROM users WHERE id = ?';
|
|
53
|
+
db.query(query, [userId]);
|
|
140
54
|
```
|
|
141
55
|
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
- curl -L https://github.com/Devjosef/vibe-guard/releases/download/v1.1.3/vibe-guard-linux-x64 -o vibe-guard
|
|
147
|
-
- chmod +x vibe-guard
|
|
148
|
-
- ./vibe-guard scan .
|
|
149
|
-
```
|
|
56
|
+
**Exposed Secrets:**
|
|
57
|
+
```javascript
|
|
58
|
+
// ❌ Vulnerable code
|
|
59
|
+
const API_KEY = 'sk-1234567890abcdef'; // Exposed in code!
|
|
150
60
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
- name: Security Scan
|
|
154
|
-
run: docker run --rm -v $(pwd):/code vibe-guard/vibe-guard:1.1.3 scan /code
|
|
61
|
+
// ✅ Secure code
|
|
62
|
+
const API_KEY = process.env.API_KEY; // Environment variable
|
|
155
63
|
```
|
|
156
64
|
|
|
157
|
-
|
|
65
|
+
### **Security Best Practices**
|
|
158
66
|
|
|
159
|
-
|
|
67
|
+
1. **Input Validation** - Always validate and sanitize user input
|
|
68
|
+
2. **Output Encoding** - Encode output to prevent XSS
|
|
69
|
+
3. **Parameterized Queries** - Use prepared statements for SQL
|
|
70
|
+
4. **Environment Variables** - Never hardcode secrets
|
|
71
|
+
5. **Security Headers** - Implement proper HTTP security headers
|
|
160
72
|
|
|
161
|
-
|
|
162
|
-
- **Detection Rate**: ~50-70% of potential issues (focused on real problems)
|
|
163
|
-
- **False Positive Rate**: Very low (designed for development workflows)
|
|
164
|
-
- **Performance**: Optimized scanning with streamlined detection patterns
|
|
165
|
-
- **Actionable Results**: Every issue includes specific fix suggestions
|
|
73
|
+
## Security Rules
|
|
166
74
|
|
|
167
|
-
|
|
168
|
-
Vibe-Guard automatically filters out:
|
|
169
|
-
- Comments and documentation
|
|
170
|
-
- Test files and development code
|
|
171
|
-
- Environment variables (`${VAR}`, `process.env.VAR`)
|
|
172
|
-
- Safe patterns (parameterized queries, HTTPS, etc.)
|
|
173
|
-
- Framework-specific safeguards
|
|
75
|
+
Vibe-Guard detects 25 types of vulnerabilities:
|
|
174
76
|
|
|
175
|
-
|
|
176
|
-
- **
|
|
177
|
-
- **
|
|
178
|
-
- **
|
|
77
|
+
- **Authentication & Authorization**: Missing authentication, broken access control
|
|
78
|
+
- **Input Validation**: SQL injection, XSS, unvalidated input
|
|
79
|
+
- **Data Protection**: Exposed secrets, hardcoded sensitive data
|
|
80
|
+
- **Configuration**: Insecure configuration, missing security headers
|
|
81
|
+
- **Session Management**: Insecure session handling
|
|
82
|
+
- **Error Handling**: Information disclosure through errors
|
|
83
|
+
- **File Operations**: Directory traversal, insecure file uploads
|
|
84
|
+
- **Dependencies**: Insecure dependencies, outdated packages
|
|
85
|
+
- **AI/ML Security**: AI-generated code validation, prompt injection
|
|
86
|
+
- **Modern Threats**: CSRF, CORS issues, insecure logging
|
|
179
87
|
|
|
180
|
-
##
|
|
88
|
+
## Use Cases
|
|
181
89
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
|
|
188
|
-
- **Java**: .java
|
|
189
|
-
- **C#**: .cs
|
|
190
|
-
- **Config files**: .json, .yaml, .yml, .env
|
|
191
|
-
|
|
192
|
-
## Development
|
|
193
|
-
|
|
194
|
-
Want to contribute or build from source?
|
|
90
|
+
**CI/CD Integration:**
|
|
91
|
+
```yaml
|
|
92
|
+
# GitHub Actions
|
|
93
|
+
- name: Security Scan
|
|
94
|
+
run: vibe-guard scan . --format sarif --output-file security-report.sarif
|
|
95
|
+
```
|
|
195
96
|
|
|
97
|
+
**Pre-commit Hook:**
|
|
196
98
|
```bash
|
|
197
|
-
#
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
npm run build
|
|
99
|
+
# .git/hooks/pre-commit
|
|
100
|
+
#!/bin/sh
|
|
101
|
+
vibe-guard scan . || exit 1
|
|
102
|
+
```
|
|
202
103
|
|
|
203
|
-
|
|
204
|
-
|
|
104
|
+
**Educational Tool:**
|
|
105
|
+
```bash
|
|
106
|
+
# Learn about security concepts
|
|
107
|
+
vibe-guard learn sql-injection
|
|
108
|
+
vibe-guard learn xss-detection
|
|
205
109
|
|
|
206
|
-
#
|
|
207
|
-
|
|
110
|
+
# Practice with demo files
|
|
111
|
+
vibe-guard demo
|
|
112
|
+
```
|
|
208
113
|
|
|
209
|
-
|
|
210
|
-
npm run docs:build
|
|
114
|
+
## Installation
|
|
211
115
|
|
|
212
|
-
|
|
213
|
-
|
|
116
|
+
**NPM:**
|
|
117
|
+
```bash
|
|
118
|
+
npm install -g vibe-guard
|
|
214
119
|
```
|
|
215
120
|
|
|
216
|
-
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
├── types/ # TypeScript definitions
|
|
220
|
-
├── rules/ # All 25 security rule implementations
|
|
221
|
-
├── bin/ # CLI interface
|
|
222
|
-
├── scanner.ts # File scanning engine
|
|
223
|
-
├── reporter.ts # Output formatting
|
|
224
|
-
├── config.ts # Configuration loader
|
|
225
|
-
└── index.ts # Main application
|
|
226
|
-
|
|
227
|
-
documents/ # Documentation website
|
|
228
|
-
├── index.html # Landing page
|
|
229
|
-
├── docs.html # Full documentation
|
|
230
|
-
├── performance.html # Performance benchmarks
|
|
231
|
-
├── rules.html # Security rules guide
|
|
232
|
-
└── styles.css # Styling
|
|
233
|
-
|
|
234
|
-
scripts/
|
|
235
|
-
├── benchmark.js # Performance testing
|
|
236
|
-
└── maintenance.js # Project maintenance
|
|
121
|
+
**Homebrew:**
|
|
122
|
+
```bash
|
|
123
|
+
brew install devjosef/tap/vibe-guard
|
|
237
124
|
```
|
|
238
125
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
### What You Get
|
|
242
|
-
- **Zero Setup**: Download and run, no dependencies
|
|
243
|
-
- **Fast Scanning**: Optimized patterns for speed
|
|
244
|
-
- **Real Issues**: Focused on actual vulnerabilities
|
|
245
|
-
- **Cross-Platform**: Works everywhere
|
|
246
|
-
- **CI/CD Ready**: Integrates seamlessly
|
|
247
|
-
- **Clear Fixes**: Every issue comes with specific solutions
|
|
248
|
-
|
|
249
|
-
### What You Don't Get
|
|
250
|
-
- Complex configuration files
|
|
251
|
-
- False positive spam
|
|
252
|
-
- Framework lock-in
|
|
253
|
-
- Slow scanning that kills your workflow
|
|
254
|
-
- Cryptic error messages
|
|
255
|
-
|
|
256
|
-
## Performance Benchmarks
|
|
257
|
-
|
|
258
|
-
Vibe-Guard is engineered for speed. Here's how it performs:
|
|
259
|
-
|
|
260
|
-
### ⚡ Speed Metrics
|
|
261
|
-
- **Startup Time**: ~41ms (near-instant)
|
|
262
|
-
- **Small Files (1KB)**: ~51ms (ultra-fast)
|
|
263
|
-
- **Medium Files (5KB)**: ~51ms (very fast)
|
|
264
|
-
- **Large Files (50KB)**: ~117ms (efficient)
|
|
265
|
-
- **Memory Usage**: ~56KB (ultra-low footprint)
|
|
266
|
-
|
|
267
|
-
### 🏃 Real-World Performance
|
|
268
|
-
- **Small Projects (1-10 files)**: Complete in under 200ms
|
|
269
|
-
- **Medium Projects (100-1000 files)**: Complete in 2-5 seconds
|
|
270
|
-
- **Large Projects (1000+ files)**: Complete in 8-20 seconds
|
|
271
|
-
- **Enterprise Codebases**: Handles 10,000+ files efficiently
|
|
272
|
-
|
|
273
|
-
### 📊 Run Your Own Benchmarks
|
|
126
|
+
**Direct Download:**
|
|
274
127
|
```bash
|
|
275
|
-
|
|
276
|
-
|
|
128
|
+
# Linux
|
|
129
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-linux-x64 -o vibe-guard
|
|
130
|
+
chmod +x vibe-guard
|
|
131
|
+
|
|
132
|
+
# macOS
|
|
133
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-macos-x64 -o vibe-guard
|
|
134
|
+
chmod +x vibe-guard
|
|
277
135
|
|
|
278
|
-
|
|
136
|
+
# Windows
|
|
137
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-windows-x64.exe -o vibe-guard.exe
|
|
138
|
+
```
|
|
279
139
|
|
|
280
|
-
|
|
281
|
-
|---------|------------|-------------|
|
|
282
|
-
| Setup Time | 0 seconds | Minutes |
|
|
283
|
-
| Startup Time | ~41ms | 2-5 seconds |
|
|
284
|
-
| Small File Scan | ~51ms | 500ms-2s |
|
|
285
|
-
| Large File Scan | ~117ms | 5-15s |
|
|
286
|
-
| Memory Usage | ~56KB | 50-200MB |
|
|
287
|
-
| Dependencies | Zero | 50-200 |
|
|
288
|
-
| False Positives | Minimal | High |
|
|
289
|
-
| Languages | All major ones | Limited |
|
|
290
|
-
| CI/CD Ready | ✅ Yes | ⚠️ Complex |
|
|
291
|
-
| Actually explains fixes | ✅ Yes | ❌ Cryptic |
|
|
292
|
-
| ARM64 Support | ✅ Yes | ❌ Limited |
|
|
293
|
-
| Security Rules | 25 comprehensive rules | Varies |
|
|
140
|
+
## Documentation
|
|
294
141
|
|
|
295
|
-
|
|
142
|
+
- **[Getting Started](https://devjosef.github.io/vibe-guard/getting-started.html)** - Complete setup guide
|
|
143
|
+
- **[Security Rules](https://devjosef.github.io/vibe-guard/rules.html)** - Detailed rule explanations
|
|
144
|
+
- **[Performance Guide](https://devjosef.github.io/vibe-guard/performance.html)** - Optimization tips
|
|
145
|
+
- **[API Reference](https://devjosef.github.io/vibe-guard/docs.html)** - Programmatic usage
|
|
296
146
|
|
|
297
|
-
|
|
298
|
-
- **Rapid prototyping** - Building something quick? Don't let security be an afterthought
|
|
299
|
-
- **No-code/Low-code folks** - Generated code can have issues, this catches them
|
|
300
|
-
- **Your CI/CD pipeline** - Catch problems before they hit production
|
|
301
|
-
- **Code reviews** - Run this before you submit that PR
|
|
302
|
-
- **Learning security** - Get real-time feedback on what can or is going wrong (and how to fix it)
|
|
147
|
+
## 🤝 Community
|
|
303
148
|
|
|
304
|
-
|
|
149
|
+
**Join us in making the web more secure:**
|
|
305
150
|
|
|
306
|
-
-
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
151
|
+
- **Learn**: `vibe-guard learn [topic]` - Understand security concepts
|
|
152
|
+
- **Demo**: `vibe-guard demo` - Try with example vulnerabilities
|
|
153
|
+
- **Stats**: `vibe-guard stats` - See your security impact
|
|
154
|
+
- **Discuss**: [GitHub Discussions](https://github.com/Devjosef/vibe-guard/discussions)
|
|
155
|
+
- **Report**: [GitHub Issues](https://github.com/Devjosef/vibe-guard/issues)
|
|
156
|
+
- **Star**: [GitHub Repository](https://github.com/Devjosef/vibe-guard)
|
|
310
157
|
|
|
311
|
-
##
|
|
158
|
+
## Why Vibe-Guard?
|
|
312
159
|
|
|
313
|
-
|
|
314
|
-
- **Configuration Files**: Full support for `vibe-guard.json` configuration
|
|
315
|
-
- **Multiple Output Formats**: Table, JSON, SARIF, and HTML reports
|
|
316
|
-
- **Documentation Site**: Beautiful, responsive documentation
|
|
317
|
-
- **Performance Benchmarks**: Comprehensive speed testing
|
|
318
|
-
- **GitHub Pages**: Automated deployment
|
|
160
|
+
**Built for developers who code fast and need security that keeps up:**
|
|
319
161
|
|
|
320
|
-
|
|
321
|
-
-
|
|
322
|
-
-
|
|
323
|
-
-
|
|
324
|
-
- **
|
|
162
|
+
- **Zero dependencies** - Lightweight and fast
|
|
163
|
+
- **25 security rules** - Comprehensive coverage
|
|
164
|
+
- **Cross-platform** - Works everywhere
|
|
165
|
+
- **Educational** - Learn while you scan
|
|
166
|
+
- **OWASP aligned** - Industry best practices
|
|
167
|
+
- **Developer-friendly** - Simple CLI interface
|
|
325
168
|
|
|
326
|
-
##
|
|
169
|
+
## Impact
|
|
327
170
|
|
|
328
|
-
|
|
329
|
-
2. **Improve Detection**: Help reduce false positives
|
|
330
|
-
3. **Add Languages**: Support more file types and frameworks
|
|
331
|
-
4. **Better UX**: Improve CLI and output formatting
|
|
171
|
+
Every scan makes the web a little more secure:
|
|
332
172
|
|
|
333
|
-
|
|
173
|
+
- **600+ total downloads** on NPM
|
|
174
|
+
- **25 security rules** covering modern threats
|
|
175
|
+
- **Cross-platform** support (Linux, macOS, Windows)
|
|
176
|
+
- **Zero dependencies** for maximum compatibility
|
|
177
|
+
- **Educational focus** - teaching security concepts
|
|
334
178
|
|
|
335
|
-
##
|
|
179
|
+
## License
|
|
336
180
|
|
|
337
|
-
MIT License -
|
|
181
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
338
182
|
|
|
339
183
|
---
|
|
340
184
|
|
|
341
|
-
**Built
|
|
342
|
-
|
|
343
|
-
*Security shouldn't slow you down, but security holes definitely will.*
|
|
185
|
+
**Built for the greater good, like curl for security scanning.**
|