pwn 0.5.707 → 0.5.709

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 (447) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/Installation.md +1 -0
  3. data/documentation/Reinforcement-Learning.md +2 -2
  4. data/etc/default_skills/pwn/ai/agent/curriculum/SKILL.md +1 -0
  5. data/etc/default_skills/pwn/ai/agent/extrospection/osint/bridges/SKILL.md +30 -8
  6. data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/SKILL.md +30 -8
  7. data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/references/urls.md +1 -1
  8. data/etc/default_skills/pwn/ai/agent/extrospection/references/urls.md +0 -1
  9. data/etc/default_skills/pwn/ai/agent/metrics/SKILL.md +4 -0
  10. data/etc/default_skills/pwn/ai/agent/policy/SKILL.md +1 -1
  11. data/etc/default_skills/pwn/ai/agent/reward/SKILL.md +2 -0
  12. data/etc/default_skills/pwn/ai/agent/tool_guard/SKILL.md +2 -0
  13. data/etc/default_skills/pwn/memory_index/SKILL.md +0 -4
  14. data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +48 -0
  15. data/etc/default_skills/pwn/plugins/android/SKILL.md +1 -0
  16. data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +49 -0
  17. data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +54 -0
  18. data/etc/default_skills/pwn/plugins/credential_attack/SKILL.md +51 -0
  19. data/etc/default_skills/pwn/plugins/doctor/SKILL.md +57 -0
  20. data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +61 -0
  21. data/etc/default_skills/pwn/plugins/frida/SKILL.md +49 -0
  22. data/etc/default_skills/pwn/plugins/gdb/SKILL.md +52 -0
  23. data/etc/default_skills/pwn/plugins/jobs/SKILL.md +51 -0
  24. data/etc/default_skills/pwn/plugins/nuclei/SKILL.md +48 -0
  25. data/etc/default_skills/pwn/plugins/process_tube/SKILL.md +52 -0
  26. data/etc/default_skills/pwn/plugins/radare2/SKILL.md +59 -0
  27. data/etc/default_skills/pwn/plugins/recon/SKILL.md +55 -0
  28. data/etc/default_skills/pwn/plugins/recon/references/urls.md +5 -0
  29. data/etc/default_skills/pwn/plugins/sqlmap/SKILL.md +48 -0
  30. data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +0 -4
  31. data/etc/default_skills/pwn/plugins/volatility/SKILL.md +48 -0
  32. data/lib/pwn/ai/agent/assembly.rb +4 -1
  33. data/lib/pwn/ai/agent/btc.rb +4 -1
  34. data/lib/pwn/ai/agent/burp_suite.rb +5 -2
  35. data/lib/pwn/ai/agent/curriculum.rb +140 -37
  36. data/lib/pwn/ai/agent/dispatch.rb +34 -16
  37. data/lib/pwn/ai/agent/extrospection/osint/bridges.rb +9 -18
  38. data/lib/pwn/ai/agent/extrospection/osint/social.rb +9 -18
  39. data/lib/pwn/ai/agent/extrospection.rb +185 -60
  40. data/lib/pwn/ai/agent/gqrx.rb +4 -1
  41. data/lib/pwn/ai/agent/hacker_one.rb +5 -2
  42. data/lib/pwn/ai/agent/learning.rb +161 -29
  43. data/lib/pwn/ai/agent/loop.rb +84 -47
  44. data/lib/pwn/ai/agent/metrics.rb +198 -21
  45. data/lib/pwn/ai/agent/mistakes.rb +137 -20
  46. data/lib/pwn/ai/agent/open_goal.rb +25 -9
  47. data/lib/pwn/ai/agent/policy.rb +204 -53
  48. data/lib/pwn/ai/agent/prompt_builder.rb +38 -16
  49. data/lib/pwn/ai/agent/prompt_cache.rb +44 -13
  50. data/lib/pwn/ai/agent/reflect.rb +9 -5
  51. data/lib/pwn/ai/agent/registry.rb +65 -12
  52. data/lib/pwn/ai/agent/result.rb +19 -10
  53. data/lib/pwn/ai/agent/reward.rb +175 -38
  54. data/lib/pwn/ai/agent/sast.rb +4 -1
  55. data/lib/pwn/ai/agent/swarm.rb +72 -36
  56. data/lib/pwn/ai/agent/task_summarizer.rb +165 -36
  57. data/lib/pwn/ai/agent/tool_guard.rb +124 -6
  58. data/lib/pwn/ai/agent/transparent_browser.rb +4 -1
  59. data/lib/pwn/ai/agent/turn_finalizer.rb +41 -21
  60. data/lib/pwn/ai/agent/vuln_gen.rb +6 -3
  61. data/lib/pwn/ai/agent.rb +4 -0
  62. data/lib/pwn/ai/anthropic.rb +41 -7
  63. data/lib/pwn/ai/gemini.rb +21 -11
  64. data/lib/pwn/ai/grok.rb +44 -6
  65. data/lib/pwn/ai/http_retry.rb +40 -12
  66. data/lib/pwn/ai/ollama.rb +19 -10
  67. data/lib/pwn/ai/open_ai.rb +81 -30
  68. data/lib/pwn/ai/open_web_ui.rb +20 -14
  69. data/lib/pwn/ai/red_team/agent_protocol_abuse.rb +7 -1
  70. data/lib/pwn/ai/red_team/data_and_model_poisoning.rb +7 -1
  71. data/lib/pwn/ai/red_team/excessive_agency.rb +7 -1
  72. data/lib/pwn/ai/red_team/hidden_context_exposure.rb +7 -1
  73. data/lib/pwn/ai/red_team/insecure_output_handling.rb +7 -1
  74. data/lib/pwn/ai/red_team/jailbreak.rb +7 -1
  75. data/lib/pwn/ai/red_team/memory_poisoning.rb +7 -1
  76. data/lib/pwn/ai/red_team/multimodal_injection.rb +7 -1
  77. data/lib/pwn/ai/red_team/overreliance.rb +7 -1
  78. data/lib/pwn/ai/red_team/payload_splitting.rb +7 -1
  79. data/lib/pwn/ai/red_team/prompt_injection.rb +7 -1
  80. data/lib/pwn/ai/red_team/rag_poisoning.rb +7 -1
  81. data/lib/pwn/ai/red_team/sensitive_information_disclosure.rb +7 -1
  82. data/lib/pwn/ai/red_team/supply_chain.rb +7 -1
  83. data/lib/pwn/ai/red_team/system_prompt_extraction.rb +7 -1
  84. data/lib/pwn/ai/red_team/test_case_engine.rb +12 -9
  85. data/lib/pwn/ai/red_team/token_smuggling.rb +7 -1
  86. data/lib/pwn/ai/red_team/unbounded_consumption.rb +7 -1
  87. data/lib/pwn/ai/red_team/vector_and_embedding_weaknesses.rb +7 -1
  88. data/lib/pwn/ai/red_team.rb +4 -0
  89. data/lib/pwn/ai.rb +4 -0
  90. data/lib/pwn/aws/acm.rb +5 -2
  91. data/lib/pwn/aws/api_gateway.rb +10 -7
  92. data/lib/pwn/aws/app_stream.rb +5 -2
  93. data/lib/pwn/aws/application_auto_scaling.rb +5 -2
  94. data/lib/pwn/aws/application_discovery_service.rb +5 -2
  95. data/lib/pwn/aws/auto_scaling.rb +5 -2
  96. data/lib/pwn/aws/batch.rb +5 -2
  97. data/lib/pwn/aws/budgets.rb +5 -2
  98. data/lib/pwn/aws/cloud_formation.rb +5 -2
  99. data/lib/pwn/aws/cloud_front.rb +7 -4
  100. data/lib/pwn/aws/cloud_hsm.rb +5 -2
  101. data/lib/pwn/aws/cloud_search.rb +5 -2
  102. data/lib/pwn/aws/cloud_search_domain.rb +5 -2
  103. data/lib/pwn/aws/cloud_trail.rb +5 -2
  104. data/lib/pwn/aws/cloud_watch.rb +5 -2
  105. data/lib/pwn/aws/cloud_watch_events.rb +5 -2
  106. data/lib/pwn/aws/cloud_watch_logs.rb +5 -2
  107. data/lib/pwn/aws/code_build.rb +5 -2
  108. data/lib/pwn/aws/code_commit.rb +5 -2
  109. data/lib/pwn/aws/code_deploy.rb +5 -2
  110. data/lib/pwn/aws/code_pipeline.rb +5 -2
  111. data/lib/pwn/aws/cognito_identity.rb +5 -2
  112. data/lib/pwn/aws/cognito_identity_provider.rb +5 -2
  113. data/lib/pwn/aws/cognito_sync.rb +5 -2
  114. data/lib/pwn/aws/config_service.rb +5 -2
  115. data/lib/pwn/aws/data_pipleline.rb +5 -2
  116. data/lib/pwn/aws/database_migration_service.rb +5 -2
  117. data/lib/pwn/aws/device_farm.rb +5 -2
  118. data/lib/pwn/aws/direct_connect.rb +5 -2
  119. data/lib/pwn/aws/directory_service.rb +5 -2
  120. data/lib/pwn/aws/dynamo_db.rb +5 -2
  121. data/lib/pwn/aws/dynamo_db_streams.rb +5 -2
  122. data/lib/pwn/aws/ec2.rb +5 -2
  123. data/lib/pwn/aws/ecr.rb +5 -2
  124. data/lib/pwn/aws/ecs.rb +5 -2
  125. data/lib/pwn/aws/efs.rb +5 -2
  126. data/lib/pwn/aws/elasti_cache.rb +5 -2
  127. data/lib/pwn/aws/elastic_beanstalk.rb +8 -5
  128. data/lib/pwn/aws/elastic_load_balancing.rb +5 -2
  129. data/lib/pwn/aws/elastic_load_balancing_v2.rb +6 -3
  130. data/lib/pwn/aws/elastic_transcoder.rb +5 -2
  131. data/lib/pwn/aws/elasticsearch_service.rb +5 -2
  132. data/lib/pwn/aws/emr.rb +5 -2
  133. data/lib/pwn/aws/firehose.rb +5 -2
  134. data/lib/pwn/aws/game_lift.rb +5 -2
  135. data/lib/pwn/aws/glacier.rb +6 -3
  136. data/lib/pwn/aws/health.rb +5 -2
  137. data/lib/pwn/aws/iam.rb +10 -4
  138. data/lib/pwn/aws/import_export.rb +5 -2
  139. data/lib/pwn/aws/inspector.rb +5 -2
  140. data/lib/pwn/aws/iot.rb +5 -2
  141. data/lib/pwn/aws/iot_data_plane.rb +5 -2
  142. data/lib/pwn/aws/kinesis.rb +5 -2
  143. data/lib/pwn/aws/kinesis_analytics.rb +5 -2
  144. data/lib/pwn/aws/kms.rb +5 -2
  145. data/lib/pwn/aws/lambda.rb +5 -2
  146. data/lib/pwn/aws/lambda_preview.rb +5 -2
  147. data/lib/pwn/aws/lex.rb +5 -2
  148. data/lib/pwn/aws/lightsail.rb +5 -2
  149. data/lib/pwn/aws/machine_learning.rb +5 -2
  150. data/lib/pwn/aws/marketplace_commerce_analytics.rb +5 -2
  151. data/lib/pwn/aws/marketplace_metering.rb +5 -2
  152. data/lib/pwn/aws/ops_works.rb +5 -2
  153. data/lib/pwn/aws/ops_works_cm.rb +5 -2
  154. data/lib/pwn/aws/pinpoint.rb +5 -2
  155. data/lib/pwn/aws/polly.rb +5 -2
  156. data/lib/pwn/aws/rds.rb +5 -2
  157. data/lib/pwn/aws/redshift.rb +5 -2
  158. data/lib/pwn/aws/rekognition.rb +5 -2
  159. data/lib/pwn/aws/route53.rb +5 -2
  160. data/lib/pwn/aws/route53_domains.rb +5 -2
  161. data/lib/pwn/aws/s3.rb +5 -2
  162. data/lib/pwn/aws/service_catalog.rb +5 -2
  163. data/lib/pwn/aws/ses.rb +5 -2
  164. data/lib/pwn/aws/shield.rb +5 -2
  165. data/lib/pwn/aws/simple_db.rb +5 -2
  166. data/lib/pwn/aws/sms.rb +5 -2
  167. data/lib/pwn/aws/snowball.rb +5 -2
  168. data/lib/pwn/aws/sns.rb +5 -2
  169. data/lib/pwn/aws/sqs.rb +5 -2
  170. data/lib/pwn/aws/ssm.rb +5 -2
  171. data/lib/pwn/aws/states.rb +5 -2
  172. data/lib/pwn/aws/storage_gateway.rb +5 -2
  173. data/lib/pwn/aws/sts.rb +4 -1
  174. data/lib/pwn/aws/support.rb +5 -2
  175. data/lib/pwn/aws/swf.rb +5 -2
  176. data/lib/pwn/aws/waf.rb +5 -2
  177. data/lib/pwn/aws/waf_regional.rb +5 -2
  178. data/lib/pwn/aws/workspaces.rb +5 -2
  179. data/lib/pwn/aws/x_ray.rb +5 -2
  180. data/lib/pwn/aws.rb +4 -0
  181. data/lib/pwn/banner/anon.rb +3 -0
  182. data/lib/pwn/banner/bubble.rb +3 -0
  183. data/lib/pwn/banner/cheshire.rb +3 -0
  184. data/lib/pwn/banner/code_cave.rb +3 -0
  185. data/lib/pwn/banner/dont_panic.rb +3 -0
  186. data/lib/pwn/banner/f_society.rb +3 -0
  187. data/lib/pwn/banner/fork_bomb.rb +3 -0
  188. data/lib/pwn/banner/jmp_esp.rb +3 -0
  189. data/lib/pwn/banner/matrix.rb +5 -1
  190. data/lib/pwn/banner/ninja.rb +3 -0
  191. data/lib/pwn/banner/off_the_air.rb +3 -0
  192. data/lib/pwn/banner/pirate.rb +3 -0
  193. data/lib/pwn/banner/radare2.rb +3 -0
  194. data/lib/pwn/banner/radare2_ai.rb +3 -0
  195. data/lib/pwn/banner/white_rabbit.rb +3 -0
  196. data/lib/pwn/banner.rb +6 -2
  197. data/lib/pwn/blockchain/btc.rb +8 -3
  198. data/lib/pwn/blockchain/eth.rb +10 -3
  199. data/lib/pwn/blockchain.rb +4 -0
  200. data/lib/pwn/bounty/lifecycle_authz_replay.rb +46 -27
  201. data/lib/pwn/bounty.rb +4 -0
  202. data/lib/pwn/config.rb +86 -19
  203. data/lib/pwn/cron.rb +297 -20
  204. data/lib/pwn/driver.rb +2 -18
  205. data/lib/pwn/ffi/adalm_pluto.rb +65 -11
  206. data/lib/pwn/ffi/fftw.rb +31 -6
  207. data/lib/pwn/ffi/hack_rf.rb +59 -8
  208. data/lib/pwn/ffi/liquid.rb +63 -10
  209. data/lib/pwn/ffi/rtl_sdr.rb +35 -5
  210. data/lib/pwn/ffi/soapy_sdr.rb +60 -10
  211. data/lib/pwn/ffi/stdio.rb +5 -8
  212. data/lib/pwn/ffi/volk.rb +36 -7
  213. data/lib/pwn/ffi.rb +12 -0
  214. data/lib/pwn/memory.rb +136 -16
  215. data/lib/pwn/memory_index.rb +34 -19
  216. data/lib/pwn/migrate.rb +34 -24
  217. data/lib/pwn/module_skills.rb +39 -8
  218. data/lib/pwn/plugins/aflplusplus.rb +52 -0
  219. data/lib/pwn/plugins/android.rb +65 -245
  220. data/lib/pwn/plugins/artifact_registry.rb +71 -0
  221. data/lib/pwn/plugins/assembly.rb +9 -4
  222. data/lib/pwn/plugins/authentication_helper.rb +8 -5
  223. data/lib/pwn/plugins/baresip.rb +59 -12
  224. data/lib/pwn/plugins/basic_auth.rb +9 -3
  225. data/lib/pwn/plugins/beef.rb +28 -18
  226. data/lib/pwn/plugins/binary_parser.rb +133 -0
  227. data/lib/pwn/plugins/black_duck_binary_analysis.rb +63 -39
  228. data/lib/pwn/plugins/burp_suite.rb +98 -68
  229. data/lib/pwn/plugins/bus_pirate.rb +15 -8
  230. data/lib/pwn/plugins/char.rb +33 -3
  231. data/lib/pwn/plugins/credential_attack.rb +99 -0
  232. data/lib/pwn/plugins/credit_card.rb +6 -1
  233. data/lib/pwn/plugins/dao_ldap.rb +19 -13
  234. data/lib/pwn/plugins/dao_mongo.rb +11 -5
  235. data/lib/pwn/plugins/dao_postgres.rb +28 -19
  236. data/lib/pwn/plugins/dao_sqlite3.rb +15 -6
  237. data/lib/pwn/plugins/defect_dojo.rb +38 -22
  238. data/lib/pwn/plugins/detect_os.rb +5 -0
  239. data/lib/pwn/plugins/doctor.rb +149 -0
  240. data/lib/pwn/plugins/ein.rb +3 -0
  241. data/lib/pwn/plugins/exploit_dev.rb +264 -0
  242. data/lib/pwn/plugins/file_fu.rb +11 -8
  243. data/lib/pwn/plugins/frida.rb +61 -0
  244. data/lib/pwn/plugins/fuzz.rb +9 -6
  245. data/lib/pwn/plugins/gdb.rb +95 -0
  246. data/lib/pwn/plugins/git.rb +19 -14
  247. data/lib/pwn/plugins/github.rb +38 -15
  248. data/lib/pwn/plugins/google_workspace.rb +188 -45
  249. data/lib/pwn/plugins/hacker_one.rb +159 -35
  250. data/lib/pwn/plugins/hunter.rb +6 -3
  251. data/lib/pwn/plugins/ip_info.rb +9 -4
  252. data/lib/pwn/plugins/irc.rb +28 -15
  253. data/lib/pwn/plugins/jenkins.rb +65 -57
  254. data/lib/pwn/plugins/jira_data_center.rb +30 -22
  255. data/lib/pwn/plugins/jobs.rb +109 -0
  256. data/lib/pwn/plugins/json_pathify.rb +9 -5
  257. data/lib/pwn/plugins/log.rb +113 -13
  258. data/lib/pwn/plugins/mail_agent.rb +87 -79
  259. data/lib/pwn/plugins/metasploit.rb +11 -6
  260. data/lib/pwn/plugins/monkey_patch.rb +3 -0
  261. data/lib/pwn/plugins/msr206.rb +42 -28
  262. data/lib/pwn/plugins/nessus_cloud.rb +44 -4
  263. data/lib/pwn/plugins/nexpose_vuln_scan.rb +40 -24
  264. data/lib/pwn/plugins/nmap_it.rb +14 -34
  265. data/lib/pwn/plugins/nuclei.rb +57 -0
  266. data/lib/pwn/plugins/oauth2.rb +11 -5
  267. data/lib/pwn/plugins/ocr.rb +3 -0
  268. data/lib/pwn/plugins/open_api.rb +5 -2
  269. data/lib/pwn/plugins/openvas.rb +33 -25
  270. data/lib/pwn/plugins/packet.rb +152 -31
  271. data/lib/pwn/plugins/pdf_parse.rb +5 -2
  272. data/lib/pwn/plugins/pony.rb +86 -1
  273. data/lib/pwn/plugins/process_tube.rb +120 -0
  274. data/lib/pwn/plugins/ps.rb +7 -1
  275. data/lib/pwn/plugins/pwn_logger.rb +6 -2
  276. data/lib/pwn/plugins/rabbit_mq.rb +12 -7
  277. data/lib/pwn/plugins/radare2.rb +253 -0
  278. data/lib/pwn/plugins/recon.rb +161 -0
  279. data/lib/pwn/plugins/repl.rb +122 -1
  280. data/lib/pwn/plugins/scannable_codes.rb +5 -1
  281. data/lib/pwn/plugins/serial.rb +24 -14
  282. data/lib/pwn/plugins/shodan.rb +54 -35
  283. data/lib/pwn/plugins/slack_client.rb +11 -6
  284. data/lib/pwn/plugins/sock.rb +16 -8
  285. data/lib/pwn/plugins/spider.rb +5 -2
  286. data/lib/pwn/plugins/sqlmap.rb +49 -0
  287. data/lib/pwn/plugins/ssn.rb +3 -0
  288. data/lib/pwn/plugins/thread_pool.rb +6 -9
  289. data/lib/pwn/plugins/tor.rb +9 -4
  290. data/lib/pwn/plugins/transparent_browser.rb +62 -107
  291. data/lib/pwn/plugins/tty_spinner.rb +16 -2
  292. data/lib/pwn/plugins/twitter_api.rb +6 -2
  293. data/lib/pwn/plugins/uri_scheme.rb +4 -1
  294. data/lib/pwn/plugins/vault.rb +12 -3
  295. data/lib/pwn/plugins/vin.rb +24 -12
  296. data/lib/pwn/plugins/voice.rb +7 -2
  297. data/lib/pwn/plugins/volatility.rb +48 -0
  298. data/lib/pwn/plugins/vsphere.rb +9 -5
  299. data/lib/pwn/plugins/xxd.rb +12 -43
  300. data/lib/pwn/plugins/zaproxy.rb +30 -16
  301. data/lib/pwn/plugins.rb +19 -0
  302. data/lib/pwn/reports/ai_red_team.rb +6 -2
  303. data/lib/pwn/reports/csv.rb +8 -1
  304. data/lib/pwn/reports/fuzz.rb +5 -2
  305. data/lib/pwn/reports/html.rb +8 -1
  306. data/lib/pwn/reports/html_footer.rb +4 -3
  307. data/lib/pwn/reports/html_header.rb +6 -2
  308. data/lib/pwn/reports/json.rb +8 -1
  309. data/lib/pwn/reports/markdown.rb +8 -1
  310. data/lib/pwn/reports/pdf.rb +8 -1
  311. data/lib/pwn/reports/phone.rb +5 -2
  312. data/lib/pwn/reports/sast.rb +6 -2
  313. data/lib/pwn/reports/uri_buster.rb +5 -2
  314. data/lib/pwn/reports/xml.rb +8 -1
  315. data/lib/pwn/reports.rb +19 -0
  316. data/lib/pwn/sast/amqp_connect_as_guest.rb +9 -3
  317. data/lib/pwn/sast/apache_file_system_util_api.rb +9 -3
  318. data/lib/pwn/sast/aws.rb +9 -3
  319. data/lib/pwn/sast/banned_function_calls_c.rb +9 -3
  320. data/lib/pwn/sast/base64.rb +9 -3
  321. data/lib/pwn/sast/beef_hook.rb +9 -3
  322. data/lib/pwn/sast/cmd_execution_go_lang.rb +9 -3
  323. data/lib/pwn/sast/cmd_execution_java.rb +9 -3
  324. data/lib/pwn/sast/cmd_execution_python.rb +9 -3
  325. data/lib/pwn/sast/cmd_execution_ruby.rb +9 -3
  326. data/lib/pwn/sast/cmd_execution_scala.rb +9 -3
  327. data/lib/pwn/sast/csrf.rb +9 -3
  328. data/lib/pwn/sast/deserial_java.rb +9 -3
  329. data/lib/pwn/sast/emoticon.rb +9 -3
  330. data/lib/pwn/sast/eval.rb +9 -3
  331. data/lib/pwn/sast/factory.rb +9 -3
  332. data/lib/pwn/sast/http_authorization_header.rb +9 -3
  333. data/lib/pwn/sast/inner_html.rb +9 -3
  334. data/lib/pwn/sast/keystore.rb +9 -3
  335. data/lib/pwn/sast/local_storage.rb +9 -3
  336. data/lib/pwn/sast/location_hash.rb +9 -3
  337. data/lib/pwn/sast/log4j.rb +9 -3
  338. data/lib/pwn/sast/logger.rb +9 -3
  339. data/lib/pwn/sast/md5.rb +9 -3
  340. data/lib/pwn/sast/outer_html.rb +9 -3
  341. data/lib/pwn/sast/padding_oracle.rb +9 -3
  342. data/lib/pwn/sast/password.rb +9 -3
  343. data/lib/pwn/sast/php_input_mechanisms.rb +9 -3
  344. data/lib/pwn/sast/php_type_juggling.rb +9 -3
  345. data/lib/pwn/sast/pom_version.rb +9 -3
  346. data/lib/pwn/sast/port.rb +9 -3
  347. data/lib/pwn/sast/post_message.rb +9 -3
  348. data/lib/pwn/sast/private_key.rb +9 -3
  349. data/lib/pwn/sast/redirect.rb +9 -3
  350. data/lib/pwn/sast/redos.rb +9 -3
  351. data/lib/pwn/sast/shell.rb +9 -3
  352. data/lib/pwn/sast/signature.rb +9 -3
  353. data/lib/pwn/sast/sql.rb +9 -3
  354. data/lib/pwn/sast/ssl.rb +9 -3
  355. data/lib/pwn/sast/sudo.rb +9 -3
  356. data/lib/pwn/sast/task_tag.rb +9 -3
  357. data/lib/pwn/sast/test_case_engine.rb +11 -7
  358. data/lib/pwn/sast/throw_errors.rb +9 -3
  359. data/lib/pwn/sast/token.rb +9 -3
  360. data/lib/pwn/sast/type_script_type_juggling.rb +9 -3
  361. data/lib/pwn/sast/use_after_free.rb +9 -3
  362. data/lib/pwn/sast/version.rb +9 -3
  363. data/lib/pwn/sast/window_location_hash.rb +9 -3
  364. data/lib/pwn/sast.rb +4 -0
  365. data/lib/pwn/sdr/decoder/adsb.rb +36 -5
  366. data/lib/pwn/sdr/decoder/apt.rb +9 -6
  367. data/lib/pwn/sdr/decoder/base.rb +74 -22
  368. data/lib/pwn/sdr/decoder/bluetooth.rb +17 -5
  369. data/lib/pwn/sdr/decoder/dect.rb +12 -3
  370. data/lib/pwn/sdr/decoder/dsp.rb +229 -39
  371. data/lib/pwn/sdr/decoder/flex.rb +59 -11
  372. data/lib/pwn/sdr/decoder/gps.rb +12 -3
  373. data/lib/pwn/sdr/decoder/gsm.rb +24 -4
  374. data/lib/pwn/sdr/decoder/iridium.rb +12 -3
  375. data/lib/pwn/sdr/decoder/lora.rb +13 -4
  376. data/lib/pwn/sdr/decoder/lte.rb +27 -3
  377. data/lib/pwn/sdr/decoder/morse.rb +12 -3
  378. data/lib/pwn/sdr/decoder/p25.rb +12 -3
  379. data/lib/pwn/sdr/decoder/pager.rb +8 -5
  380. data/lib/pwn/sdr/decoder/pocsag.rb +29 -9
  381. data/lib/pwn/sdr/decoder/rds.rb +14 -8
  382. data/lib/pwn/sdr/decoder/rfid.rb +12 -3
  383. data/lib/pwn/sdr/decoder/rtl433.rb +12 -3
  384. data/lib/pwn/sdr/decoder/rtty.rb +8 -5
  385. data/lib/pwn/sdr/decoder/wifi.rb +12 -3
  386. data/lib/pwn/sdr/decoder/zigbee.rb +12 -3
  387. data/lib/pwn/sdr/decoder.rb +9 -0
  388. data/lib/pwn/sdr/flipper_zero.rb +17 -10
  389. data/lib/pwn/sdr/frequency_allocation.rb +4 -1
  390. data/lib/pwn/sdr/gqrx.rb +178 -119
  391. data/lib/pwn/sdr/rfidler.rb +4 -1
  392. data/lib/pwn/sdr/son_micro_rfid.rb +37 -24
  393. data/lib/pwn/sdr.rb +14 -0
  394. data/lib/pwn/sessions.rb +86 -16
  395. data/lib/pwn/setup.rb +94 -37
  396. data/lib/pwn/version.rb +1 -1
  397. data/lib/pwn/www/app_cobalt_io.rb +11 -5
  398. data/lib/pwn/www/bing.rb +10 -5
  399. data/lib/pwn/www/bug_crowd.rb +11 -5
  400. data/lib/pwn/www/checkip.rb +8 -4
  401. data/lib/pwn/www/coinbase_pro.rb +11 -5
  402. data/lib/pwn/www/duckduckgo.rb +12 -6
  403. data/lib/pwn/www/facebook.rb +11 -5
  404. data/lib/pwn/www/github.rb +11 -5
  405. data/lib/pwn/www/google.rb +11 -5
  406. data/lib/pwn/www/hacker_one.rb +20 -9
  407. data/lib/pwn/www/linkedin.rb +11 -5
  408. data/lib/pwn/www/pandora.rb +11 -5
  409. data/lib/pwn/www/pastebin.rb +9 -4
  410. data/lib/pwn/www/paypal.rb +19 -11
  411. data/lib/pwn/www/synack.rb +11 -5
  412. data/lib/pwn/www/torch.rb +13 -8
  413. data/lib/pwn/www/trading_view.rb +11 -5
  414. data/lib/pwn/www/twitter.rb +11 -5
  415. data/lib/pwn/www/uber.rb +11 -5
  416. data/lib/pwn/www/upwork.rb +11 -5
  417. data/lib/pwn/www/wayback_machine.rb +12 -6
  418. data/lib/pwn/www/youtube.rb +10 -5
  419. data/lib/pwn/www.rb +4 -0
  420. data/spec/conventions_spec.rb +118 -2
  421. data/spec/integration/prompt_builder_spec.rb +1 -1
  422. data/spec/integration/reinforced_feedback_loop_spec.rb +8 -8
  423. data/spec/lib/pwn/ai/agent/injection_guard_spec.rb +65 -0
  424. data/spec/lib/pwn/ai/agent/metrics_spec.rb +15 -0
  425. data/spec/lib/pwn/ai/agent/mistakes_spec.rb +5 -2
  426. data/spec/lib/pwn/ai/agent/policy_spec.rb +33 -2
  427. data/spec/lib/pwn/ai/agent/reward_spec.rb +9 -0
  428. data/spec/lib/pwn/ai/agent/scoreboard_roadmap_spec.rb +61 -0
  429. data/spec/lib/pwn/plugins/aflplusplus_spec.rb +13 -0
  430. data/spec/lib/pwn/plugins/artifact_registry_spec.rb +13 -0
  431. data/spec/lib/pwn/plugins/binary_parser_spec.rb +21 -0
  432. data/spec/lib/pwn/plugins/credential_attack_spec.rb +13 -0
  433. data/spec/lib/pwn/plugins/doctor_spec.rb +23 -0
  434. data/spec/lib/pwn/plugins/exploit_dev_spec.rb +23 -0
  435. data/spec/lib/pwn/plugins/frida_spec.rb +13 -0
  436. data/spec/lib/pwn/plugins/gdb_spec.rb +13 -0
  437. data/spec/lib/pwn/plugins/jobs_spec.rb +13 -0
  438. data/spec/lib/pwn/plugins/nuclei_spec.rb +13 -0
  439. data/spec/lib/pwn/plugins/process_tube_spec.rb +13 -0
  440. data/spec/lib/pwn/plugins/radare2_spec.rb +13 -0
  441. data/spec/lib/pwn/plugins/recon_spec.rb +26 -0
  442. data/spec/lib/pwn/plugins/sqlmap_spec.rb +13 -0
  443. data/spec/lib/pwn/plugins/volatility_spec.rb +13 -0
  444. data/third_party/pwn_rdoc.jsonl +136 -6
  445. metadata +49 -3
  446. data/etc/default_skills/pwn/memory_index/references/urls.md +0 -4
  447. data/etc/default_skills/pwn/plugins/transparent_browser/references/urls.md +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c1b656d9d2cde2b5141da85cc87dbce6985f3f1f264d81c25fd5607121459d7
