hackmyagent 0.11.11 → 0.11.13

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.
Files changed (44) hide show
  1. package/README.md +22 -21
  2. package/dist/arp/engine/correlation.d.ts +27 -0
  3. package/dist/arp/engine/correlation.d.ts.map +1 -0
  4. package/dist/arp/engine/correlation.js +95 -0
  5. package/dist/arp/engine/correlation.js.map +1 -0
  6. package/dist/arp/engine/event-engine.d.ts +1 -0
  7. package/dist/arp/engine/event-engine.d.ts.map +1 -1
  8. package/dist/arp/engine/event-engine.js +16 -0
  9. package/dist/arp/engine/event-engine.js.map +1 -1
  10. package/dist/arp/index.d.ts +2 -0
  11. package/dist/arp/index.d.ts.map +1 -1
  12. package/dist/arp/index.js +5 -1
  13. package/dist/arp/index.js.map +1 -1
  14. package/dist/arp/intelligence/anomaly.d.ts +4 -0
  15. package/dist/arp/intelligence/anomaly.d.ts.map +1 -1
  16. package/dist/arp/intelligence/anomaly.js +71 -0
  17. package/dist/arp/intelligence/anomaly.js.map +1 -1
  18. package/dist/arp/intelligence/nanomind-l1.d.ts +72 -0
  19. package/dist/arp/intelligence/nanomind-l1.d.ts.map +1 -0
  20. package/dist/arp/intelligence/nanomind-l1.js +268 -0
  21. package/dist/arp/intelligence/nanomind-l1.js.map +1 -0
  22. package/dist/arp/monitors/network.d.ts +16 -1
  23. package/dist/arp/monitors/network.d.ts.map +1 -1
  24. package/dist/arp/monitors/network.js +55 -1
  25. package/dist/arp/monitors/network.js.map +1 -1
  26. package/dist/arp/proxy/server.d.ts +7 -0
  27. package/dist/arp/proxy/server.d.ts.map +1 -1
  28. package/dist/arp/proxy/server.js +24 -0
  29. package/dist/arp/proxy/server.js.map +1 -1
  30. package/dist/cli.js +30 -8
  31. package/dist/cli.js.map +1 -1
  32. package/dist/hardening/scanner.d.ts +1 -1
  33. package/dist/hardening/scanner.d.ts.map +1 -1
  34. package/dist/hardening/scanner.js +192 -1
  35. package/dist/hardening/scanner.js.map +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/output/asff.d.ts +37 -0
  41. package/dist/output/asff.d.ts.map +1 -0
  42. package/dist/output/asff.js +111 -0
  43. package/dist/output/asff.js.map +1 -0
  44. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -118,7 +118,7 @@ program
118
118
  .name('hackmyagent')
