@empowered-humanity/agent-security 1.0.0 → 1.1.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/LICENSE +21 -21
- package/README.md +324 -295
- package/SECURITY.md +96 -96
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/patterns/credentials.js +1 -1
- package/dist/patterns/credentials.js.map +1 -1
- package/dist/reporters/console.d.ts +7 -2
- package/dist/reporters/console.d.ts.map +1 -1
- package/dist/reporters/console.js +103 -4
- package/dist/reporters/console.js.map +1 -1
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +23 -0
- package/dist/reporters/json.js.map +1 -1
- package/dist/scanner/engine.d.ts.map +1 -1
- package/dist/scanner/engine.js +18 -2
- package/dist/scanner/engine.js.map +1 -1
- package/package.json +8 -5
- package/sbom.json +106 -106
package/SECURITY.md
CHANGED
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
# Security Policy
|
|
2
|
-
|
|
3
|
-
## Reporting a Vulnerability
|
|
4
|
-
|
|
5
|
-
We take security issues seriously. If you discover a security vulnerability in agent-security, please report it privately.
|
|
6
|
-
|
|
7
|
-
### Where to Report
|
|
8
|
-
|
|
9
|
-
**Email**: security@empoweredhumanity.ai
|
|
10
|
-
|
|
11
|
-
**Include in your report**:
|
|
12
|
-
- Description of the vulnerability
|
|
13
|
-
- Steps to reproduce
|
|
14
|
-
- Potential impact
|
|
15
|
-
- Suggested fix (if you have one)
|
|
16
|
-
|
|
17
|
-
### What to Expect
|
|
18
|
-
|
|
19
|
-
- **Initial Response**: Within 48 hours
|
|
20
|
-
- **Status Update**: Within 7 days
|
|
21
|
-
- **Fix Timeline**: Critical issues within 30 days, others within 90 days
|
|
22
|
-
|
|
23
|
-
### Disclosure Policy
|
|
24
|
-
|
|
25
|
-
- Please allow us reasonable time to fix the issue before public disclosure
|
|
26
|
-
- We will credit you in the security advisory (unless you prefer to remain anonymous)
|
|
27
|
-
- We will notify you when the fix is released
|
|
28
|
-
|
|
29
|
-
### Security Advisory Process
|
|
30
|
-
|
|
31
|
-
1. We validate the report
|
|
32
|
-
2. We develop and test a fix
|
|
33
|
-
3. We release a patched version
|
|
34
|
-
4. We publish a security advisory (GitHub Security Advisories)
|
|
35
|
-
5. We credit the reporter (if desired)
|
|
36
|
-
|
|
37
|
-
## Supported Versions
|
|
38
|
-
|
|
39
|
-
| Version | Supported |
|
|
40
|
-
| ------- | ------------------ |
|
|
41
|
-
| 1.x.x | ✅ Yes |
|
|
42
|
-
| < 1.0 | ❌ No |
|
|
43
|
-
|
|
44
|
-
## Security Best Practices
|
|
45
|
-
|
|
46
|
-
When using agent-security in your projects:
|
|
47
|
-
|
|
48
|
-
1. **Keep Updated**: Use the latest version to get security fixes
|
|
49
|
-
2. **Dependency Scanning**: Regularly update dependencies
|
|
50
|
-
3. **Secure Configuration**: Follow the security guidelines in the documentation
|
|
51
|
-
4. **False Positives**: Report pattern false positives to help improve detection
|
|
52
|
-
5. **Defense in Depth**: Use this scanner as part of a multi-layer security strategy
|
|
53
|
-
|
|
54
|
-
## Known Limitations
|
|
55
|
-
|
|
56
|
-
- This scanner detects patterns, not intent. Manual review is required for final security assessment.
|
|
57
|
-
- Some attack vectors may not be detected if they use novel techniques not in the pattern library.
|
|
58
|
-
- The scanner does not analyze runtime behavior, only static code and content.
|
|
59
|
-
|
|
60
|
-
## Security Features
|
|
61
|
-
|
|
62
|
-
- **Pattern-based detection**:
|
|
63
|
-
- **OWASP ASI coverage**: All 10 OWASP Agentic Security Issues
|
|
64
|
-
- **No network calls**: All scanning happens locally
|
|
65
|
-
- **No data collection**: Your code never leaves your machine
|
|
66
|
-
- **Open source**: All patterns are transparent and auditable
|
|
67
|
-
|
|
68
|
-
## Responsible Disclosure Examples
|
|
69
|
-
|
|
70
|
-
Examples of what we consider reportable:
|
|
71
|
-
- Pattern bypasses that allow known attacks to evade detection
|
|
72
|
-
- False negatives on critical security patterns
|
|
73
|
-
- Code execution vulnerabilities in the scanner itself
|
|
74
|
-
- Dependency vulnerabilities with active exploits
|
|
75
|
-
|
|
76
|
-
Examples of what we do NOT consider reportable:
|
|
77
|
-
- Feature requests for new patterns (submit as GitHub issues)
|
|
78
|
-
- False positives (submit as GitHub issues)
|
|
79
|
-
- Missing detection for novel, unpublished attack vectors (submit pattern suggestions)
|
|
80
|
-
- Performance issues (submit as GitHub issues)
|
|
81
|
-
|
|
82
|
-
## Security Update Notifications
|
|
83
|
-
|
|
84
|
-
Subscribe to security updates:
|
|
85
|
-
- **GitHub**: Watch this repository for security advisories
|
|
86
|
-
- **npm**: `npm audit` will show vulnerabilities
|
|
87
|
-
- **Email**: security@empoweredhumanity.ai (for critical advisories)
|
|
88
|
-
|
|
89
|
-
## Bug Bounty
|
|
90
|
-
|
|
91
|
-
We currently do not offer a bug bounty program. However, we deeply appreciate security researchers who responsibly disclose vulnerabilities and will publicly acknowledge your contribution.
|
|
92
|
-
|
|
93
|
-
## Questions?
|
|
94
|
-
|
|
95
|
-
For non-security questions, please use GitHub Issues.
|
|
96
|
-
For security concerns, email security@empoweredhumanity.ai.
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting a Vulnerability
|
|
4
|
+
|
|
5
|
+
We take security issues seriously. If you discover a security vulnerability in agent-security, please report it privately.
|
|
6
|
+
|
|
7
|
+
### Where to Report
|
|
8
|
+
|
|
9
|
+
**Email**: security@empoweredhumanity.ai
|
|
10
|
+
|
|
11
|
+
**Include in your report**:
|
|
12
|
+
- Description of the vulnerability
|
|
13
|
+
- Steps to reproduce
|
|
14
|
+
- Potential impact
|
|
15
|
+
- Suggested fix (if you have one)
|
|
16
|
+
|
|
17
|
+
### What to Expect
|
|
18
|
+
|
|
19
|
+
- **Initial Response**: Within 48 hours
|
|
20
|
+
- **Status Update**: Within 7 days
|
|
21
|
+
- **Fix Timeline**: Critical issues within 30 days, others within 90 days
|
|
22
|
+
|
|
23
|
+
### Disclosure Policy
|
|
24
|
+
|
|
25
|
+
- Please allow us reasonable time to fix the issue before public disclosure
|
|
26
|
+
- We will credit you in the security advisory (unless you prefer to remain anonymous)
|
|
27
|
+
- We will notify you when the fix is released
|
|
28
|
+
|
|
29
|
+
### Security Advisory Process
|
|
30
|
+
|
|
31
|
+
1. We validate the report
|
|
32
|
+
2. We develop and test a fix
|
|
33
|
+
3. We release a patched version
|
|
34
|
+
4. We publish a security advisory (GitHub Security Advisories)
|
|
35
|
+
5. We credit the reporter (if desired)
|
|
36
|
+
|
|
37
|
+
## Supported Versions
|
|
38
|
+
|
|
39
|
+
| Version | Supported |
|
|
40
|
+
| ------- | ------------------ |
|
|
41
|
+
| 1.x.x | ✅ Yes |
|
|
42
|
+
| < 1.0 | ❌ No |
|
|
43
|
+
|
|
44
|
+
## Security Best Practices
|
|
45
|
+
|
|
46
|
+
When using agent-security in your projects:
|
|
47
|
+
|
|
48
|
+
1. **Keep Updated**: Use the latest version to get security fixes
|
|
49
|
+
2. **Dependency Scanning**: Regularly update dependencies
|
|
50
|
+
3. **Secure Configuration**: Follow the security guidelines in the documentation
|
|
51
|
+
4. **False Positives**: Report pattern false positives to help improve detection
|
|
52
|
+
5. **Defense in Depth**: Use this scanner as part of a multi-layer security strategy
|
|
53
|
+
|
|
54
|
+
## Known Limitations
|
|
55
|
+
|
|
56
|
+
- This scanner detects patterns, not intent. Manual review is required for final security assessment.
|
|
57
|
+
- Some attack vectors may not be detected if they use novel techniques not in the pattern library.
|
|
58
|
+
- The scanner does not analyze runtime behavior, only static code and content.
|
|
59
|
+
|
|
60
|
+
## Security Features
|
|
61
|
+
|
|
62
|
+
- **Pattern-based detection**: 176 security patterns with 4 intelligence layers
|
|
63
|
+
- **OWASP ASI coverage**: All 10 OWASP Agentic Security Issues
|
|
64
|
+
- **No network calls**: All scanning happens locally
|
|
65
|
+
- **No data collection**: Your code never leaves your machine
|
|
66
|
+
- **Open source**: All patterns are transparent and auditable
|
|
67
|
+
|
|
68
|
+
## Responsible Disclosure Examples
|
|
69
|
+
|
|
70
|
+
Examples of what we consider reportable:
|
|
71
|
+
- Pattern bypasses that allow known attacks to evade detection
|
|
72
|
+
- False negatives on critical security patterns
|
|
73
|
+
- Code execution vulnerabilities in the scanner itself
|
|
74
|
+
- Dependency vulnerabilities with active exploits
|
|
75
|
+
|
|
76
|
+
Examples of what we do NOT consider reportable:
|
|
77
|
+
- Feature requests for new patterns (submit as GitHub issues)
|
|
78
|
+
- False positives (submit as GitHub issues)
|
|
79
|
+
- Missing detection for novel, unpublished attack vectors (submit pattern suggestions)
|
|
80
|
+
- Performance issues (submit as GitHub issues)
|
|
81
|
+
|
|
82
|
+
## Security Update Notifications
|
|
83
|
+
|
|
84
|
+
Subscribe to security updates:
|
|
85
|
+
- **GitHub**: Watch this repository for security advisories
|
|
86
|
+
- **npm**: `npm audit` will show vulnerabilities
|
|
87
|
+
- **Email**: security@empoweredhumanity.ai (for critical advisories)
|
|
88
|
+
|
|
89
|
+
## Bug Bounty
|
|
90
|
+
|
|
91
|
+
We currently do not offer a bug bounty program. However, we deeply appreciate security researchers who responsibly disclose vulnerabilities and will publicly acknowledge your contribution.
|
|
92
|
+
|
|
93
|
+
## Questions?
|
|
94
|
+
|
|
95
|
+
For non-security questions, please use GitHub Issues.
|
|
96
|
+
For security concerns, email security@empoweredhumanity.ai.
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,7 @@ program
|
|
|
33
33
|
.option('-o, --output <file>', 'Output file path')
|
|
34
34
|
.option('--format <format>', 'Output format (console, json)', 'console')
|
|
35
35
|
.option('--context', 'Show code context for findings')
|
|
36
|
-
.option('--group <by>', 'Group findings by (severity, file, category)', 'severity')
|
|
36
|
+
.option('--group <by>', 'Group findings by (severity, file, category, classification)', 'severity')
|
|
37
37
|
.option('-v, --verbose', 'Verbose output')
|
|
38
38
|
.option('-q, --quiet', 'Quiet mode - only show errors')
|
|
39
39
|
.action(async (path, options) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAmB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,OAAO;KACJ,IAAI,CAAC,mBAAmB,CAAC;KACzB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,gDAAgD,EAAE,QAAQ,CAAC;KAC5F,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,SAAS,CAAC;KACvE,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACrD,MAAM,CAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ export const apiKeyPatterns = [
|
|
|
80
80
|
category: 'credential_exposure',
|
|
81
81
|
source: 'ai-assistant',
|
|
82
82
|
description: 'Stripe API key detected',
|
|
83
|
-
example: '
|
|
83
|
+
example: 'sk_live_xxxxxxxxxxxxxxxxxxxxxxxx',
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
name: 'slack_token',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/patterns/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,qDAAqD;QAC9D,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,qCAAqC;KAC/C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,0CAA0C;KACpD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,0CAA0C;KACpD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,2EAA2E;QACpF,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,6DAA6D;KACvE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,0CAA0C;QACnD,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/patterns/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Console Reporter
|
|
3
3
|
*
|
|
4
4
|
* Formats scan results for terminal output with colors.
|
|
5
|
+
* Includes intelligence layer data: classification, taint proximity, context flow.
|
|
5
6
|
*/
|
|
6
7
|
import type { Finding, ScanResult } from '../patterns/types.js';
|
|
7
8
|
/**
|
|
@@ -12,12 +13,16 @@ export declare function formatFinding(finding: Finding, showContext?: boolean):
|
|
|
12
13
|
* Format the risk score for console output
|
|
13
14
|
*/
|
|
14
15
|
export declare function formatRiskScore(result: ScanResult): string;
|
|
16
|
+
/**
|
|
17
|
+
* Format intelligence summary for console output
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatIntelligenceSummary(findings: Finding[]): string;
|
|
15
20
|
/**
|
|
16
21
|
* Format the full scan result for console output
|
|
17
22
|
*/
|
|
18
23
|
export declare function formatScanResult(result: ScanResult, options?: {
|
|
19
24
|
showContext?: boolean;
|
|
20
|
-
groupBy?: 'file' | 'category' | 'severity';
|
|
25
|
+
groupBy?: 'file' | 'category' | 'severity' | 'classification';
|
|
21
26
|
verbose?: boolean;
|
|
22
27
|
}): string;
|
|
23
28
|
/**
|
|
@@ -25,7 +30,7 @@ export declare function formatScanResult(result: ScanResult, options?: {
|
|
|
25
30
|
*/
|
|
26
31
|
export declare function printScanResult(result: ScanResult, options?: {
|
|
27
32
|
showContext?: boolean;
|
|
28
|
-
groupBy?: 'file' | 'category' | 'severity';
|
|
33
|
+
groupBy?: 'file' | 'category' | 'severity' | 'classification';
|
|
29
34
|
verbose?: boolean;
|
|
30
35
|
}): void;
|
|
31
36
|
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/reporters/console.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/reporters/console.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAyB,UAAU,EAAY,MAAM,sBAAsB,CAAC;AA+BjG;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,UAAQ,GAAG,MAAM,CAkD3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA+B1D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAyDrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GAAG,MAAM,CAmFd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GAAG,IAAI,CAEZ"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Console Reporter
|
|
3
3
|
*
|
|
4
4
|
* Formats scan results for terminal output with colors.
|
|
5
|
+
* Includes intelligence layer data: classification, taint proximity, context flow.
|
|
5
6
|
*/
|
|
6
7
|
import chalk from 'chalk';
|
|
7
|
-
import { groupFindingsByFile, groupFindingsByCategory } from '../scanner/engine.js';
|
|
8
|
+
import { groupFindingsByFile, groupFindingsByCategory, groupFindingsByClassification, } from '../scanner/engine.js';
|
|
8
9
|
const SEVERITY_COLORS = {
|
|
9
10
|
critical: chalk.bgRed.white.bold,
|
|
10
11
|
high: chalk.red.bold,
|
|
@@ -17,6 +18,15 @@ const SEVERITY_ICONS = {
|
|
|
17
18
|
medium: '⚠️',
|
|
18
19
|
low: 'ℹ️',
|
|
19
20
|
};
|
|
21
|
+
const CLASSIFICATION_COLORS = {
|
|
22
|
+
test_payload: chalk.gray,
|
|
23
|
+
live_vulnerability: chalk.red.bold,
|
|
24
|
+
credential_exposure: chalk.yellow.bold,
|
|
25
|
+
configuration_risk: chalk.yellow,
|
|
26
|
+
architectural_weakness: chalk.magenta.bold,
|
|
27
|
+
supply_chain_risk: chalk.cyan,
|
|
28
|
+
unclassified: chalk.dim,
|
|
29
|
+
};
|
|
20
30
|
/**
|
|
21
31
|
* Format a single finding for console output
|
|
22
32
|
*/
|
|
@@ -24,10 +34,26 @@ export function formatFinding(finding, showContext = false) {
|
|
|
24
34
|
const { pattern, file, line, column, match } = finding;
|
|
25
35
|
const severityColor = SEVERITY_COLORS[pattern.severity];
|
|
26
36
|
const icon = SEVERITY_ICONS[pattern.severity];
|
|
27
|
-
|
|
37
|
+
const classColor = CLASSIFICATION_COLORS[finding.classification] || chalk.dim;
|
|
38
|
+
let output = `${icon} ${severityColor(`[${pattern.severity.toUpperCase()}]`)} ${chalk.cyan(pattern.name)}`;
|
|
39
|
+
output += ` ${classColor(`(${finding.classification})`)}\n`;
|
|
28
40
|
output += ` ${chalk.gray('File:')} ${file}:${line}:${column}\n`;
|
|
29
|
-
output += ` ${chalk.gray('Match:')} ${chalk.white(match)}\n`;
|
|
41
|
+
output += ` ${chalk.gray('Match:')} ${chalk.white(match.substring(0, 120))}\n`;
|
|
30
42
|
output += ` ${chalk.gray('Description:')} ${pattern.description}\n`;
|
|
43
|
+
if (finding.severityDowngraded) {
|
|
44
|
+
output += ` ${chalk.gray('Downgraded:')} ${finding.originalSeverity} → ${pattern.severity} (test file)\n`;
|
|
45
|
+
}
|
|
46
|
+
if (finding.taintProximity) {
|
|
47
|
+
const taintColor = finding.taintProximity === 'direct' || finding.taintProximity === 'nearby'
|
|
48
|
+
? chalk.red.bold : chalk.gray;
|
|
49
|
+
output += ` ${chalk.gray('Taint:')} ${taintColor(finding.taintProximity)}\n`;
|
|
50
|
+
}
|
|
51
|
+
if (finding.contextFlowChain && finding.contextFlowChain.length > 0) {
|
|
52
|
+
output += ` ${chalk.gray('Flow chain:')}\n`;
|
|
53
|
+
for (const step of finding.contextFlowChain) {
|
|
54
|
+
output += ` ${chalk.magenta('→')} ${step}\n`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
31
57
|
if (pattern.owaspAsi) {
|
|
32
58
|
output += ` ${chalk.gray('OWASP ASI:')} ${chalk.magenta(pattern.owaspAsi)}\n`;
|
|
33
59
|
}
|
|
@@ -77,6 +103,60 @@ export function formatRiskScore(result) {
|
|
|
77
103
|
output += ` ${SEVERITY_ICONS.low} Low: ${chalk.blue(riskScore.counts.low.toString())}\n`;
|
|
78
104
|
return output;
|
|
79
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Format intelligence summary for console output
|
|
108
|
+
*/
|
|
109
|
+
export function formatIntelligenceSummary(findings) {
|
|
110
|
+
let output = chalk.bold('\n🧠 Intelligence Summary\n');
|
|
111
|
+
output += `${chalk.gray('═'.repeat(40))}\n\n`;
|
|
112
|
+
// Classification breakdown
|
|
113
|
+
const byClass = groupFindingsByClassification(findings);
|
|
114
|
+
output += chalk.bold('By Classification:\n');
|
|
115
|
+
const classOrder = [
|
|
116
|
+
'live_vulnerability', 'credential_exposure', 'test_payload',
|
|
117
|
+
'supply_chain_risk', 'architectural_weakness', 'configuration_risk', 'unclassified',
|
|
118
|
+
];
|
|
119
|
+
for (const cls of classOrder) {
|
|
120
|
+
const items = byClass.get(cls);
|
|
121
|
+
if (items && items.length > 0) {
|
|
122
|
+
const pct = ((items.length / findings.length) * 100).toFixed(1);
|
|
123
|
+
const color = CLASSIFICATION_COLORS[cls] || chalk.dim;
|
|
124
|
+
output += ` ${color(cls.padEnd(25))} ${String(items.length).padStart(5)} (${pct}%)\n`;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Taint proximity
|
|
128
|
+
const tainted = findings.filter(f => f.taintProximity);
|
|
129
|
+
if (tainted.length > 0) {
|
|
130
|
+
const direct = tainted.filter(f => f.taintProximity === 'direct').length;
|
|
131
|
+
const nearby = tainted.filter(f => f.taintProximity === 'nearby').length;
|
|
132
|
+
const distant = tainted.filter(f => f.taintProximity === 'distant').length;
|
|
133
|
+
output += chalk.bold('\nTaint Proximity:\n');
|
|
134
|
+
output += ` ${direct > 0 ? chalk.red.bold : chalk.gray}(`
|
|
135
|
+
+ `Direct (same line): ${direct})\n`;
|
|
136
|
+
output += ` ${nearby > 0 ? chalk.red.bold : chalk.gray}(`
|
|
137
|
+
+ `Nearby (10 lines): ${nearby})\n`;
|
|
138
|
+
output += ` ${chalk.gray(`Distant (no input): ${distant}`)}\n`;
|
|
139
|
+
}
|
|
140
|
+
// Severity downgrades
|
|
141
|
+
const downgraded = findings.filter(f => f.severityDowngraded);
|
|
142
|
+
if (downgraded.length > 0) {
|
|
143
|
+
output += chalk.bold('\nTest File Downgrades:\n');
|
|
144
|
+
output += ` ${chalk.cyan(downgraded.length.toString())} findings severity-downgraded (test/fixture/example files)\n`;
|
|
145
|
+
}
|
|
146
|
+
// Context flow chains
|
|
147
|
+
const flowChains = findings.filter(f => f.contextFlowChain && f.contextFlowChain.length > 0);
|
|
148
|
+
if (flowChains.length > 0) {
|
|
149
|
+
output += chalk.bold('\nContext Flow Chains:\n');
|
|
150
|
+
output += ` ${chalk.magenta(flowChains.length.toString())} serialization → external call chains detected\n`;
|
|
151
|
+
}
|
|
152
|
+
// Test vs Production split
|
|
153
|
+
const testCount = findings.filter(f => f.isTestFile).length;
|
|
154
|
+
const prodCount = findings.length - testCount;
|
|
155
|
+
output += chalk.bold('\nTest vs Production:\n');
|
|
156
|
+
output += ` Test files: ${chalk.gray(testCount.toString())} findings\n`;
|
|
157
|
+
output += ` Production files: ${chalk.cyan(prodCount.toString())} findings\n`;
|
|
158
|
+
return output;
|
|
159
|
+
}
|
|
80
160
|
/**
|
|
81
161
|
* Format the full scan result for console output
|
|
82
162
|
*/
|
|
@@ -95,8 +175,10 @@ export function formatScanResult(result, options = {}) {
|
|
|
95
175
|
output += chalk.green.bold('✅ No security issues found!\n');
|
|
96
176
|
return output;
|
|
97
177
|
}
|
|
178
|
+
// Intelligence summary (always shown)
|
|
179
|
+
output += formatIntelligenceSummary(result.findings);
|
|
98
180
|
// Findings
|
|
99
|
-
output += chalk.bold('📋 Findings\n');
|
|
181
|
+
output += chalk.bold('\n📋 Findings\n');
|
|
100
182
|
output += chalk.gray('─'.repeat(40)) + '\n\n';
|
|
101
183
|
if (groupBy === 'file') {
|
|
102
184
|
const byFile = groupFindingsByFile(result.findings);
|
|
@@ -116,6 +198,23 @@ export function formatScanResult(result, options = {}) {
|
|
|
116
198
|
}
|
|
117
199
|
}
|
|
118
200
|
}
|
|
201
|
+
else if (groupBy === 'classification') {
|
|
202
|
+
const byClass = groupFindingsByClassification(result.findings);
|
|
203
|
+
const classOrder = [
|
|
204
|
+
'live_vulnerability', 'credential_exposure', 'architectural_weakness',
|
|
205
|
+
'supply_chain_risk', 'configuration_risk', 'test_payload', 'unclassified',
|
|
206
|
+
];
|
|
207
|
+
for (const cls of classOrder) {
|
|
208
|
+
const findings = byClass.get(cls);
|
|
209
|
+
if (findings && findings.length > 0) {
|
|
210
|
+
const color = CLASSIFICATION_COLORS[cls] || chalk.dim;
|
|
211
|
+
output += chalk.bold(`\n${color(cls.toUpperCase())} (${findings.length})\n`);
|
|
212
|
+
for (const finding of findings) {
|
|
213
|
+
output += formatFinding(finding, showContext) + '\n';
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
119
218
|
else {
|
|
120
219
|
// Group by severity (default)
|
|
121
220
|
for (const severity of ['critical', 'high', 'medium', 'low']) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/reporters/console.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/reporters/console.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA8BhE;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,UAAO,GAAG,MAAM,CAmBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,UAAO,GAAG,IAAI,CAEjE"}
|
package/dist/reporters/json.js
CHANGED
|
@@ -10,13 +10,19 @@ function serializeFinding(finding) {
|
|
|
10
10
|
return {
|
|
11
11
|
patternName: finding.pattern.name,
|
|
12
12
|
severity: finding.pattern.severity,
|
|
13
|
+
originalSeverity: finding.originalSeverity,
|
|
14
|
+
severityDowngraded: finding.severityDowngraded,
|
|
13
15
|
category: finding.pattern.category,
|
|
16
|
+
classification: finding.classification,
|
|
14
17
|
description: finding.pattern.description,
|
|
15
18
|
file: finding.file,
|
|
16
19
|
line: finding.line,
|
|
17
20
|
column: finding.column,
|
|
18
21
|
match: finding.match,
|
|
19
22
|
context: finding.context,
|
|
23
|
+
isTestFile: finding.isTestFile,
|
|
24
|
+
taintProximity: finding.taintProximity || null,
|
|
25
|
+
contextFlowChain: finding.contextFlowChain || null,
|
|
20
26
|
source: finding.pattern.source,
|
|
21
27
|
owaspAsi: finding.pattern.owaspAsi || null,
|
|
22
28
|
cve: finding.pattern.cve || null,
|
|
@@ -53,16 +59,33 @@ export function getFindingsSummary(result) {
|
|
|
53
59
|
const byCategory = {};
|
|
54
60
|
const bySeverity = {};
|
|
55
61
|
const byFile = {};
|
|
62
|
+
const byClassification = {};
|
|
56
63
|
for (const finding of result.findings) {
|
|
57
64
|
byCategory[finding.pattern.category] = (byCategory[finding.pattern.category] || 0) + 1;
|
|
58
65
|
bySeverity[finding.pattern.severity] = (bySeverity[finding.pattern.severity] || 0) + 1;
|
|
59
66
|
byFile[finding.file] = (byFile[finding.file] || 0) + 1;
|
|
67
|
+
byClassification[finding.classification] = (byClassification[finding.classification] || 0) + 1;
|
|
68
|
+
}
|
|
69
|
+
const taintCounts = { direct: 0, nearby: 0, distant: 0 };
|
|
70
|
+
for (const f of result.findings) {
|
|
71
|
+
if (f.taintProximity === 'direct')
|
|
72
|
+
taintCounts.direct++;
|
|
73
|
+
else if (f.taintProximity === 'nearby')
|
|
74
|
+
taintCounts.nearby++;
|
|
75
|
+
else if (f.taintProximity === 'distant')
|
|
76
|
+
taintCounts.distant++;
|
|
60
77
|
}
|
|
61
78
|
return {
|
|
62
79
|
total: result.findings.length,
|
|
63
80
|
byCategory,
|
|
64
81
|
bySeverity,
|
|
82
|
+
byClassification,
|
|
65
83
|
byFile,
|
|
84
|
+
testFileFindings: result.findings.filter(f => f.isTestFile).length,
|
|
85
|
+
productionFindings: result.findings.filter(f => !f.isTestFile).length,
|
|
86
|
+
severityDowngrades: result.findings.filter(f => f.severityDowngraded).length,
|
|
87
|
+
taintProximity: taintCounts,
|
|
88
|
+
contextFlowChains: result.findings.filter(f => f.contextFlowChain && f.contextFlowChain.length > 0).length,
|
|
66
89
|
};
|
|
67
90
|
}
|
|
68
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;QAClC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;QAClC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;QAC9B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI;QAC1C,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI;QAChC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;QAChD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB,EAAE,MAAM,GAAG,IAAI;IAC5D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;SAC1C;QACD,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;YAC7B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;YAC7B,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe;YACjD,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;SAChC;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAChD,CAAC;IAEF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC7B,UAAU;QACV,UAAU;QACV,MAAM;
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/scanner/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,SAAS,EAET,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AA+B9B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAQ/D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAevF;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/scanner/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,SAAS,EAET,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AA+B9B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAQ/D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAevF;AA4BD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGpD;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CA8DvE;AAcD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,UAAU,SAAK,GACd,cAAc,CAkBhB;AASD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,kBAAkB,EAAE,MAAM,EAC1B,UAAU,SAAK,GACd,MAAM,EAAE,GAAG,SAAS,CAyBtB;AAYD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CA2DX;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAMX;AAMD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,CAuBjE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAQlE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAKrE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAQ/E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CASnF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAQxG;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAClD,OAAO,EAAE,CAIX;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,GAChB,UAAU,CASZ"}
|