4
- data.tar.gz: e84304c2573991adf9e99eeff5ec29d4dcad224d719016f81ce3c675b29cbb06
3
+ metadata.gz: a21d92ef6104c4aec2f54470689f0398fda97a2894bb9a61b1034a72b5291e1f
4
+ data.tar.gz: 19a47d2db6aae502ab6a2380853569f172ff393839187818b891f01272029f5f
5
5
  SHA512:
6
- metadata.gz: d7367762d5ee2d30b01ef7b01ba51020a0532459c50d3cc4b327818ebfebae1491253ba0ce1edd264085832ca738f32a0a91d6c1c1fa22c40eada9df79009b91
7
- data.tar.gz: 6ee7b63319321faeb9a62f94c5177ddf83d2ac4d2b3353e8a19ce96a8d3d67d6a090aacb7f976a75ccf7ce28e0ea698923ef044e1026d24c435f147fba1198e0
6
+ metadata.gz: 79f9a1ac713919b1e4cd239f5475b9d14f2b73dcc19152fc0b1e82312d6f1c25062bb90f45ffe5533bd3fda09769faf3207d946110a196d3d050847344ac3549
7
+ data.tar.gz: 8718455cc9a5db44fa41ce916b26292a92889c4c7208ecaa74df310dddafeddfd4d8ba1983ea8c437b83c67a36bc589fb06d5c0d2729e6b104a3bff598c2a7c3
@@ -127,6 +127,7 @@ pwn setup --list-profiles
127
127
  | `voice` | `PWN::Plugins::Voice` · `extro_voice` · espeak-ng / sox |