119
119
  .description(`Find it. Break it. Fix it.
120
120
 
121
- The hacker's toolkit for AI agents. 199 security checks, 115 attack
121
+ The hacker's toolkit for AI agents. 204 security checks, 115 attack
122
122
  payloads, auto-fix with rollback, and OASB benchmark compliance.
123
123
 
124
124
  Documentation: https://hackmyagent.com/docs
@@ -127,10 +127,10 @@ Updates (v${index_1.VERSION}):
127
127
  - NemoClaw sandbox scanner (28 installation checks)
128
128
  - 10 new static analysis patterns (NEMO series)
129
129
  - Community trust contributions
130
- - 199 checks across 60 categories
130
+ - 204 checks across 60 categories
131
131
 
132
132
  Examples:
133
- $ hackmyagent secure Find vulnerabilities (199 checks)
133
+ $ hackmyagent secure Find vulnerabilities (204 checks)
134
134
  $ hackmyagent attack --local Break it with 115 attack payloads
135
135
  $ hackmyagent secure --fix Fix issues automatically
136
136
  $ hackmyagent fix-all Run all security plugins
@@ -139,7 +139,7 @@ Examples:
139
139
  .option('--no-color', 'Disable colored output (also respects NO_COLOR env)');
140
140
  program.addHelpText('beforeAll', `
141
141
  Quick start:
142
- $ hackmyagent secure Scan current directory (199 checks)
142
+ $ hackmyagent secure Scan current directory (204 checks)
143
143
  $ hackmyagent fix-all --with-aim Auto-fix + create agent identity
144
144
  $ hackmyagent attack Red-team your agent
145
145
  `);
@@ -1695,7 +1695,7 @@ program
1695
1695
  .command('secure')
1696
1696
  .description(`Scan and harden your agent setup
1697
1697
 
1698
- Performs 199 security checks across 60 categories:
1698
+ Performs 204 security checks across 60 categories:
1699
1699
  • Credentials: API key exposure, secrets in configs
1700
1700
  • MCP: Server configs, tool permissions, secrets
1701
1701
  • Network: TLS, interface bindings, CORS
@@ -1734,7 +1734,9 @@ Examples:
1734
1734
  .option('--dry-run', 'Preview fixes without applying them (use with --fix)')
1735
1735
  .option('--ignore <checks>', 'Comma-separated check IDs to skip (e.g., CRED-001,GIT-002)')
1736
1736
  .option('--json', 'Output as JSON (deprecated: use --format json)')
1737
- .option('-f, --format <format>', 'Output format: text, json, sarif, html (default: text)', 'text')
1737
+ .option('-f, --format <format>', 'Output format: text, json, sarif, html, asff (default: text)', 'text')
1738
+ .option('--aws-account-id <id>', 'AWS account ID for ASFF format')
1739
+ .option('--aws-region <region>', 'AWS region for ASFF format')
1738
1740
  .option('-o, --output <file>', 'Write output to file instead of stdout')
1739
1741
  .option('--fail-below <percent>', 'Exit 1 if compliance below threshold (0-100)')
1740
1742
  .option('-v, --verbose', 'Show all checks including passed ones')
@@ -1787,7 +1789,7 @@ Examples:
1787
1789
  process.exit(1);
1788
1790
  }
1789
1791
  // Determine output format (--json is deprecated alias for --format json)
1790
- const validFormats = ['text', 'json', 'sarif', 'html', 'asp'];
1792
+ const validFormats = ['text', 'json', 'sarif', 'html', 'asp', 'asff'];
1791
1793
  const format = options.json ? 'json' : (options.format || 'text');
1792
1794
  if (!validFormats.includes(format)) {
1793
1795
  console.error(`Error: Invalid format '${format}'. Use: ${validFormats.join(', ')}`);
@@ -2013,6 +2015,26 @@ Examples:
2013
2015
  process.exit(1);
2014
2016
  return;
2015
2017
  }
2018
+ if (format === 'asff') {
2019
+ const { toASSF } = await Promise.resolve().then(() => __importStar(require('./output/asff.js')));
2020
+ const output = toASSF(result.findings, {
2021
+ awsAccountId: options.awsAccountId,
2022
+ awsRegion: options.awsRegion,
2023
+ targetDir,
2024
+ });
2025
+ if (options.output) {
2026
+ require('fs').writeFileSync(options.output, output);
2027
+ console.error(`ASFF report written to ${options.output}`);
2028
+ console.error(`Import: aws securityhub batch-import-findings --findings file://${options.output}`);
2029
+ }
2030
+ else {
2031
+ console.log(output);
2032
+ }
2033
+ const critHigh = result.findings.filter((f) => !f.passed && !f.fixed && (f.severity === 'critical' || f.severity === 'high'));
2034
+ if (critHigh.length > 0)
2035
+ process.exit(1);
2036
+ return;
2037
+ }
2016
2038
  // Filter to only show failed findings (issues)
2017
2039
  const issues = result.findings.filter((f) => !f.passed && !f.fixed);
2018
2040
  const fixedFindings = result.findings.filter((f) => f.fixed);
@@ -4303,7 +4325,7 @@ Examples:
4303
4325
  console.log(`\n Detected: ${result.tool}\n`);
4304
4326
  console.log(` Added HackMyAgent MCP server to ${result.configPath}\n`);
4305
4327
  console.log(` Available tools in ${result.tool}:`);
4306
- console.log(` hackmyagent_scan — 199 checks + structural analysis`);
4328
+ console.log(` hackmyagent_scan — 204 checks + structural analysis`);
4307
4329
  console.log(` hackmyagent_deep_scan — Full analysis with LLM reasoning`);
4308
4330
  console.log(` hackmyagent_analyze_file — Analyze a single file`);
4309
4331
  console.log(` hackmyagent_benchmark — OASB-1 compliance assessment\n`);