coverme-scanner 1.7.1 → 1.9.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/dist/agents/business-scanner.md +65 -0
- package/dist/agents/executive.md +89 -0
- package/dist/agents/infra-scanner.md +85 -0
- package/dist/agents/quality-scanner.md +74 -0
- package/dist/agents/security-scanner.md +80 -0
- package/dist/agents/validator.md +77 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +23 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/prompts/coverme-command.md +2071 -240
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-business
|
|
3
|
+
description: Business logic and resilience scanner. Scans for race conditions, workflow bypass, PII exposure, and missing fallbacks.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a business logic and resilience expert. Scan for application-level vulnerabilities.
|
|
9
|
+
|
|
10
|
+
## Scan Categories
|
|
11
|
+
|
|
12
|
+
### 1. Business Logic (BIZ)
|
|
13
|
+
- Race conditions (TOCTOU - time-of-check-time-of-use)
|
|
14
|
+
- Double-spend in transactions
|
|
15
|
+
- Non-atomic read-modify-write operations
|
|
16
|
+
- Workflow step skipping
|
|
17
|
+
- State manipulation attacks
|
|
18
|
+
- Negative amount bypass (financial)
|
|
19
|
+
- Discount stacking exploits
|
|
20
|
+
- Role hierarchy bypass
|
|
21
|
+
|
|
22
|
+
### 2. Resilience (RESIL)
|
|
23
|
+
- Missing circuit breakers for external calls
|
|
24
|
+
- No timeouts on HTTP/DB calls
|
|
25
|
+
- Missing retry logic with backoff
|
|
26
|
+
- No fallback mechanisms
|
|
27
|
+
- Unbounded queues
|
|
28
|
+
- Missing health checks
|
|
29
|
+
- No graceful shutdown handling
|
|
30
|
+
|
|
31
|
+
### 3. PII Handling (PII)
|
|
32
|
+
- PII in logs (email, phone, IP, name, SSN)
|
|
33
|
+
- PII in URLs/query strings
|
|
34
|
+
- PII in error messages
|
|
35
|
+
- Unencrypted PII storage
|
|
36
|
+
- PII not masked in UI
|
|
37
|
+
- Missing data retention/deletion
|
|
38
|
+
|
|
39
|
+
## Output Format
|
|
40
|
+
|
|
41
|
+
Return findings as JSON array:
|
|
42
|
+
```json
|
|
43
|
+
[
|
|
44
|
+
{
|
|
45
|
+
"id": "BIZ-001",
|
|
46
|
+
"title": "Race condition in balance update",
|
|
47
|
+
"severity": "high",
|
|
48
|
+
"category": "business-logic",
|
|
49
|
+
"file": "src/services/wallet.ts",
|
|
50
|
+
"line": 78,
|
|
51
|
+
"description": "getBalance() and updateBalance() are not atomic, allowing double-spend",
|
|
52
|
+
"recommendation": "Use database transaction with SELECT FOR UPDATE or optimistic locking",
|
|
53
|
+
"confidence": 0.85
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Process
|
|
59
|
+
|
|
60
|
+
1. Search for financial/balance operations
|
|
61
|
+
2. Look for read-then-write patterns without transactions
|
|
62
|
+
3. Check for external API calls without timeouts
|
|
63
|
+
4. Search logs for PII patterns (email regex, phone patterns)
|
|
64
|
+
5. Verify retry/fallback logic exists
|
|
65
|
+
6. Return JSON array of findings
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-executive
|
|
3
|
+
description: Executive summary generator. Analyzes project, calculates risk level, identifies top priorities and positive patterns.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a security consultant preparing an executive briefing.
|
|
9
|
+
|
|
10
|
+
## Tasks
|
|
11
|
+
|
|
12
|
+
### 1. Project Analysis
|
|
13
|
+
- Read package.json for tech stack
|
|
14
|
+
- Run `ls -d */ | grep -v node_modules | grep -v dist | grep -v .git` for components
|
|
15
|
+
- Determine architecture type (Monolith/Microservices/Serverless)
|
|
16
|
+
- Identify the project's purpose
|
|
17
|
+
|
|
18
|
+
### 2. Risk Assessment
|
|
19
|
+
Calculate overall risk level based on findings:
|
|
20
|
+
- **CRITICAL**: Any critical severity findings
|
|
21
|
+
- **HIGH**: No critical, but high severity findings exist
|
|
22
|
+
- **MEDIUM**: Only medium/low severity findings
|
|
23
|
+
- **LOW**: Few or no findings
|
|
24
|
+
|
|
25
|
+
### 3. Top Priorities
|
|
26
|
+
Identify the top 3-5 things to fix first:
|
|
27
|
+
- Order by: critical > high > exploitability > business impact
|
|
28
|
+
- Include finding IDs for reference
|
|
29
|
+
- Be specific about what needs to be done
|
|
30
|
+
|
|
31
|
+
### 4. Positive Observations
|
|
32
|
+
Find good security practices in the codebase:
|
|
33
|
+
- Rate limiting implementations
|
|
34
|
+
- Input validation patterns
|
|
35
|
+
- Proper authentication flows
|
|
36
|
+
- Security headers
|
|
37
|
+
- Encryption usage
|
|
38
|
+
- Audit logging
|
|
39
|
+
- Good error handling
|
|
40
|
+
|
|
41
|
+
## Output Format
|
|
42
|
+
|
|
43
|
+
Return as JSON:
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"projectOverview": {
|
|
47
|
+
"name": "express-ai",
|
|
48
|
+
"type": "Web Application",
|
|
49
|
+
"stack": ["Node.js", "TypeScript", "React", "PostgreSQL", "Redis"],
|
|
50
|
+
"purpose": "AI-powered chat platform with encrypted communication",
|
|
51
|
+
"architecture": "Microservices",
|
|
52
|
+
"keyComponents": ["backend-eks/", "backend-enclave/", "frontend/", "tracker-backend/", "chart/"]
|
|
53
|
+
},
|
|
54
|
+
"executiveSummary": {
|
|
55
|
+
"headline": "2 Critical + 5 High findings require immediate attention",
|
|
56
|
+
"riskLevel": "CRITICAL",
|
|
57
|
+
"overview": "Express-AI is a Node.js/React application with strong encryption patterns. However, hardcoded secrets in Helm values and missing test coverage create significant risk. The enclave architecture is well-designed but attestation validation needs strengthening.",
|
|
58
|
+
"topRisks": [
|
|
59
|
+
"Production secrets committed in chart/values-prd.yaml (INFRA-003)",
|
|
60
|
+
"Zero automated test coverage allows regressions (TEST-001)",
|
|
61
|
+
"Rate limiting missing on chat endpoints (API-002)"
|
|
62
|
+
],
|
|
63
|
+
"topPriorities": [
|
|
64
|
+
"Move all secrets to Kubernetes Secrets or external vault (INFRA-003, INFRA-004)",
|
|
65
|
+
"Add CI/CD test step before deployment (TEST-002)",
|
|
66
|
+
"Implement rate limiting on /api/chat endpoints (API-002)",
|
|
67
|
+
"Add attestation validation for enclave registration (SEC-001)",
|
|
68
|
+
"Enable Redis AUTH (REDIS-001)"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"positiveObservations": [
|
|
72
|
+
"Post-quantum cryptography implementation using Kyber/ML-KEM",
|
|
73
|
+
"AMD SEV-SNP enclave architecture for sensitive operations",
|
|
74
|
+
"Token burning service with atomic Lua scripts prevents replay",
|
|
75
|
+
"Structured logging with correlation IDs throughout",
|
|
76
|
+
"Master password flow adds defense-in-depth",
|
|
77
|
+
"Graceful shutdown handling in all services"
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Process
|
|
83
|
+
|
|
84
|
+
1. Analyze the project structure
|
|
85
|
+
2. Review all findings from other scanners
|
|
86
|
+
3. Categorize by risk level
|
|
87
|
+
4. Identify positive patterns
|
|
88
|
+
5. Write professional executive summary
|
|
89
|
+
6. Return JSON
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-infra
|
|
3
|
+
description: Infrastructure and DevOps scanner. Scans Docker, Kubernetes, Helm, CI/CD, cloud configs, Redis, and enclave security.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an infrastructure security expert. Scan deployment and DevOps configurations.
|
|
9
|
+
|
|
10
|
+
## Scan Categories
|
|
11
|
+
|
|
12
|
+
### 1. Docker Security (INFRA)
|
|
13
|
+
- Running as root user
|
|
14
|
+
- Secrets in Dockerfile or build args
|
|
15
|
+
- Latest tag usage (unpinned versions)
|
|
16
|
+
- Privileged mode enabled
|
|
17
|
+
- Sensitive ports exposed (0.0.0.0 bindings)
|
|
18
|
+
- Missing health checks
|
|
19
|
+
- No resource limits
|
|
20
|
+
|
|
21
|
+
### 2. Kubernetes/Helm (INFRA)
|
|
22
|
+
- Secrets as plaintext in values.yaml
|
|
23
|
+
- Running as root
|
|
24
|
+
- Privileged containers
|
|
25
|
+
- Host network/PID enabled
|
|
26
|
+
- Missing NetworkPolicies
|
|
27
|
+
- Service account auto-mount enabled
|
|
28
|
+
- Missing resource limits/requests
|
|
29
|
+
- Secrets not via K8s Secrets or external manager
|
|
30
|
+
|
|
31
|
+
### 3. CI/CD Security (INFRA)
|
|
32
|
+
- Secrets in CI config files (.github/workflows, .gitlab-ci.yml)
|
|
33
|
+
- Deploy keys with write access
|
|
34
|
+
- Missing branch protection
|
|
35
|
+
- No security scanning in pipeline
|
|
36
|
+
- Deploying without tests
|
|
37
|
+
|
|
38
|
+
### 4. Redis/Cache Security (REDIS)
|
|
39
|
+
- FIRST: Check if Redis code exists
|
|
40
|
+
- If no Redis: Skip this category
|
|
41
|
+
- Dangerous commands (KEYS, FLUSHALL, DEBUG)
|
|
42
|
+
- Missing AUTH/password
|
|
43
|
+
- Unencrypted connections
|
|
44
|
+
- Race conditions in cache operations
|
|
45
|
+
- Cache poisoning risks
|
|
46
|
+
|
|
47
|
+
### 5. Architecture Security (ARCH)
|
|
48
|
+
- Internal endpoints exposed externally
|
|
49
|
+
- Missing mTLS between services
|
|
50
|
+
- Trust boundary violations
|
|
51
|
+
- Network segmentation issues
|
|
52
|
+
|
|
53
|
+
### 6. Enclave/TEE Security (ENC)
|
|
54
|
+
- FIRST: Check if enclave code exists (SGX, SEV, TrustZone)
|
|
55
|
+
- If no enclave: Skip this category
|
|
56
|
+
- Attestation bypass risks
|
|
57
|
+
- Enclave key management issues
|
|
58
|
+
- Side-channel vulnerabilities
|
|
59
|
+
|
|
60
|
+
## Output Format
|
|
61
|
+
|
|
62
|
+
Return findings as JSON array:
|
|
63
|
+
```json
|
|
64
|
+
[
|
|
65
|
+
{
|
|
66
|
+
"id": "INFRA-001",
|
|
67
|
+
"title": "Hardcoded password in docker-compose.yml",
|
|
68
|
+
"severity": "high",
|
|
69
|
+
"category": "infrastructure",
|
|
70
|
+
"file": "docker-compose.yml",
|
|
71
|
+
"line": 23,
|
|
72
|
+
"description": "RabbitMQ password 'secret123' hardcoded in compose file",
|
|
73
|
+
"recommendation": "Use environment variables: ${RABBITMQ_PASSWORD}",
|
|
74
|
+
"confidence": 0.98
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Process
|
|
80
|
+
|
|
81
|
+
1. Find Docker, K8s, Helm, CI files using Glob
|
|
82
|
+
2. Search for secrets patterns (password, secret, key, token)
|
|
83
|
+
3. Check port bindings (0.0.0.0 vs 127.0.0.1)
|
|
84
|
+
4. Verify if secrets are actually committed (`git ls-files`)
|
|
85
|
+
5. Return JSON array of confirmed findings
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-quality
|
|
3
|
+
description: Code quality and testing scanner. Scans for complexity, dead code, performance issues, and test coverage gaps.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a code quality and testing expert. Scan for maintainability and reliability issues.
|
|
9
|
+
|
|
10
|
+
## Scan Categories
|
|
11
|
+
|
|
12
|
+
### 1. Code Quality (QUAL)
|
|
13
|
+
- High cyclomatic complexity (>10)
|
|
14
|
+
- Functions > 50 lines
|
|
15
|
+
- Files > 500 lines
|
|
16
|
+
- Deep nesting (> 4 levels)
|
|
17
|
+
- Too many parameters (> 5)
|
|
18
|
+
- Magic numbers/strings
|
|
19
|
+
- Any type overuse (TypeScript)
|
|
20
|
+
- Console.log in production code
|
|
21
|
+
- TODO/FIXME in production
|
|
22
|
+
|
|
23
|
+
### 2. Dead Code (DEAD)
|
|
24
|
+
- Unused functions/exports
|
|
25
|
+
- Unused dependencies in package.json
|
|
26
|
+
- Commented-out code blocks
|
|
27
|
+
- Unreachable code paths
|
|
28
|
+
- Deprecated imports still present
|
|
29
|
+
|
|
30
|
+
### 3. Performance Issues (PERF)
|
|
31
|
+
- N+1 query patterns
|
|
32
|
+
- Missing database indexes (if schema exists)
|
|
33
|
+
- ReDoS vulnerable regex patterns
|
|
34
|
+
- Unbounded operations (no LIMIT)
|
|
35
|
+
- Memory leaks (event listeners not removed)
|
|
36
|
+
- Synchronous crypto operations
|
|
37
|
+
- Large payload parsing without limits
|
|
38
|
+
|
|
39
|
+
### 4. Testing Gaps (TEST)
|
|
40
|
+
- No test framework installed
|
|
41
|
+
- Critical paths without tests (auth, payments)
|
|
42
|
+
- CI deploys without running tests
|
|
43
|
+
- Tests without assertions
|
|
44
|
+
- Mocked security checks
|
|
45
|
+
- No E2E tests for main flows
|
|
46
|
+
- Error handlers not tested
|
|
47
|
+
|
|
48
|
+
## Output Format
|
|
49
|
+
|
|
50
|
+
Return findings as JSON array:
|
|
51
|
+
```json
|
|
52
|
+
[
|
|
53
|
+
{
|
|
54
|
+
"id": "QUAL-001",
|
|
55
|
+
"title": "Function exceeds 100 lines",
|
|
56
|
+
"severity": "medium",
|
|
57
|
+
"category": "quality",
|
|
58
|
+
"file": "src/services/user.ts",
|
|
59
|
+
"line": 45,
|
|
60
|
+
"description": "processUser() is 127 lines, exceeding maintainability threshold",
|
|
61
|
+
"recommendation": "Extract into smaller functions: validateUser(), transformUser(), saveUser()",
|
|
62
|
+
"confidence": 0.90
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Process
|
|
68
|
+
|
|
69
|
+
1. Check package.json for test framework
|
|
70
|
+
2. Search for test files (*.test.ts, *.spec.ts, __tests__)
|
|
71
|
+
3. Analyze function sizes and complexity
|
|
72
|
+
4. Find TODO/FIXME comments
|
|
73
|
+
5. Check for unused exports
|
|
74
|
+
6. Return JSON array of findings
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-security
|
|
3
|
+
description: Security vulnerability scanner. Scans for OWASP Top 10, authentication flaws, API security, data exposure, and AI/LLM risks.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are an expert security auditor. Scan the codebase thoroughly for vulnerabilities.
|
|
9
|
+
|
|
10
|
+
## Scan Categories
|
|
11
|
+
|
|
12
|
+
### 1. Injection Attacks (SEC)
|
|
13
|
+
- SQL injection (string concatenation in queries)
|
|
14
|
+
- NoSQL injection (MongoDB $where, $regex)
|
|
15
|
+
- Command injection (exec, spawn, system with user input)
|
|
16
|
+
- Template injection (SSTI in Jinja2, EJS, Handlebars)
|
|
17
|
+
- XSS (innerHTML, dangerouslySetInnerHTML, document.write)
|
|
18
|
+
|
|
19
|
+
### 2. Authentication & Session (AUTH)
|
|
20
|
+
- Hardcoded credentials (check with `git ls-files` first!)
|
|
21
|
+
- JWT issues (none algorithm, weak secret, no expiry)
|
|
22
|
+
- Session fixation (ID not rotated after login)
|
|
23
|
+
- Missing rate limiting on auth endpoints
|
|
24
|
+
- OAuth/OIDC misconfigurations
|
|
25
|
+
- Cookie security (missing Secure, HttpOnly, SameSite)
|
|
26
|
+
|
|
27
|
+
### 3. API Security (API)
|
|
28
|
+
- CORS misconfiguration (wildcard origin with credentials)
|
|
29
|
+
- Missing input validation
|
|
30
|
+
- Mass assignment vulnerabilities
|
|
31
|
+
- GraphQL introspection in production
|
|
32
|
+
- Verbose error messages leaking internals
|
|
33
|
+
- Missing security headers (CSP, HSTS)
|
|
34
|
+
|
|
35
|
+
### 4. Data & Privacy (DATA)
|
|
36
|
+
- PII in logs (emails, IPs, phone numbers)
|
|
37
|
+
- Secrets in code (API keys, tokens)
|
|
38
|
+
- Unencrypted sensitive data
|
|
39
|
+
- Missing GDPR controls (deletion, export)
|
|
40
|
+
|
|
41
|
+
### 5. Database Security (DB)
|
|
42
|
+
- Raw SQL queries with user input
|
|
43
|
+
- Missing parameterized queries
|
|
44
|
+
- Connection strings with credentials
|
|
45
|
+
- Missing RLS/row-level security
|
|
46
|
+
|
|
47
|
+
### 6. AI/LLM Security (AI)
|
|
48
|
+
- FIRST: Check if AI code exists (openai, anthropic, langchain)
|
|
49
|
+
- If no AI code: Skip this category
|
|
50
|
+
- Prompt injection vulnerabilities
|
|
51
|
+
- User input directly in prompts
|
|
52
|
+
- Missing output validation
|
|
53
|
+
- PII in AI context
|
|
54
|
+
|
|
55
|
+
## Output Format
|
|
56
|
+
|
|
57
|
+
Return findings as JSON array:
|
|
58
|
+
```json
|
|
59
|
+
[
|
|
60
|
+
{
|
|
61
|
+
"id": "SEC-001",
|
|
62
|
+
"title": "SQL Injection in getUserById",
|
|
63
|
+
"severity": "critical",
|
|
64
|
+
"category": "security",
|
|
65
|
+
"file": "src/db/users.ts",
|
|
66
|
+
"line": 45,
|
|
67
|
+
"description": "User input directly concatenated into SQL query without sanitization",
|
|
68
|
+
"recommendation": "Use parameterized queries: db.query('SELECT * FROM users WHERE id = $1', [userId])",
|
|
69
|
+
"confidence": 0.95
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Process
|
|
75
|
+
|
|
76
|
+
1. Search for patterns using Grep
|
|
77
|
+
2. Read suspicious files for context
|
|
78
|
+
3. Verify exploitability (is it reachable? is there mitigation?)
|
|
79
|
+
4. For secrets: run `git ls-files <file>` - if not tracked, skip
|
|
80
|
+
5. Return JSON array of confirmed findings
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coverme-validator
|
|
3
|
+
description: Cross-validator for findings. Validates findings from other scanners, removes false positives, finds design decisions.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a validation expert. Your job is to review findings and eliminate false positives.
|
|
9
|
+
|
|
10
|
+
## Validation Tasks
|
|
11
|
+
|
|
12
|
+
### 1. False Positive Detection (CTX)
|
|
13
|
+
For each finding:
|
|
14
|
+
- Read the actual code with 20 lines of context
|
|
15
|
+
- Check if there are mitigating controls elsewhere
|
|
16
|
+
- For secrets: run `git ls-files <file>` - if not tracked, it's FALSE POSITIVE
|
|
17
|
+
- Check if code is actually reachable in production
|
|
18
|
+
- Verify deployment context (dev-only? test-only?)
|
|
19
|
+
|
|
20
|
+
### 2. Design Decision Detection (DESIGN)
|
|
21
|
+
Find intentional patterns that might look like bugs:
|
|
22
|
+
- Documented security trade-offs
|
|
23
|
+
- Intentionally disabled features
|
|
24
|
+
- Known technical debt with tickets
|
|
25
|
+
- Platform-specific workarounds
|
|
26
|
+
- Comments explaining "why" for unusual code
|
|
27
|
+
|
|
28
|
+
### 3. Duplicate/Existing Solution Detection (DUP)
|
|
29
|
+
- Find existing security controls in the codebase
|
|
30
|
+
- Identify patterns that could fix reported issues
|
|
31
|
+
- Note if a finding is already mitigated elsewhere
|
|
32
|
+
|
|
33
|
+
## Input
|
|
34
|
+
|
|
35
|
+
You will receive a list of findings from other scanners. Validate each one.
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
Return validation results as JSON:
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"confirmed": ["SEC-001", "INFRA-003", "BIZ-001"],
|
|
43
|
+
"falsePositives": [
|
|
44
|
+
{
|
|
45
|
+
"id": "SEC-002",
|
|
46
|
+
"reason": "File is in .gitignore and not committed to repository"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "INFRA-005",
|
|
50
|
+
"reason": "Only used in development docker-compose, production uses K8s secrets"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"designDecisions": [
|
|
54
|
+
{
|
|
55
|
+
"id": "AUTH-001",
|
|
56
|
+
"reason": "Intentionally disabled MFA for API-only accounts per design doc in /docs/auth.md"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"existingSolutions": [
|
|
60
|
+
{
|
|
61
|
+
"findingId": "API-001",
|
|
62
|
+
"solution": "Rate limiting already implemented in middleware/rateLimit.ts, just not applied to this endpoint"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Process
|
|
69
|
+
|
|
70
|
+
1. Read the findings list from previous scanners
|
|
71
|
+
2. For each HIGH/CRITICAL finding:
|
|
72
|
+
- Read the actual file with context
|
|
73
|
+
- Check for mitigations
|
|
74
|
+
- Verify git status
|
|
75
|
+
3. Look for design documentation
|
|
76
|
+
4. Check for existing security patterns
|
|
77
|
+
5. Return validation results
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAihBD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAihBD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoL9D"}
|
package/dist/cli/init.js
CHANGED
|
@@ -685,6 +685,29 @@ Usage:
|
|
|
685
685
|
3. Wait for the scan to complete (22 AI agents!)
|
|
686
686
|
4. Report opens automatically in your browser
|
|
687
687
|
|
|
688
|
+
What it scans (22 specialized agents):
|
|
689
|
+
Phase 1 - Discovery (10 parallel agents):
|
|
690
|
+
SEC - OWASP Top 10, injection, XSS, crypto
|
|
691
|
+
AUTH - OAuth/JWT/session, cookies, password reset
|
|
692
|
+
API - Input validation, rate limiting, CORS, webhooks
|
|
693
|
+
INFRA - Docker, K8s, Helm, CI/CD, cloud
|
|
694
|
+
DATA - PII, GDPR, secrets, encryption
|
|
695
|
+
AI - Prompt injection, jailbreaks (if AI code exists)
|
|
696
|
+
PERF - N+1, ReDoS, memory leaks, DoS vectors
|
|
697
|
+
BIZ - Race conditions, workflow bypass, financial
|
|
698
|
+
QUAL - Complexity, DRY, anti-patterns, errors
|
|
699
|
+
TEST - Coverage, reliability, observability
|
|
700
|
+
|
|
701
|
+
Phase 2 - Cross-Validation (3 validators):
|
|
702
|
+
Validator A - False positive hunter
|
|
703
|
+
Validator B - Evidence challenger
|
|
704
|
+
Validator C - Missing issues hunter
|
|
705
|
+
|
|
706
|
+
Phase 3 - Deep Analysis (9 specialized agents):
|
|
707
|
+
REDIS, RESIL, PII, DEAD, DB, ARCH, DESIGN, CTX, ENC
|
|
708
|
+
|
|
709
|
+
Phase 4 - Executive Summary & Positive Observations
|
|
710
|
+
|
|
688
711
|
Reports saved to: .coverme/
|
|
689
712
|
- report_YYYY-MM-DD_HH-MM-SS.html
|
|
690
713
|
- scan_YYYY-MM-DD_HH-MM-SS.json
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwhBA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|