128
128
  | `exploit` | `Metasploit` · `sqlmap` |
129
129
  | `hardware` | `Serial` · `BusPirate` · `Android` · `BareSIP` · `extro_serial` · `extro_telecomm` |
130
+ | `re` | `Radare2` · `GDB` · `ExploitDev` · `Frida` · Android RE (`apktool`/`jadx`) |
130
131
  | `full` | everything above |
131
132
 
132
133
  ### All flags
@@ -49,8 +49,8 @@ This is the live numeric controller. It does not replace planning.
49
49
  |---|---|
50
50
  | State | request kind, task family, plan quality, answer completeness, usable-result, last action, fail bin, and engine |
51
51
  | Action | tool name, or `final` |
52
- | Step reward | `Reward.semantic_ok` hygiene (`+0.05` / `-0.20`) |
53
- | Terminal reward | `Reward.judge` score (skipped when the cheap proxy is untrusted and there is no judge) |
52
+ | Step reward | 0; 0.01 per tool after 8 |
53
+ | Terminal reward | `Reward.judge` × confidence (sole large R). `plan_coverage` is a tag, not the score. |
54
54
  | Updates | Q-learning (`alpha=0.15`, `gamma=0.85`) and REINFORCE (`alpha=0.05`). Stored trajectories replay twice on warmup so a short table is not empty advice. |
