hackmyagent 0.7.2 → 0.8.1

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 (393) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +172 -261
  3. package/dist/abgr/controls.d.ts +35 -0
  4. package/dist/abgr/controls.d.ts.map +1 -0
  5. package/dist/abgr/controls.js +1058 -0
  6. package/dist/abgr/controls.js.map +1 -0
  7. package/dist/abgr/detector.d.ts +45 -0
  8. package/dist/abgr/detector.d.ts.map +1 -0
  9. package/dist/abgr/detector.js +175 -0
  10. package/dist/abgr/detector.js.map +1 -0
  11. package/dist/abgr/index.d.ts +24 -0
  12. package/dist/abgr/index.d.ts.map +1 -0
  13. package/dist/abgr/index.js +50 -0
  14. package/dist/abgr/index.js.map +1 -0
  15. package/dist/abgr/scorer.d.ts +36 -0
  16. package/dist/abgr/scorer.d.ts.map +1 -0
  17. package/dist/abgr/scorer.js +205 -0
  18. package/dist/abgr/scorer.js.map +1 -0
  19. package/dist/abgr/templates.d.ts +35 -0
  20. package/dist/abgr/templates.d.ts.map +1 -0
  21. package/dist/abgr/templates.js +668 -0
  22. package/dist/abgr/templates.js.map +1 -0
  23. package/dist/abgr/tier.d.ts +27 -0
  24. package/dist/abgr/tier.d.ts.map +1 -0
  25. package/dist/abgr/tier.js +115 -0
  26. package/dist/abgr/tier.js.map +1 -0
  27. package/dist/abgr/types.d.ts +59 -0
  28. package/dist/abgr/types.d.ts.map +1 -0
  29. package/dist/abgr/types.js +10 -0
  30. package/dist/abgr/types.js.map +1 -0
  31. package/dist/agent-scan/checks.d.ts +6 -0
  32. package/dist/agent-scan/checks.d.ts.map +1 -0
  33. package/dist/agent-scan/checks.js +93 -0
  34. package/dist/agent-scan/checks.js.map +1 -0
  35. package/dist/agent-scan/index.d.ts +10 -0
  36. package/dist/agent-scan/index.d.ts.map +1 -0
  37. package/dist/agent-scan/index.js +16 -0
  38. package/dist/agent-scan/index.js.map +1 -0
  39. package/dist/agent-scan/scanner.d.ts +31 -0
  40. package/dist/agent-scan/scanner.d.ts.map +1 -0
  41. package/dist/agent-scan/scanner.js +484 -0
  42. package/dist/agent-scan/scanner.js.map +1 -0
  43. package/dist/agent-scan/types.d.ts +63 -0
  44. package/dist/agent-scan/types.d.ts.map +1 -0
  45. package/dist/agent-scan/types.js +10 -0
  46. package/dist/agent-scan/types.js.map +1 -0
  47. package/dist/arp/cli/index.d.ts +3 -0
  48. package/dist/arp/cli/index.d.ts.map +1 -0
  49. package/dist/arp/cli/index.js +225 -0
  50. package/dist/arp/cli/index.js.map +1 -0
  51. package/dist/arp/config/loader.d.ts +8 -0
  52. package/dist/arp/config/loader.d.ts.map +1 -0
  53. package/dist/arp/config/loader.js +102 -0
  54. package/dist/arp/config/loader.js.map +1 -0
  55. package/dist/arp/enforcement/kill-switch.d.ts +22 -0
  56. package/dist/arp/enforcement/kill-switch.d.ts.map +1 -0
  57. package/dist/arp/enforcement/kill-switch.js +122 -0
  58. package/dist/arp/enforcement/kill-switch.js.map +1 -0
  59. package/dist/arp/engine/event-engine.d.ts +29 -0
  60. package/dist/arp/engine/event-engine.d.ts.map +1 -0
  61. package/dist/arp/engine/event-engine.js +233 -0
  62. package/dist/arp/engine/event-engine.js.map +1 -0
  63. package/dist/arp/index.d.ts +81 -0
  64. package/dist/arp/index.d.ts.map +1 -0
  65. package/dist/arp/index.js +239 -0
  66. package/dist/arp/index.js.map +1 -0
  67. package/dist/arp/intelligence/adapters.d.ts +45 -0
  68. package/dist/arp/intelligence/adapters.d.ts.map +1 -0
  69. package/dist/arp/intelligence/adapters.js +222 -0
  70. package/dist/arp/intelligence/adapters.js.map +1 -0
  71. package/dist/arp/intelligence/anomaly.d.ts +32 -0
  72. package/dist/arp/intelligence/anomaly.d.ts.map +1 -0
  73. package/dist/arp/intelligence/anomaly.js +80 -0
  74. package/dist/arp/intelligence/anomaly.js.map +1 -0
  75. package/dist/arp/intelligence/budget.d.ts +33 -0
  76. package/dist/arp/intelligence/budget.d.ts.map +1 -0
  77. package/dist/arp/intelligence/budget.js +150 -0
  78. package/dist/arp/intelligence/budget.js.map +1 -0
  79. package/dist/arp/intelligence/coordinator.d.ts +43 -0
  80. package/dist/arp/intelligence/coordinator.d.ts.map +1 -0
  81. package/dist/arp/intelligence/coordinator.js +301 -0
  82. package/dist/arp/intelligence/coordinator.js.map +1 -0
  83. package/dist/arp/interceptors/a2a-protocol.d.ts +29 -0
  84. package/dist/arp/interceptors/a2a-protocol.d.ts.map +1 -0
  85. package/dist/arp/interceptors/a2a-protocol.js +111 -0
  86. package/dist/arp/interceptors/a2a-protocol.js.map +1 -0
  87. package/dist/arp/interceptors/filesystem.d.ts +33 -0
  88. package/dist/arp/interceptors/filesystem.d.ts.map +1 -0
  89. package/dist/arp/interceptors/filesystem.js +199 -0
  90. package/dist/arp/interceptors/filesystem.js.map +1 -0
  91. package/dist/arp/interceptors/mcp-protocol.d.ts +25 -0
  92. package/dist/arp/interceptors/mcp-protocol.d.ts.map +1 -0
  93. package/dist/arp/interceptors/mcp-protocol.js +126 -0
  94. package/dist/arp/interceptors/mcp-protocol.js.map +1 -0
  95. package/dist/arp/interceptors/network.d.ts +26 -0
  96. package/dist/arp/interceptors/network.d.ts.map +1 -0
  97. package/dist/arp/interceptors/network.js +146 -0
  98. package/dist/arp/interceptors/network.js.map +1 -0
  99. package/dist/arp/interceptors/process.d.ts +26 -0
  100. package/dist/arp/interceptors/process.d.ts.map +1 -0
  101. package/dist/arp/interceptors/process.js +157 -0
  102. package/dist/arp/interceptors/process.js.map +1 -0
  103. package/dist/arp/interceptors/prompt.d.ts +29 -0
  104. package/dist/arp/interceptors/prompt.d.ts.map +1 -0
  105. package/dist/arp/interceptors/prompt.js +82 -0
  106. package/dist/arp/interceptors/prompt.js.map +1 -0
  107. package/dist/arp/license/index.d.ts +59 -0
  108. package/dist/arp/license/index.d.ts.map +1 -0
  109. package/dist/arp/license/index.js +78 -0
  110. package/dist/arp/license/index.js.map +1 -0
  111. package/dist/arp/monitors/filesystem.d.ts +21 -0
  112. package/dist/arp/monitors/filesystem.d.ts.map +1 -0
  113. package/dist/arp/monitors/filesystem.js +141 -0
  114. package/dist/arp/monitors/filesystem.js.map +1 -0
  115. package/dist/arp/monitors/network.d.ts +32 -0
  116. package/dist/arp/monitors/network.d.ts.map +1 -0
  117. package/dist/arp/monitors/network.js +301 -0
  118. package/dist/arp/monitors/network.js.map +1 -0
  119. package/dist/arp/monitors/process.d.ts +24 -0
  120. package/dist/arp/monitors/process.d.ts.map +1 -0
  121. package/dist/arp/monitors/process.js +205 -0
  122. package/dist/arp/monitors/process.js.map +1 -0
  123. package/dist/arp/patterns/ai-threats.d.ts +48 -0
  124. package/dist/arp/patterns/ai-threats.d.ts.map +1 -0
  125. package/dist/arp/patterns/ai-threats.js +215 -0
  126. package/dist/arp/patterns/ai-threats.js.map +1 -0
  127. package/dist/arp/proxy/forward.d.ts +23 -0
  128. package/dist/arp/proxy/forward.d.ts.map +1 -0
  129. package/dist/arp/proxy/forward.js +152 -0
  130. package/dist/arp/proxy/forward.js.map +1 -0
  131. package/dist/arp/proxy/server.d.ts +45 -0
  132. package/dist/arp/proxy/server.d.ts.map +1 -0
  133. package/dist/arp/proxy/server.js +331 -0
  134. package/dist/arp/proxy/server.js.map +1 -0
  135. package/dist/arp/reporting/local-log.d.ts +22 -0
  136. package/dist/arp/reporting/local-log.d.ts.map +1 -0
  137. package/dist/arp/reporting/local-log.js +116 -0
  138. package/dist/arp/reporting/local-log.js.map +1 -0
  139. package/dist/arp/types.d.ts +230 -0
  140. package/dist/arp/types.d.ts.map +1 -0
  141. package/dist/arp/types.js +4 -0
  142. package/dist/arp/types.js.map +1 -0
  143. package/dist/attack/custom-payloads.d.ts +11 -0
  144. package/dist/attack/custom-payloads.d.ts.map +1 -0
  145. package/dist/attack/custom-payloads.js +108 -0
  146. package/dist/attack/custom-payloads.js.map +1 -0
  147. package/dist/attack/fail-policy.d.ts +16 -0
  148. package/dist/attack/fail-policy.d.ts.map +1 -0
  149. package/dist/attack/fail-policy.js +36 -0
  150. package/dist/attack/fail-policy.js.map +1 -0
  151. package/dist/attack/index.d.ts +12 -0
  152. package/dist/attack/index.d.ts.map +1 -0
  153. package/dist/attack/index.js +30 -0
  154. package/dist/attack/index.js.map +1 -0
  155. package/dist/attack/payloads/a2a-attacks.d.ts +12 -0
  156. package/dist/attack/payloads/a2a-attacks.d.ts.map +1 -0
  157. package/dist/attack/payloads/a2a-attacks.js +221 -0
  158. package/dist/attack/payloads/a2a-attacks.js.map +1 -0
  159. package/dist/attack/payloads/capability-abuse.d.ts +8 -0
  160. package/dist/attack/payloads/capability-abuse.d.ts.map +1 -0
  161. package/dist/attack/payloads/capability-abuse.js +222 -0
  162. package/dist/attack/payloads/capability-abuse.js.map +1 -0
  163. package/dist/attack/payloads/context-manipulation.d.ts +8 -0
  164. package/dist/attack/payloads/context-manipulation.d.ts.map +1 -0
  165. package/dist/attack/payloads/context-manipulation.js +217 -0
  166. package/dist/attack/payloads/context-manipulation.js.map +1 -0
  167. package/dist/attack/payloads/data-exfiltration.d.ts +8 -0
  168. package/dist/attack/payloads/data-exfiltration.d.ts.map +1 -0
  169. package/dist/attack/payloads/data-exfiltration.js +249 -0
  170. package/dist/attack/payloads/data-exfiltration.js.map +1 -0
  171. package/dist/attack/payloads/index.d.ts +29 -0
  172. package/dist/attack/payloads/index.d.ts.map +1 -0
  173. package/dist/attack/payloads/index.js +76 -0
  174. package/dist/attack/payloads/index.js.map +1 -0
  175. package/dist/attack/payloads/jailbreak.d.ts +8 -0
  176. package/dist/attack/payloads/jailbreak.d.ts.map +1 -0
  177. package/dist/attack/payloads/jailbreak.js +265 -0
  178. package/dist/attack/payloads/jailbreak.js.map +1 -0
  179. package/dist/attack/payloads/mcp-exploitation.d.ts +12 -0
  180. package/dist/attack/payloads/mcp-exploitation.d.ts.map +1 -0
  181. package/dist/attack/payloads/mcp-exploitation.js +221 -0
  182. package/dist/attack/payloads/mcp-exploitation.js.map +1 -0
  183. package/dist/attack/payloads/prompt-injection.d.ts +8 -0
  184. package/dist/attack/payloads/prompt-injection.d.ts.map +1 -0
  185. package/dist/attack/payloads/prompt-injection.js +262 -0
  186. package/dist/attack/payloads/prompt-injection.js.map +1 -0
  187. package/dist/attack/scanner.d.ts +84 -0
  188. package/dist/attack/scanner.d.ts.map +1 -0
  189. package/dist/attack/scanner.js +509 -0
  190. package/dist/attack/scanner.js.map +1 -0
  191. package/dist/attack/types.d.ts +153 -0
  192. package/dist/attack/types.d.ts.map +1 -0
  193. package/dist/attack/types.js +46 -0
  194. package/dist/attack/types.js.map +1 -0
  195. package/dist/benchmarks/index.d.ts +16 -0
  196. package/dist/benchmarks/index.d.ts.map +1 -0
  197. package/dist/benchmarks/index.js +27 -0
  198. package/dist/benchmarks/index.js.map +1 -0
  199. package/dist/benchmarks/oasb-1.d.ts +112 -0
  200. package/dist/benchmarks/oasb-1.d.ts.map +1 -0
  201. package/dist/benchmarks/oasb-1.js +1124 -0
  202. package/dist/benchmarks/oasb-1.js.map +1 -0
  203. package/dist/checker/check-skill.d.ts +48 -0
  204. package/dist/checker/check-skill.d.ts.map +1 -0
  205. package/dist/checker/check-skill.js +105 -0
  206. package/dist/checker/check-skill.js.map +1 -0
  207. package/dist/checker/index.d.ts +12 -0
  208. package/dist/checker/index.d.ts.map +1 -0
  209. package/dist/checker/index.js +16 -0
  210. package/dist/checker/index.js.map +1 -0
  211. package/dist/checker/permission-analyzer.d.ts +12 -0
  212. package/dist/checker/permission-analyzer.d.ts.map +1 -0
  213. package/dist/checker/permission-analyzer.js +84 -0
  214. package/dist/checker/permission-analyzer.js.map +1 -0
  215. package/dist/checker/publisher-verifier.d.ts +34 -0
  216. package/dist/checker/publisher-verifier.d.ts.map +1 -0
  217. package/dist/checker/publisher-verifier.js +121 -0
  218. package/dist/checker/publisher-verifier.js.map +1 -0
  219. package/dist/checker/skill-identifier.d.ts +14 -0
  220. package/dist/checker/skill-identifier.d.ts.map +1 -0
  221. package/dist/checker/skill-identifier.js +55 -0
  222. package/dist/checker/skill-identifier.js.map +1 -0
  223. package/dist/cli.d.ts +7 -0
  224. package/dist/cli.d.ts.map +1 -0
  225. package/dist/cli.js +3534 -0
  226. package/dist/cli.js.map +1 -0
  227. package/dist/hardening/index.d.ts +7 -0
  228. package/dist/hardening/index.d.ts.map +1 -0
  229. package/dist/hardening/index.js +9 -0
  230. package/dist/hardening/index.js.map +1 -0
  231. package/dist/hardening/llm-checks.d.ts +18 -0
  232. package/dist/hardening/llm-checks.d.ts.map +1 -0
  233. package/dist/hardening/llm-checks.js +434 -0
  234. package/dist/hardening/llm-checks.js.map +1 -0
  235. package/dist/hardening/mcp-tool-enum.d.ts +45 -0
  236. package/dist/hardening/mcp-tool-enum.d.ts.map +1 -0
  237. package/dist/hardening/mcp-tool-enum.js +315 -0
  238. package/dist/hardening/mcp-tool-enum.js.map +1 -0
  239. package/dist/hardening/scanner.d.ts +147 -0
  240. package/dist/hardening/scanner.d.ts.map +1 -0
  241. package/dist/hardening/scanner.js +5445 -0
  242. package/dist/hardening/scanner.js.map +1 -0
  243. package/dist/hardening/security-check.d.ts +85 -0
  244. package/dist/hardening/security-check.d.ts.map +1 -0
  245. package/dist/hardening/security-check.js +6 -0
  246. package/dist/hardening/security-check.js.map +1 -0
  247. package/dist/hardening/shell-checks.d.ts +21 -0
  248. package/dist/hardening/shell-checks.d.ts.map +1 -0
  249. package/dist/hardening/shell-checks.js +236 -0
  250. package/dist/hardening/shell-checks.js.map +1 -0
  251. package/dist/index.d.ts +38 -4
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +91 -3525
  254. package/dist/index.js.map +1 -1
  255. package/dist/mcp-server.js +10 -10
  256. package/dist/mcp-server.js.map +1 -1
  257. package/dist/oasb/config/dvaa-targets.d.ts +13 -0
  258. package/dist/oasb/config/dvaa-targets.d.ts.map +1 -0
  259. package/dist/oasb/config/dvaa-targets.js +89 -0
  260. package/dist/oasb/config/dvaa-targets.js.map +1 -0
  261. package/dist/oasb/harness/arp-wrapper.d.ts +29 -0
  262. package/dist/oasb/harness/arp-wrapper.d.ts.map +1 -0
  263. package/dist/oasb/harness/arp-wrapper.js +134 -0
  264. package/dist/oasb/harness/arp-wrapper.js.map +1 -0
  265. package/dist/oasb/harness/dvaa-client.d.ts +46 -0
  266. package/dist/oasb/harness/dvaa-client.d.ts.map +1 -0
  267. package/dist/oasb/harness/dvaa-client.js +98 -0
  268. package/dist/oasb/harness/dvaa-client.js.map +1 -0
  269. package/dist/oasb/harness/dvaa-manager.d.ts +17 -0
  270. package/dist/oasb/harness/dvaa-manager.d.ts.map +1 -0
  271. package/dist/oasb/harness/dvaa-manager.js +132 -0
  272. package/dist/oasb/harness/dvaa-manager.js.map +1 -0
  273. package/dist/oasb/harness/event-collector.d.ts +33 -0
  274. package/dist/oasb/harness/event-collector.d.ts.map +1 -0
  275. package/dist/oasb/harness/event-collector.js +86 -0
  276. package/dist/oasb/harness/event-collector.js.map +1 -0
  277. package/dist/oasb/harness/metrics.d.ts +14 -0
  278. package/dist/oasb/harness/metrics.d.ts.map +1 -0
  279. package/dist/oasb/harness/metrics.js +56 -0
  280. package/dist/oasb/harness/metrics.js.map +1 -0
  281. package/dist/oasb/harness/mock-llm-adapter.d.ts +34 -0
  282. package/dist/oasb/harness/mock-llm-adapter.d.ts.map +1 -0
  283. package/dist/oasb/harness/mock-llm-adapter.js +69 -0
  284. package/dist/oasb/harness/mock-llm-adapter.js.map +1 -0
  285. package/dist/oasb/harness/types.d.ts +74 -0
  286. package/dist/oasb/harness/types.d.ts.map +1 -0
  287. package/dist/oasb/harness/types.js +3 -0
  288. package/dist/oasb/harness/types.js.map +1 -0
  289. package/dist/plugins/core.d.ts +109 -0
  290. package/dist/plugins/core.d.ts.map +1 -0
  291. package/dist/plugins/core.js +30 -0
  292. package/dist/plugins/core.js.map +1 -0
  293. package/dist/plugins/credvault.d.ts +22 -0
  294. package/dist/plugins/credvault.d.ts.map +1 -0
  295. package/dist/plugins/credvault.js +374 -0
  296. package/dist/plugins/credvault.js.map +1 -0
  297. package/dist/plugins/signcrypt.d.ts +27 -0
  298. package/dist/plugins/signcrypt.d.ts.map +1 -0
  299. package/dist/plugins/signcrypt.js +317 -0
  300. package/dist/plugins/signcrypt.js.map +1 -0
  301. package/dist/plugins/skillguard.d.ts +25 -0
  302. package/dist/plugins/skillguard.d.ts.map +1 -0
  303. package/dist/plugins/skillguard.js +346 -0
  304. package/dist/plugins/skillguard.js.map +1 -0
  305. package/dist/registry/client.d.ts +125 -0
  306. package/dist/registry/client.d.ts.map +1 -0
  307. package/dist/registry/client.js +308 -0
  308. package/dist/registry/client.js.map +1 -0
  309. package/dist/registry/contribution.d.ts +178 -0
  310. package/dist/registry/contribution.d.ts.map +1 -0
  311. package/dist/registry/contribution.js +272 -0
  312. package/dist/registry/contribution.js.map +1 -0
  313. package/dist/registry/index.d.ts +3 -0
  314. package/dist/registry/index.d.ts.map +1 -0
  315. package/dist/registry/index.js +10 -0
  316. package/dist/registry/index.js.map +1 -0
  317. package/dist/scanner/external-scanner.d.ts +13 -0
  318. package/dist/scanner/external-scanner.d.ts.map +1 -0
  319. package/dist/scanner/external-scanner.js +299 -0
  320. package/dist/scanner/external-scanner.js.map +1 -0
  321. package/dist/scanner/index.d.ts +6 -0
  322. package/dist/scanner/index.d.ts.map +1 -0
  323. package/dist/scanner/index.js +9 -0
  324. package/dist/scanner/index.js.map +1 -0
  325. package/dist/scanner/types.d.ts +32 -0
  326. package/dist/scanner/types.d.ts.map +1 -0
  327. package/dist/scanner/types.js +6 -0
  328. package/dist/scanner/types.js.map +1 -0
  329. package/dist/semantic/deep-scan.d.ts +13 -0
  330. package/dist/semantic/deep-scan.d.ts.map +1 -0
  331. package/dist/semantic/deep-scan.js +63 -0
  332. package/dist/semantic/deep-scan.js.map +1 -0
  333. package/dist/semantic/index.d.ts +17 -0
  334. package/dist/semantic/index.d.ts.map +1 -0
  335. package/dist/semantic/index.js +39 -0
  336. package/dist/semantic/index.js.map +1 -0
  337. package/dist/semantic/integration/cost-estimator.d.ts +17 -0
  338. package/dist/semantic/integration/cost-estimator.d.ts.map +1 -0
  339. package/dist/semantic/integration/cost-estimator.js +54 -0
  340. package/dist/semantic/integration/cost-estimator.js.map +1 -0
  341. package/dist/semantic/integration/finding-adapter.d.ts +34 -0
  342. package/dist/semantic/integration/finding-adapter.d.ts.map +1 -0
  343. package/dist/semantic/integration/finding-adapter.js +41 -0
  344. package/dist/semantic/integration/finding-adapter.js.map +1 -0
  345. package/dist/semantic/integration/oasb-upgrader.d.ts +20 -0
  346. package/dist/semantic/integration/oasb-upgrader.d.ts.map +1 -0
  347. package/dist/semantic/integration/oasb-upgrader.js +47 -0
  348. package/dist/semantic/integration/oasb-upgrader.js.map +1 -0
  349. package/dist/semantic/llm/budget.d.ts +50 -0
  350. package/dist/semantic/llm/budget.d.ts.map +1 -0
  351. package/dist/semantic/llm/budget.js +139 -0
  352. package/dist/semantic/llm/budget.js.map +1 -0
  353. package/dist/semantic/llm/cache.d.ts +36 -0
  354. package/dist/semantic/llm/cache.d.ts.map +1 -0
  355. package/dist/semantic/llm/cache.js +103 -0
  356. package/dist/semantic/llm/cache.js.map +1 -0
  357. package/dist/semantic/llm/client.d.ts +49 -0
  358. package/dist/semantic/llm/client.d.ts.map +1 -0
  359. package/dist/semantic/llm/client.js +64 -0
  360. package/dist/semantic/llm/client.js.map +1 -0
  361. package/dist/semantic/llm/index.d.ts +33 -0
  362. package/dist/semantic/llm/index.d.ts.map +1 -0
  363. package/dist/semantic/llm/index.js +129 -0
  364. package/dist/semantic/llm/index.js.map +1 -0
  365. package/dist/semantic/llm/prompts.d.ts +30 -0
  366. package/dist/semantic/llm/prompts.d.ts.map +1 -0
  367. package/dist/semantic/llm/prompts.js +120 -0
  368. package/dist/semantic/llm/prompts.js.map +1 -0
  369. package/dist/semantic/structural/credential-context.d.ts +14 -0
  370. package/dist/semantic/structural/credential-context.d.ts.map +1 -0
  371. package/dist/semantic/structural/credential-context.js +295 -0
  372. package/dist/semantic/structural/credential-context.js.map +1 -0
  373. package/dist/semantic/structural/index.d.ts +28 -0
  374. package/dist/semantic/structural/index.d.ts.map +1 -0
  375. package/dist/semantic/structural/index.js +138 -0
  376. package/dist/semantic/structural/index.js.map +1 -0
  377. package/dist/semantic/structural/instruction.d.ts +19 -0
  378. package/dist/semantic/structural/instruction.d.ts.map +1 -0
  379. package/dist/semantic/structural/instruction.js +167 -0
  380. package/dist/semantic/structural/instruction.js.map +1 -0
  381. package/dist/semantic/structural/mcp-config.d.ts +22 -0
  382. package/dist/semantic/structural/mcp-config.d.ts.map +1 -0
  383. package/dist/semantic/structural/mcp-config.js +294 -0
  384. package/dist/semantic/structural/mcp-config.js.map +1 -0
  385. package/dist/semantic/structural/permission-model.d.ts +16 -0
  386. package/dist/semantic/structural/permission-model.d.ts.map +1 -0
  387. package/dist/semantic/structural/permission-model.js +121 -0
  388. package/dist/semantic/structural/permission-model.js.map +1 -0
  389. package/dist/semantic/types.d.ts +122 -0
  390. package/dist/semantic/types.d.ts.map +1 -0
  391. package/dist/semantic/types.js +10 -0
  392. package/dist/semantic/types.js.map +1 -0
  393. package/package.json +25 -14
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * Permission Scope Analysis (Layer 2)
4
+ *
5
+ * Parses .claude/settings.json and similar config files to detect:
6
+ * - Wildcard permissions (allow: ["*"])
7
+ * - Bash tool with no restrictions
8
+ * - Write/Edit granted outside project scope
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.PermissionModelAnalyzer = void 0;
12
+ class PermissionModelAnalyzer {
13
+ analyze(files) {
14
+ const findings = [];
15
+ for (const file of files) {
16
+ if (file.type !== 'claude_settings')
17
+ continue;
18
+ let settings;
19
+ try {
20
+ settings = JSON.parse(file.content);
21
+ }
22
+ catch {
23
+ continue;
24
+ }
25
+ findings.push(...this.checkWildcardPermissions(settings, file));
26
+ findings.push(...this.checkBashPermissions(settings, file));
27
+ findings.push(...this.checkWriteScope(settings, file));
28
+ }
29
+ return findings;
30
+ }
31
+ checkWildcardPermissions(settings, file) {
32
+ const allow = settings.permissions?.allow;
33
+ if (!allow)
34
+ return [];
35
+ if (allow.includes('*')) {
36
+ return [
37
+ {
38
+ id: 'SEM-PERM-001',
39
+ title: 'Wildcard permission grant',
40
+ description: `${file.path} grants permissions.allow: ["*"], allowing the agent unrestricted access to all tools.`,
41
+ rationale: 'Wildcard permissions disable all tool-level access controls. The agent can read, write, execute, and network without any restrictions.',
42
+ category: 'permission',
43
+ severity: 'critical',
44
+ file: file.path,
45
+ recommendation: 'Replace wildcard with specific tool permissions: ["Read", "Glob", "Grep"] for read-only, adding "Edit", "Write", "Bash" only as needed.',
46
+ layer: 2,
47
+ autoFixable: false,
48
+ },
49
+ ];
50
+ }
51
+ return [];
52
+ }
53
+ checkBashPermissions(settings, file) {
54
+ const allow = settings.permissions?.allow;
55
+ if (!allow)
56
+ return [];
57
+ // Check for unrestricted Bash access
58
+ const bashEntries = allow.filter((p) => typeof p === 'string' && p.toLowerCase().startsWith('bash'));
59
+ // If Bash is allowed without any pattern restriction
60
+ const hasUnrestrictedBash = bashEntries.some((entry) => {
61
+ // "Bash" or "Bash(*)" is unrestricted
62
+ return entry === 'Bash' || entry === 'Bash(*)';
63
+ });
64
+ if (hasUnrestrictedBash) {
65
+ return [
66
+ {
67
+ id: 'SEM-PERM-002',
68
+ title: 'Unrestricted Bash access',
69
+ description: `${file.path} grants unrestricted Bash tool access. The agent can execute any shell command.`,
70
+ rationale: 'Unrestricted Bash access allows arbitrary command execution including reading/writing any file, making network requests, installing packages, and modifying system configuration.',
71
+ category: 'permission',
72
+ severity: 'high',
73
+ file: file.path,
74
+ recommendation: 'Restrict Bash to specific commands: "Bash(npm test)", "Bash(git *)" or use deny rules to block dangerous commands.',
75
+ layer: 2,
76
+ autoFixable: false,
77
+ },
78
+ ];
79
+ }
80
+ return [];
81
+ }
82
+ checkWriteScope(settings, file) {
83
+ const allow = settings.permissions?.allow;
84
+ if (!allow)
85
+ return [];
86
+ // Check for Write/Edit with paths outside the project
87
+ const writeEntries = allow.filter((p) => {
88
+ if (typeof p !== 'string')
89
+ return false;
90
+ const lower = p.toLowerCase();
91
+ return lower.startsWith('write') || lower.startsWith('edit');
92
+ });
93
+ const outsidePaths = writeEntries.filter((entry) => {
94
+ // Check if the permission references paths outside project
95
+ return (entry.includes('/home/') ||
96
+ entry.includes('/Users/') ||
97
+ entry.includes('/etc/') ||
98
+ entry.includes('/tmp/') ||
99
+ entry.includes('/var/'));
100
+ });
101
+ if (outsidePaths.length > 0) {
102
+ return [
103
+ {
104
+ id: 'SEM-PERM-003',
105
+ title: 'Write access outside project scope',
106
+ description: `${file.path} grants write access to paths outside the project directory: ${outsidePaths.join(', ')}`,
107
+ rationale: 'Write access outside the project directory allows the agent to modify system files, other projects, or user configuration. This significantly increases the blast radius of any compromise.',
108
+ category: 'permission',
109
+ severity: 'high',
110
+ file: file.path,
111
+ recommendation: 'Scope write permissions to the project directory only. Remove paths outside the project from the allow list.',
112
+ layer: 2,
113
+ autoFixable: false,
114
+ },
115
+ ];
116
+ }
117
+ return [];
118
+ }
119
+ }
120
+ exports.PermissionModelAnalyzer = PermissionModelAnalyzer;
121
+ //# sourceMappingURL=permission-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-model.js","sourceRoot":"","sources":["../../../src/semantic/structural/permission-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Semantic Analysis Engine Types
3
+ *
4
+ * Types shared across Layer 2 (structural) and Layer 3 (LLM) analysis.
5
+ * These are internal to the semantic engine — the integration layer
6
+ * converts SemanticFinding → SecurityFinding for the core scanner.
7
+ */
8
+ export type SemanticSeverity = 'critical' | 'high' | 'medium' | 'low' | 'info';
9
+ export type SemanticCategory = 'credential' | 'mcp-config' | 'instruction' | 'permission';
10
+ export interface SemanticFinding {
11
+ /** Check ID (e.g., SEM-CRED-001) */
12
+ id: string;
13
+ /** Short title */
14
+ title: string;
15
+ /** Detailed description of the finding */
16
+ description: string;
17
+ /** Why this is a threat */
18
+ rationale: string;
19
+ /** Category for grouping */
20
+ category: SemanticCategory;
21
+ severity: SemanticSeverity;
22
+ /** Relative file path where the issue was found */
23
+ file: string;
24
+ /** Line number (1-based), if applicable */
25
+ line?: number;
26
+ /** Specific fix recommendation */
27
+ recommendation: string;
28
+ /** Which analysis layer found this */
29
+ layer: 2 | 3;
30
+ /** Whether this can be auto-fixed */
31
+ autoFixable: boolean;
32
+ }
33
+ export interface AnalysisContext {
34
+ /** Root directory being analyzed */
35
+ targetDir: string;
36
+ /** Files discovered for analysis, keyed by category */
37
+ files: AnalysisFile[];
38
+ /** Findings from Layer 1 (regex) — used as context for deeper analysis */
39
+ existingFindings?: ExistingFinding[];
40
+ }
41
+ export interface AnalysisFile {
42
+ /** Relative path from targetDir */
43
+ path: string;
44
+ /** File type classification */
45
+ type: FileType;
46
+ /** File content (truncated if over maxContentSize) */
47
+ content: string;
48
+ /** Whether content was truncated */
49
+ truncated: boolean;
50
+ }
51
+ export type FileType = 'agent_instructions' | 'mcp_config' | 'claude_settings' | 'env_file' | 'config_file' | 'other';
52
+ export interface ExistingFinding {
53
+ checkId: string;
54
+ severity: string;
55
+ file?: string;
56
+ message: string;
57
+ }
58
+ export interface LLMAnalysisOptions {
59
+ /** Anthropic API key for standalone CLI mode */
60
+ apiKey: string;
61
+ /** Max daily spend in USD (default: 1.0) */
62
+ budgetCap?: number;
63
+ /** Cache directory (default: .hackmyagent-cache/) */
64
+ cacheDir?: string;
65
+ /** Progress callback */
66
+ onProgress?: (message: string) => void;
67
+ }
68
+ export interface CostEstimate {
69
+ /** Number of files to analyze */
70
+ fileCount: number;
71
+ /** Estimated total input tokens */
72
+ estimatedInputTokens: number;
73
+ /** Estimated total output tokens */
74
+ estimatedOutputTokens: number;
75
+ /** Estimated cost in USD */
76
+ estimatedCostUsd: number;
77
+ /** Number of files that have cached results */
78
+ cachedFiles: number;
79
+ }
80
+ export interface DeepScanResult {
81
+ /** Layer 1+2 findings from automated analysis */
82
+ layer1Findings: ExistingFinding[];
83
+ layer2Findings: SemanticFinding[];
84
+ /** Security-relevant files with analysis guidance for the host LLM */
85
+ filesForDeepAnalysis: DeepAnalysisFile[];
86
+ /** Overall guidance for the host LLM */
87
+ overallGuidance: string;
88
+ }
89
+ export interface DeepAnalysisFile {
90
+ /** Relative file path */
91
+ path: string;
92
+ /** File type classification */
93
+ type: FileType;
94
+ /** File content (truncated to ~4KB) */
95
+ content: string;
96
+ /** Per-file analysis guidance */
97
+ analysisGuidance: string;
98
+ }
99
+ /**
100
+ * MCP config structure for parsing
101
+ */
102
+ export interface McpServerConfig {
103
+ command: string;
104
+ args?: string[];
105
+ env?: Record<string, string>;
106
+ allowedTools?: string[];
107
+ allowedCommands?: string[];
108
+ }
109
+ export interface McpConfigFile {
110
+ mcpServers?: Record<string, McpServerConfig>;
111
+ }
112
+ /**
113
+ * Claude settings structure
114
+ */
115
+ export interface ClaudeSettings {
116
+ permissions?: {
117
+ allow?: string[];
118
+ deny?: string[];
119
+ };
120
+ mcpServers?: Record<string, McpServerConfig>;
121
+ }
122
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/semantic/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * Semantic Analysis Engine Types
4
+ *
5
+ * Types shared across Layer 2 (structural) and Layer 3 (LLM) analysis.
6
+ * These are internal to the semantic engine — the integration layer
7
+ * converts SemanticFinding → SecurityFinding for the core scanner.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/semantic/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
package/package.json CHANGED
@@ -1,34 +1,42 @@
1
1
  {
2
2
  "name": "hackmyagent",
3
- "version": "0.7.2",
3
+ "version": "0.8.1",
4
4
  "description": "Find it. Break it. Fix it. The hacker's toolkit for AI agents.",
5
5
  "bin": {
6
- "hackmyagent": "dist/index.js"
6
+ "hackmyagent": "dist/cli.js"
7
7
  },
8
8
  "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": "./dist/index.js",
12
+ "./plugins": "./dist/plugins/core.js",
13
+ "./semantic": "./dist/semantic/index.js",
14
+ "./arp": "./dist/arp/index.js",
15
+ "./oasb": "./dist/oasb/harness/arp-wrapper.js"
16
+ },
9
17
  "files": [
10
18
  "dist",
11
- "README.md"
19
+ "README.md",
20
+ "LICENSE"
12
21
  ],
