vibe-guard 1.1.4 → 1.2.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/README.md +163 -283
- 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/container-registry-security.d.ts +21 -0
- package/dist/rules/container-registry-security.d.ts.map +1 -0
- package/dist/rules/container-registry-security.js +271 -0
- package/dist/rules/container-registry-security.js.map +1 -0
- 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/dockerfile-security.d.ts +20 -0
- package/dist/rules/dockerfile-security.d.ts.map +1 -0
- package/dist/rules/dockerfile-security.js +280 -0
- package/dist/rules/dockerfile-security.js.map +1 -0
- 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 +9 -1
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +25 -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/kubernetes-security.d.ts +17 -0
- package/dist/rules/kubernetes-security.d.ts.map +1 -0
- package/dist/rules/kubernetes-security.js +314 -0
- package/dist/rules/kubernetes-security.js.map +1 -0
- 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 +8 -3
- package/CHANGELOG.md +0 -102
package/README.md
CHANGED
|
@@ -1,343 +1,223 @@
|
|
|
1
|
-
# Vibe-Guard Security Scanner
|
|
1
|
+
# ██ Vibe-Guard Security Scanner
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Professional Security Scanner** - Zero dependencies, instant setup, works everywhere. Optimized performance for security scanning. Current ruleset: 28 essential security rules including container security.
|
|
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 .
|
|
12
|
+
# Install globally
|
|
13
|
+
npm install -g vibe-guard
|
|
32
14
|
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
chmod +x vibe-guard
|
|
36
|
-
./vibe-guard scan .
|
|
37
|
-
```
|
|
15
|
+
# Start interactive session
|
|
16
|
+
vibe-guard start
|
|
38
17
|
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
brew install Devjosef/tap/vibe-guard
|
|
18
|
+
# Scan your project
|
|
42
19
|
vibe-guard scan .
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Option 3: One-liner Install
|
|
46
|
-
```bash
|
|
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 .
|
|
54
20
|
|
|
55
|
-
#
|
|
56
|
-
|
|
57
|
-
vibe-guard scan .
|
|
58
|
-
```
|
|
21
|
+
# Learn about security concepts
|
|
22
|
+
vibe-guard learn xss-detection
|
|
59
23
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
docker run --rm -v $(pwd):/code vibe-guard/vibe-guard:1.1.3 scan /code
|
|
24
|
+
# Try with demo files
|
|
25
|
+
vibe-guard demo
|
|
63
26
|
```
|
|
64
27
|
|
|
65
|
-
##
|
|
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 .
|
|
28
|
+
## Interactive Security Learning
|
|
109
29
|
|
|
110
|
-
|
|
111
|
-
vibe-guard scan app.js
|
|
30
|
+
Vibe-Guard is more than a scanner—it's an educational platform that teaches you about web security through hands-on experience:
|
|
112
31
|
|
|
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
|
|
32
|
+
### Understanding Vulnerabilities
|
|
117
33
|
|
|
118
|
-
|
|
119
|
-
|
|
34
|
+
**XSS (Cross-Site Scripting):**
|
|
35
|
+
```javascript
|
|
36
|
+
// ❌ Vulnerable code
|
|
37
|
+
app.get('/user', (req, res) => {
|
|
38
|
+
const userInput = req.query.name;
|
|
39
|
+
res.send('<h1>Hello ' + userInput + '</h1>'); // XSS vulnerability!
|
|
40
|
+
});
|
|
120
41
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
# Run performance benchmarks
|
|
128
|
-
npm run benchmark
|
|
42
|
+
// ✅ Secure code
|
|
43
|
+
app.get('/user', (req, res) => {
|
|
44
|
+
const userInput = req.query.name;
|
|
45
|
+
res.send('<h1>Hello ' + escapeHtml(userInput) + '</h1>');
|
|
46
|
+
});
|
|
129
47
|
```
|
|
130
48
|
|
|
131
|
-
|
|
49
|
+
**SQL Injection:**
|
|
50
|
+
```javascript
|
|
51
|
+
// ❌ Vulnerable code
|
|
52
|
+
const query = 'SELECT * FROM users WHERE id = ' + userId; // SQL injection risk!
|
|
132
53
|
|
|
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 .
|
|
54
|
+
// ✅ Secure code
|
|
55
|
+
const query = 'SELECT * FROM users WHERE id = ?';
|
|
56
|
+
db.query(query, [userId]);
|
|
140
57
|
```
|
|
141
58
|
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
59
|
+
**Exposed Secrets:**
|
|
60
|
+
```javascript
|
|
61
|
+
// ❌ Vulnerable code
|
|
62
|
+
const API_KEY = 'sk-1234567890abcdef'; // Secret exposed in source code!
|
|
63
|
+
|
|
64
|
+
// ✅ Secure code
|
|
65
|
+
const API_KEY = process.env.API_KEY; // Environment variable
|
|
149
66
|
```
|
|
150
67
|
|
|
151
|
-
|
|
68
|
+
**Container Security:**
|
|
152
69
|
```yaml
|
|
153
|
-
|
|
154
|
-
|
|
70
|
+
# ❌ Vulnerable Kubernetes manifest
|
|
71
|
+
apiVersion: apps/v1
|
|
72
|
+
kind: Deployment
|
|
73
|
+
spec:
|
|
74
|
+
template:
|
|
75
|
+
spec:
|
|
76
|
+
containers:
|
|
77
|
+
- name: app
|
|
78
|
+
image: nginx:latest # Latest tag vulnerability
|
|
79
|
+
securityContext:
|
|
80
|
+
runAsUser: 0 # Root user vulnerability
|
|
81
|
+
privileged: true # Privileged container vulnerability
|
|
82
|
+
|
|
83
|
+
# ✅ Secure Kubernetes manifest
|
|
84
|
+
apiVersion: apps/v1
|
|
85
|
+
kind: Deployment
|
|
86
|
+
spec:
|
|
87
|
+
template:
|
|
88
|
+
spec:
|
|
89
|
+
containers:
|
|
90
|
+
- name: app
|
|
91
|
+
image: nginx:1.21.6@sha256:abc123... # Pinned digest
|
|
92
|
+
securityContext:
|
|
93
|
+
runAsUser: 1000 # Non-root user
|
|
94
|
+
runAsNonRoot: true
|
|
95
|
+
allowPrivilegeEscalation: false
|
|
155
96
|
```
|
|
156
97
|
|
|
157
|
-
|
|
98
|
+
### Security Best Practices
|
|
158
99
|
|
|
159
|
-
|
|
100
|
+
1. **Input Validation** - Always validate and sanitize user input
|
|
101
|
+
2. **Output Encoding** - Encode output to prevent XSS attacks
|
|
102
|
+
3. **Parameterized Queries** - Use prepared statements for database operations
|
|
103
|
+
4. **Environment Variables** - Never hardcode secrets in source code
|
|
104
|
+
5. **Security Headers** - Implement proper HTTP security headers
|
|
105
|
+
6. **Container Security** - Use non-root users, pinned image digests, and proper security contexts
|
|
160
106
|
|
|
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
|
|
107
|
+
## Comprehensive Security Coverage
|
|
166
108
|
|
|
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
|
|
109
|
+
Vibe-Guard detects 28 types of vulnerabilities across multiple categories:
|
|
174
110
|
|
|
175
|
-
|
|
176
|
-
- **
|
|
177
|
-
- **
|
|
178
|
-
- **
|
|
111
|
+
- **Authentication & Authorization**: Missing authentication, broken access control, session management
|
|
112
|
+
- **Input Validation**: SQL injection, XSS, unvalidated input, directory traversal
|
|
113
|
+
- **Data Protection**: Exposed secrets, hardcoded sensitive data, insecure logging
|
|
114
|
+
- **Configuration**: Insecure configuration, missing security headers, CORS issues
|
|
115
|
+
- **Modern Threats**: CSRF protection, AI-generated code validation, prompt injection
|
|
116
|
+
- **Dependencies**: Insecure dependencies, outdated packages, vulnerability assessment
|
|
117
|
+
- **Container Security**: Kubernetes security, Dockerfile vulnerabilities, container registry issues
|
|
179
118
|
|
|
180
|
-
##
|
|
119
|
+
## Professional Use Cases
|
|
181
120
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
|
|
188
|
-
- **Java**: .java
|
|
189
|
-
- **C#**: .cs
|
|
190
|
-
- **Config files**: .json, .yaml, .yml, .env
|
|
191
|
-
|
|
192
|
-
## Development
|
|
121
|
+
**CI/CD Integration:**
|
|
122
|
+
```yaml
|
|
123
|
+
# GitHub Actions
|
|
124
|
+
- name: Security Scan
|
|
125
|
+
run: vibe-guard scan . --format sarif --output-file security-report.sarif
|
|
126
|
+
```
|
|
193
127
|
|
|
194
|
-
|
|
128
|
+
**Pre-commit Hook:**
|
|
129
|
+
```bash
|
|
130
|
+
# .git/hooks/pre-commit
|
|
131
|
+
#!/bin/sh
|
|
132
|
+
vibe-guard scan . || exit 1
|
|
133
|
+
```
|
|
195
134
|
|
|
135
|
+
**Interactive Learning:**
|
|
196
136
|
```bash
|
|
197
|
-
#
|
|
198
|
-
|
|
199
|
-
cd vibe-guard
|
|
200
|
-
npm install
|
|
201
|
-
npm run build
|
|
137
|
+
# Start interactive session
|
|
138
|
+
vibe-guard start
|
|
202
139
|
|
|
203
|
-
#
|
|
204
|
-
|
|
140
|
+
# Learn specific security concepts
|
|
141
|
+
vibe-guard learn sql-injection
|
|
142
|
+
vibe-guard learn xss-detection
|
|
205
143
|
|
|
206
|
-
#
|
|
207
|
-
|
|
144
|
+
# Practice with demo files
|
|
145
|
+
vibe-guard demo
|
|
146
|
+
```
|
|
208
147
|
|
|
209
|
-
|
|
210
|
-
npm run docs:build
|
|
148
|
+
## Installation Options
|
|
211
149
|
|
|
212
|
-
|
|
213
|
-
|
|
150
|
+
**NPM (Recommended):**
|
|
151
|
+
```bash
|
|
152
|
+
npm install -g vibe-guard
|
|
214
153
|
```
|
|
215
154
|
|
|
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
|
|
155
|
+
**Homebrew:**
|
|
156
|
+
```bash
|
|
157
|
+
brew install devjosef/tap/vibe-guard
|
|
237
158
|
```
|
|
238
159
|
|
|
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
|
|
160
|
+
**Direct Download:**
|
|
274
161
|
```bash
|
|
275
|
-
|
|
276
|
-
|
|
162
|
+
# Linux
|
|
163
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-linux-x64 -o vibe-guard
|
|
164
|
+
chmod +x vibe-guard
|
|
165
|
+
|
|
166
|
+
# macOS
|
|
167
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-macos-x64 -o vibe-guard
|
|
168
|
+
chmod +x vibe-guard
|
|
277
169
|
|
|
278
|
-
|
|
279
|
-
|
|
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 |
|
|
294
|
-
|
|
295
|
-
## Who This Is For
|
|
296
|
-
|
|
297
|
-
- **When you're coding with AI** - ChatGPT and Copilot are amazing, but they sometimes miss security basics
|
|
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)
|
|
170
|
+
# Windows
|
|
171
|
+
curl -L https://github.com/Devjosef/vibe-guard/releases/latest/download/vibe-guard-windows-x64.exe -o vibe-guard.exe
|
|
172
|
+
```
|
|
303
173
|
|
|
304
174
|
## Documentation & Resources
|
|
305
175
|
|
|
306
|
-
-
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
176
|
+
- **[Getting Started](https://devjosef.github.io/vibe-guard/getting-started.html)** - Complete setup and configuration guide
|
|
177
|
+
- **[Security Rules](https://devjosef.github.io/vibe-guard/rules.html)** - Detailed rule explanations and examples
|
|
178
|
+
- **[Performance Guide](https://devjosef.github.io/vibe-guard/performance.html)** - Optimization and best practices
|
|
179
|
+
- **[API Reference](https://devjosef.github.io/vibe-guard/docs.html)** - Programmatic usage and integration
|
|
310
180
|
|
|
311
|
-
##
|
|
181
|
+
## Community & Support
|
|
312
182
|
|
|
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
|
|
183
|
+
**Join our community of security professionals and developers:**
|
|
319
184
|
|
|
320
|
-
|
|
321
|
-
- **
|
|
322
|
-
- **
|
|
323
|
-
- **Performance
|
|
324
|
-
- **
|
|
185
|
+
- **Interactive Learning**: `vibe-guard start` - Begin your security journey
|
|
186
|
+
- **Educational Commands**: `vibe-guard learn [topic]` - Master security concepts
|
|
187
|
+
- **Hands-on Practice**: `vibe-guard demo` - Test with example vulnerabilities
|
|
188
|
+
- **Performance Insights**: `vibe-guard stats` - Track your security impact
|
|
189
|
+
- **Community Discussion**: [GitHub Discussions](https://github.com/Devjosef/vibe-guard/discussions)
|
|
190
|
+
- **Issue Reporting**: [GitHub Issues](https://github.com/Devjosef/vibe-guard/issues)
|
|
191
|
+
- **Repository**: [GitHub Repository](https://github.com/Devjosef/vibe-guard)
|
|
192
|
+
|
|
193
|
+
## Why Choose Vibe-Guard?
|
|
325
194
|
|
|
326
|
-
|
|
195
|
+
**Built for developers who code fast and need security that keeps up:**
|
|
327
196
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
197
|
+
- **Zero Dependencies** - Lightweight, fast, and reliable
|
|
198
|
+
- **28 Security Rules** - Comprehensive coverage of modern threats including container security
|
|
199
|
+
- **Cross-Platform** - Works seamlessly across all operating systems
|
|
200
|
+
- **Educational Focus** - Learn security while you scan
|
|
201
|
+
- **OWASP Aligned** - Industry best practices and standards
|
|
202
|
+
- **Developer-Friendly** - Simple, intuitive CLI interface
|
|
203
|
+
- **Interactive Mode** - Guided learning with `vibe-guard start`
|
|
204
|
+
- **Container Security** - Kubernetes, Dockerfile, and registry security scanning
|
|
332
205
|
|
|
333
|
-
|
|
206
|
+
## Impact & Adoption
|
|
207
|
+
|
|
208
|
+
Every scan contributes to a more secure web ecosystem:
|
|
209
|
+
|
|
210
|
+
- **500+ total downloads** on NPM with growing adoption
|
|
211
|
+
- **28 security rules** covering contemporary threat vectors including container security
|
|
212
|
+
- **Cross-platform support** for Linux, macOS, and Windows
|
|
213
|
+
- **Zero dependencies** ensuring maximum compatibility
|
|
214
|
+
- **Educational approach** - building security awareness
|
|
215
|
+
- **Container security** - Kubernetes, Dockerfile, and registry vulnerability detection
|
|
334
216
|
|
|
335
217
|
## License
|
|
336
218
|
|
|
337
|
-
MIT License -
|
|
219
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
338
220
|
|
|
339
221
|
---
|
|
340
222
|
|
|
341
|
-
**Built
|
|
342
|
-
|
|
343
|
-
*Security shouldn't slow you down, but security holes definitely will.*
|
|
223
|
+
**Built for the greater good, like curl for security scanning.**
|