55
55
  | Budget | Eight finished episodes (live or warmup-credited) unlock greedy suggestions. Until then the prompt omits them. |
56
56
  | Steer | Q-advantage in `Registry.rank` once the episode budget is met; keyword fit and CORE_TOOLS still come first. Suggested actions follow `Registry.preference_order` (`ai.agent.tool_preference`). |
@@ -41,6 +41,7 @@ PWN::AI::Agent::Curriculum.practice(opts)
41
41
  - `red_team_plan`
42
42
  - `hindsight`
43
43
  - `train_and_gate`
44
+ - `reclassify_backlog`
44
45
  - `practice_kpi`
45
46
  - `repeating_trend`
46
47
  - `calibrate`
@@ -1,22 +1,22 @@
1
1
  ---
2
- name: pwn-ai-agent-extrospection-osintbridges
3
- description: Drive PWN::AI::Agent::Extrospection::OSINTBridges from pwn_eval.
2
+ name: pwn-ai-agent-extrospection
3
+ description: Drive PWN::AI::Agent::Extrospection from pwn_eval.
4
4
  license: MIT
5
5
  allowed-tools: [pwn, pwn_eval]
6
6
  metadata:
7
7
  bundled: true
8
8
  generated: true
9
- module: PWN::AI::Agent::Extrospection::OSINTBridges
9
+ module: PWN::AI::Agent::Extrospection
10
10
  source: pwn/ai/agent/extrospection/osint/bridges.rb
