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.
@@ -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
@@ -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,CA6J9D"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}