13
22
  "scripts": {
14
23
  "build": "tsc",
15
- "test": "echo 'No CLI tests yet'",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
16
26
  "lint": "eslint src --ext .ts",
17
- "prepublishOnly": "cp ../../README.md ./README.md"
27
+ "clean": "rm -rf dist"
18
28
  },
19
29
  "dependencies": {
20
- "@opena2a/aim-core": "^0.1.0",
21
- "@opena2a/plugin-core": "^0.1.0",
22
- "@opena2a/credvault-openclaw": "^0.1.0",
23
- "@opena2a/signcrypt-openclaw": "^0.1.0",
24
- "@opena2a/semantic-engine": "^0.1.0",
25
- "@opena2a/skillguard-openclaw": "^0.1.0",
30
+ "@opena2a/aim-core": "^0.1.2",
26
31
  "@modelcontextprotocol/sdk": "^1.12.1",
27
32
  "commander": "^12.0.0",
28
- "hackmyagent-core": "^0.5.0"
33
+ "js-yaml": "^4.1.1"
29
34
  },
30
35
  "devDependencies": {
31
- "typescript": "^5.3.3"
36
+ "@types/js-yaml": "^4.0.9",
37
+ "@types/node": "^20.0.0",
38
+ "typescript": "^5.3.3",
39
+ "vitest": "^3.0.0"
32
40
  },
33
41
  "keywords": [
34
42
  "ai",
@@ -39,7 +47,10 @@
39
47
  "cursor",
40
48
  "skills",
41
49
  "hardening",
42
- "scanner"
50
+ "scanner",
51
+ "attack",
52
+ "benchmark",
53
+ "runtime-protection"
43
54
  ],
44
55
  "author": "OpenA2A",
45
56
  "license": "Apache-2.0",