11
11
  ---
12
12
 
13
- # PWN::AI::Agent::Extrospection::OSINTBridges
13
+ # PWN::AI::Agent::Extrospection
14
14
 
15
15
  Local-tool OSINT bridges for PWN::AI::Agent::Extrospection.osint. Wraps host binaries (theHarvester, spiderfoot, amass, recon-ng) already common on Kali / offensive-tooling images, parses their JSON/CSV output, and returns compact structured hits so they behave like any other feed. Every bridge: * checks binary presence first (returns {skipped:} when absent) * runs passive-only / bounded (timeouts, `-passive`, module lists) * NEVER launches a GUI or web UI
16
16
 
17
17
  ## When to use
18
18
 
19
- Call `PWN::AI::Agent::Extrospection::OSINTBridges` from `pwn_eval` when the task needs this module.
19
+ Call `PWN::AI::Agent::Extrospection` from `pwn_eval` when the task needs this module.
20
20
  Do not reimplement it in shell.
21
21
 
22
22
  ## Methodologies
@@ -27,14 +27,36 @@ Class methods take `(opts = {})` and read `opts`.
27
27
  ## How to call
28
28
 
29
29
  ```ruby
30
- PWN::AI::Agent::Extrospection::OSINTBridges.help
31
- PWN::AI::Agent::Extrospection::OSINTBridges.help(opts)
30
+ PWN::AI::Agent::Extrospection.help
31
+ PWN::AI::Agent::Extrospection.auto_extrospect(opts)
32
32
  ```
33
33
 
34
34
  ## Public methods
35
35
 
36
36
  - `authors`
37
37
  - `help`
38
+ - `auto_extrospect`
39
+ - `correlate`
40
+ - `drift`
41
+ - `intel`
42
+ - `load`
43
+ - `observations`
44
+ - `observe`
45
+ - `osint`
46
+ - `packet_sense`
47
+ - `reset`
48
+ - `revalidate_memory`
49
+ - `rf_tune`
50
+ - `save`
51
+ - `serial_sense`
52
+ - `snapshot`
53
+ - `stats`
54
+ - `telecomm`
55
+ - `to_context`
56
+ - `verify`
57
+ - `vision`
58
+ - `voice_sense`
59
+ - `watch`
38
60
 
39
61
  ## Source
40
62
 
@@ -42,5 +64,5 @@ PWN::AI::Agent::Extrospection::OSINTBridges.help(opts)
42
64
 
43
65
  ## Verification
44
66
 
45
- `PWN::AI::Agent::Extrospection::OSINTBridges.respond_to?(:authors)` after the
67
+ `PWN::AI::Agent::Extrospection.respond_to?(:authors)` after the
46
68
  module is loaded. Read the source for parameter names.
@@ -1,22 +1,22 @@
1
1
  ---
2
- name: pwn-ai-agent-extrospection-osintsocial
3
- description: Drive PWN::AI::Agent::Extrospection::OSINTSocial from pwn_eval.
2
+ name: pwn-ai-agent-extrospection
3
+ description: Drive PWN::AI::Agent::Extrospection from pwn_eval.
4
4
  license: MIT
5
5
  allowed-tools: [pwn, pwn_eval]
6
6
  metadata:
7
7
  bundled: true
8
8
  generated: true
9
- module: PWN::AI::Agent::Extrospection::OSINTSocial
9
+ module: PWN::AI::Agent::Extrospection
10
10
  source: pwn/ai/agent/extrospection/osint/social.rb
11
11
  ---
12
12
 
13
- # PWN::AI::Agent::Extrospection::OSINTSocial
13
+ # PWN::AI::Agent::Extrospection
14
14
 
15
15
  Social-network / developer-identity OSINT feeds for PWN::AI::Agent::Extrospection.osint. All methods here reopen the Extrospection singleton so osint_dispatch can route to them exactly like the in-file feeds. Everything is best-effort: unreachable endpoints degrade to {error:} rather than raising. Feeds provided: :keybase :gravatar :mastodon :bluesky :hackernews :stackexchange :npm :pypi :rubygems :crates :dockerhub :codeberg :sourcehut :chesscom :lichess :steam :telegram :social_sweep New kind :social routes to the profile-fetch feeds; :username still returns the legacy 3-platform hash for back-compat but now also includes a truncated :social_sweep hit list.
16
16
 
17
17
  ## When to use
18
18
 
19
- Call `PWN::AI::Agent::Extrospection::OSINTSocial` from `pwn_eval` when the task needs this module.
19
+ Call `PWN::AI::Agent::Extrospection` from `pwn_eval` when the task needs this module.
20
20
  Do not reimplement it in shell.
21
21
 
22
22
  ## Methodologies
@@ -27,14 +27,36 @@ Class methods take `(opts = {})` and read `opts`.
27
27
  ## How to call
28
28
 
29
29
  ```ruby
30
- PWN::AI::Agent::Extrospection::OSINTSocial.help
31
- PWN::AI::Agent::Extrospection::OSINTSocial.help(opts)
30
+ PWN::AI::Agent::Extrospection.help
31
+ PWN::AI::Agent::Extrospection.auto_extrospect(opts)
32
32
  ```
33
33
 
34
34
  ## Public methods
35
35
 
36
36
  - `authors`
37
37
  - `help`
38
+ - `auto_extrospect`
39
+ - `correlate`
40
+ - `drift`
41
+ - `intel`
42
+ - `load`
43
+ - `observations`
44
+ - `observe`
45
+ - `osint`
46
+ - `packet_sense`
47
+ - `reset`
48
+ - `revalidate_memory`
49
+ - `rf_tune`
50
+ - `save`
51
+ - `serial_sense`
52
+ - `snapshot`
53
+ - `stats`
54
+ - `telecomm`
55
+ - `to_context`
56
+ - `verify`
57
+ - `vision`
58
+ - `voice_sense`
59
+ - `watch`
38
60
 
39
61
  ## References
40
62
 
@@ -46,5 +68,5 @@ PWN::AI::Agent::Extrospection::OSINTSocial.help(opts)
46
68
 
47
69
  ## Verification
48
70
 
49
- `PWN::AI::Agent::Extrospection::OSINTSocial.respond_to?(:authors)` after the
71
+ `PWN::AI::Agent::Extrospection.respond_to?(:authors)` after the
50
72
  module is loaded. Read the source for parameter names.
@@ -1,4 +1,4 @@
1
- # PWN::AI::Agent::Extrospection::OSINTSocial source links
1
+ # PWN::AI::Agent::Extrospection source links
2
2
 
3
3
  - https://keybase.io/_/api/1.0/user/lookup.json?usernames=[redacted].json
4
4
  - https://[redacted]/.well-known/webfinger?resource=acct:[redacted]/api/v1/accounts/lookup?acct=[redacted]/
@@ -29,4 +29,3 @@
29
29
  - https://data.police.uk/api/crime-last-updated
30
30
  - https://callook.info/[redacted]
31
31
  - https://api.microlink.io?url=[redacted]:[redacted]#{cmd.start_with?(
32
- - https://target/api/version
@@ -52,10 +52,14 @@ PWN::AI::Agent::Metrics.load(opts)
52
52
  - `changepoints`
53
53
  - `record_calibration`
54
54
  - `calibration`
55
+ - `calibration_green`
56
+ - `scale_prediction`
57
+ - `scoreboard`
55
58
  - `health_line`
56
59
  - `reset`
57
60
  - `authors`
58
61
  - `help`
62
+ - `calibration_green?`
59
63
 
60
64
  ## Source
61
65
 
@@ -12,7 +12,7 @@ metadata:
12
12
 
13
13
  # PWN::AI::Agent::Policy
14
14
 
15
- PWN::AI::Agent::Policy is the LIVE tabular RL controller that pwn-ai did not have before R5. Everything else in the harness is retrieval-plus-policy: scores are written to disk and re-injected as prose, or exported later for optional LoRA. This module is the missing MDP: state s — discretized (kind, task, plan, completeness, usable, last, fail) action a — tool name, or "final" reward r — step: semantic_ok hygiene; terminal: Reward.judge next s' — state after the tool result Each Loop turn is one episode. Transitions land in ~/.pwn/policy_traj.jsonl. Q(s,a) and REINFORCE logits H(s,a) are updated from those tuples and persisted in ~/.pwn/policy.json. The learned Q values are an ADVISORY term in Registry.rank. They never replace TaskSummarizer planning, plan_first, or CORE_TOOLS. Disable with PWN::Env[:ai][:agent][:policy] = false.
15
+ PWN::AI::Agent::Policy is the LIVE tabular RL controller that pwn-ai did not have before R5. Everything else in the harness is retrieval-plus-policy: scores are written to disk and re-injected as prose, or exported later for optional LoRA. This module is the missing MDP: state s — discretized (kind, task, plan, completeness, usable, last, fail) action a — tool name, or "final" reward r — step: 0 (spam cost −0.01 after 8 tools); terminal: judge × confidence next s' — state after the tool result Each Loop turn is one episode. Transitions land in ~/.pwn/policy_traj.jsonl. Q(s,a) and REINFORCE logits H(s,a) are updated from those tuples and persisted in ~/.pwn/policy.json. The learned Q values are an ADVISORY term in Registry.rank. They never replace TaskSummarizer planning, plan_first, or CORE_TOOLS. Disable with PWN::Env[:ai][:agent][:policy] = false.
16
16
 
17
17
  ## When to use
18
18
 
@@ -34,6 +34,7 @@ PWN::AI::Agent::Reward.judge(opts)
34
34
  ## Public methods
35
35
 
36
36
  - `judge`
37
+ - `promote_to_success`
37
38
  - `prm`
38
39
  - `plan_coverage`
39
40
  - `sentinel`
@@ -58,6 +59,7 @@ PWN::AI::Agent::Reward.judge(opts)
58
59
  - `judge_sample_weight`
59
60
  - `authors`
60
61
  - `help`
62
+ - `promote_to_success?`
61
63
  - `usable_preference?`
62
64
 
63
65
  ## Source
@@ -52,6 +52,7 @@ PWN::AI::Agent::ToolGuard.present(opts)
52
52
  - `timeout_lesson`
53
53
  - `timeout_result`
54
54
  - `timeout_prior_count`
55
+ - `refuse_copied_persist`
55
56
  - `authors`
56
57
  - `help`
57
58
  - `bashism?`
@@ -60,6 +61,7 @@ PWN::AI::Agent::ToolGuard.present(opts)
60
61
  - `present?`
61
62
  - `protect_core_constants!`
62
63
  - `protect_http!`
64
+ - `refuse_copied_persist?`
63
65
  - `reset_timeout_budget!`
64
66
  - `shell_bash?`
65
67
 
@@ -43,10 +43,6 @@ PWN::MemoryIndex.available(opts)
43
43
  - `help`
44
44
  - `available?`
45
45
 
46
- ## References
47
-
48
- - `references/urls.md` — URLs from source
49
-
50
46
  ## Source
51
47
 
52
48
  `pwn/memory_index.rb`
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: pwn-plugins-aflplusplus
3
+ description: Drive PWN::Plugins::AFLplusplus from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::AFLplusplus
10
+ source: pwn/plugins/aflplusplus.rb
11
+ ---
12
+
13
+ # PWN::Plugins::AFLplusplus
14
+
15
+ AFL++ campaign wrapper.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::AFLplusplus` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/aflplusplus.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::AFLplusplus.help
31
+ PWN::Plugins::AFLplusplus.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `fuzz`
38
+ - `authors`
39
+ - `help`
40
+
41
+ ## Source
42
+
43
+ `pwn/plugins/aflplusplus.rb`
44
+
45
+ ## Verification
46
+
47
+ `PWN::Plugins::AFLplusplus.respond_to?(:required_bins)` after the
48
+ module is loaded. Read the source for parameter names.
@@ -49,6 +49,7 @@ PWN::Plugins::Android.adb_net_connect(opts)
49
49
  - `close_app`
50
50
  - `invoke_event_listener`
51
51
  - `adb_net_disconnect`
52
+ - `apk_pipeline`
52
53
  - `authors`
53
54
  - `help`
54
55
 
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: pwn-plugins-artifactregistry
3
+ description: Drive PWN::Plugins::ArtifactRegistry from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::ArtifactRegistry
10
+ source: pwn/plugins/artifact_registry.rb
11
+ ---
12
+
13
+ # PWN::Plugins::ArtifactRegistry
14
+
15
+ ~/.pwn/artifacts/<session>/ loot index for session_recall.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::ArtifactRegistry` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/artifact_registry.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::ArtifactRegistry.help
31
+ PWN::Plugins::ArtifactRegistry.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `register`
38
+ - `list`
39
+ - `authors`
40
+ - `help`
41
+
42
+ ## Source
43
+
44
+ `pwn/plugins/artifact_registry.rb`
45
+
46
+ ## Verification
47
+
48
+ `PWN::Plugins::ArtifactRegistry.respond_to?(:required_bins)` after the
49
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: pwn-plugins-binaryparser
3
+ description: Drive PWN::Plugins::BinaryParser from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::BinaryParser
10
+ source: pwn/plugins/binary_parser.rb
11
+ ---
12
+
13
+ # PWN::Plugins::BinaryParser
14
+
15
+ ELF/PE/Mach-O headers, sections, symbols, imports/exports, relocations via Metasm loaders.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::BinaryParser` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/binary_parser.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::BinaryParser.help
31
+ PWN::Plugins::BinaryParser.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `load_exe`
38
+ - `info`
39
+ - `sections`
40
+ - `symbols`
41
+ - `imports`
42
+ - `exports`
43
+ - `relocations`
44
+ - `authors`
45
+ - `help`
46
+
47
+ ## Source
48
+
49
+ `pwn/plugins/binary_parser.rb`
50
+
51
+ ## Verification
52
+
53
+ `PWN::Plugins::BinaryParser.respond_to?(:required_bins)` after the
54
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: pwn-plugins-credentialattack
3
+ description: Drive PWN::Plugins::CredentialAttack from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::CredentialAttack
10
+ source: pwn/plugins/credential_attack.rb
11
+ ---
12
+
13
+ # PWN::Plugins::CredentialAttack
14
+
15
+ hydra/john/hashcat wrappers and ~/.pwn/wordlists convention.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::CredentialAttack` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/credential_attack.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::CredentialAttack.help
31
+ PWN::Plugins::CredentialAttack.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `wordlist_dir`
38
+ - `hydra`
39
+ - `john`
40
+ - `hashcat`
41
+ - `authors`
42
+ - `help`
43
+
44
+ ## Source
45
+
46
+ `pwn/plugins/credential_attack.rb`
47
+
48
+ ## Verification
49
+
50
+ `PWN::Plugins::CredentialAttack.respond_to?(:required_bins)` after the
51
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: pwn-plugins-doctor
3
+ description: Drive PWN::Plugins::Doctor from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::Doctor
10
+ source: pwn/plugins/doctor.rb
11
+ ---
12
+
13
+ # PWN::Plugins::Doctor
14
+
15
+ Plugin/binary/capability preflight. Plugins declare required_bins / required_caps; HOST summaries list degraded modules without autoloading the whole plugin tree.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::Doctor` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/doctor.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::Doctor.help
31
+ PWN::Plugins::Doctor.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `bin`
38
+ - `require_bin`
39
+ - `cap_net_raw`
40
+ - `require_cap_net_raw`
41
+ - `check`
42
+ - `host_summary`
43
+ - `authors`
44
+ - `help`
45
+ - `bin?`
46
+ - `cap_net_raw?`
47
+ - `require_bin!`
48
+ - `require_cap_net_raw!`
49
+
50
+ ## Source
51
+
52
+ `pwn/plugins/doctor.rb`
53
+
54
+ ## Verification
55
+
56
+ `PWN::Plugins::Doctor.respond_to?(:required_bins)` after the
57
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: pwn-plugins-exploitdev
3
+ description: Drive PWN::Plugins::ExploitDev from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::ExploitDev
10
+ source: pwn/plugins/exploit_dev.rb
11
+ ---
12
+
13
+ # PWN::Plugins::ExploitDev
14
+
15
+ p8/p16/p32/p64, cyclic, flat, fmt writes, gadget search.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::ExploitDev` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/exploit_dev.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::ExploitDev.help
31
+ PWN::Plugins::ExploitDev.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `p8`
38
+ - `p16`
39
+ - `p32`
40
+ - `p64`
41
+ - `u8`
42
+ - `u16`
43
+ - `u32`
44
+ - `u64`
45
+ - `cyclic`
46
+ - `cyclic_find`
47
+ - `flat`
48
+ - `shellcode`
49
+ - `fmt_writes`
50
+ - `gadgets`
51
+ - `authors`
52
+ - `help`
53
+
54
+ ## Source
55
+
56
+ `pwn/plugins/exploit_dev.rb`
57
+
58
+ ## Verification
59
+
60
+ `PWN::Plugins::ExploitDev.respond_to?(:required_bins)` after the
61
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: pwn-plugins-frida
3
+ description: Drive PWN::Plugins::Frida from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::Frida
10
+ source: pwn/plugins/frida.rb
11
+ ---
12
+
13
+ # PWN::Plugins::Frida
14
+
15
+ Frida attach/spawn + script injection.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::Frida` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/frida.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::Frida.help
31
+ PWN::Plugins::Frida.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `ps`
38
+ - `attach`
39
+ - `authors`
40
+ - `help`
41
+
42
+ ## Source
43
+
44
+ `pwn/plugins/frida.rb`
45
+
46
+ ## Verification
47
+
48
+ `PWN::Plugins::Frida.respond_to?(:required_bins)` after the
49
+ module is loaded. Read the source for parameter names.