pwn 0.5.708 → 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 (434) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/Installation.md +1 -0
  3. data/etc/default_skills/pwn/ai/agent/extrospection/osint/bridges/SKILL.md +30 -8
  4. data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/SKILL.md +30 -8
  5. data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/references/urls.md +1 -1
  6. data/etc/default_skills/pwn/ai/agent/extrospection/references/urls.md +0 -1
  7. data/etc/default_skills/pwn/memory_index/SKILL.md +0 -4
  8. data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +48 -0
  9. data/etc/default_skills/pwn/plugins/android/SKILL.md +1 -0
  10. data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +49 -0
  11. data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +54 -0
  12. data/etc/default_skills/pwn/plugins/credential_attack/SKILL.md +51 -0
  13. data/etc/default_skills/pwn/plugins/doctor/SKILL.md +57 -0
  14. data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +61 -0
  15. data/etc/default_skills/pwn/plugins/frida/SKILL.md +49 -0
  16. data/etc/default_skills/pwn/plugins/gdb/SKILL.md +52 -0
  17. data/etc/default_skills/pwn/plugins/jobs/SKILL.md +51 -0
  18. data/etc/default_skills/pwn/plugins/nuclei/SKILL.md +48 -0
  19. data/etc/default_skills/pwn/plugins/process_tube/SKILL.md +52 -0
  20. data/etc/default_skills/pwn/plugins/radare2/SKILL.md +59 -0
  21. data/etc/default_skills/pwn/plugins/recon/SKILL.md +55 -0
  22. data/etc/default_skills/pwn/plugins/recon/references/urls.md +5 -0
  23. data/etc/default_skills/pwn/plugins/sqlmap/SKILL.md +48 -0
  24. data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +0 -4
  25. data/etc/default_skills/pwn/plugins/volatility/SKILL.md +48 -0
  26. data/lib/pwn/ai/agent/assembly.rb +4 -1
  27. data/lib/pwn/ai/agent/btc.rb +4 -1
  28. data/lib/pwn/ai/agent/burp_suite.rb +5 -2
  29. data/lib/pwn/ai/agent/curriculum.rb +89 -30
  30. data/lib/pwn/ai/agent/dispatch.rb +27 -16
  31. data/lib/pwn/ai/agent/extrospection/osint/bridges.rb +9 -18
  32. data/lib/pwn/ai/agent/extrospection/osint/social.rb +9 -18
  33. data/lib/pwn/ai/agent/extrospection.rb +185 -60
  34. data/lib/pwn/ai/agent/gqrx.rb +4 -1
  35. data/lib/pwn/ai/agent/hacker_one.rb +5 -2
  36. data/lib/pwn/ai/agent/learning.rb +142 -25
  37. data/lib/pwn/ai/agent/loop.rb +53 -46
  38. data/lib/pwn/ai/agent/metrics.rb +133 -23
  39. data/lib/pwn/ai/agent/mistakes.rb +126 -17
  40. data/lib/pwn/ai/agent/open_goal.rb +25 -9
  41. data/lib/pwn/ai/agent/policy.rb +158 -18
  42. data/lib/pwn/ai/agent/prompt_builder.rb +21 -11
  43. data/lib/pwn/ai/agent/prompt_cache.rb +44 -13
  44. data/lib/pwn/ai/agent/reflect.rb +9 -5
  45. data/lib/pwn/ai/agent/registry.rb +65 -12
  46. data/lib/pwn/ai/agent/result.rb +19 -10
  47. data/lib/pwn/ai/agent/reward.rb +150 -32
  48. data/lib/pwn/ai/agent/sast.rb +4 -1
  49. data/lib/pwn/ai/agent/swarm.rb +72 -36
  50. data/lib/pwn/ai/agent/task_summarizer.rb +165 -36
  51. data/lib/pwn/ai/agent/tool_guard.rb +105 -6
  52. data/lib/pwn/ai/agent/transparent_browser.rb +4 -1
  53. data/lib/pwn/ai/agent/turn_finalizer.rb +41 -21
  54. data/lib/pwn/ai/agent/vuln_gen.rb +6 -3
  55. data/lib/pwn/ai/agent.rb +4 -0
  56. data/lib/pwn/ai/anthropic.rb +41 -7
  57. data/lib/pwn/ai/gemini.rb +21 -11
  58. data/lib/pwn/ai/grok.rb +44 -6
  59. data/lib/pwn/ai/http_retry.rb +40 -12
  60. data/lib/pwn/ai/ollama.rb +19 -10
  61. data/lib/pwn/ai/open_ai.rb +81 -30
  62. data/lib/pwn/ai/open_web_ui.rb +20 -14
  63. data/lib/pwn/ai/red_team/agent_protocol_abuse.rb +7 -1
  64. data/lib/pwn/ai/red_team/data_and_model_poisoning.rb +7 -1
  65. data/lib/pwn/ai/red_team/excessive_agency.rb +7 -1
  66. data/lib/pwn/ai/red_team/hidden_context_exposure.rb +7 -1
  67. data/lib/pwn/ai/red_team/insecure_output_handling.rb +7 -1
  68. data/lib/pwn/ai/red_team/jailbreak.rb +7 -1
  69. data/lib/pwn/ai/red_team/memory_poisoning.rb +7 -1
  70. data/lib/pwn/ai/red_team/multimodal_injection.rb +7 -1
  71. data/lib/pwn/ai/red_team/overreliance.rb +7 -1
  72. data/lib/pwn/ai/red_team/payload_splitting.rb +7 -1
  73. data/lib/pwn/ai/red_team/prompt_injection.rb +7 -1
  74. data/lib/pwn/ai/red_team/rag_poisoning.rb +7 -1
  75. data/lib/pwn/ai/red_team/sensitive_information_disclosure.rb +7 -1
  76. data/lib/pwn/ai/red_team/supply_chain.rb +7 -1
  77. data/lib/pwn/ai/red_team/system_prompt_extraction.rb +7 -1
  78. data/lib/pwn/ai/red_team/test_case_engine.rb +12 -9
  79. data/lib/pwn/ai/red_team/token_smuggling.rb +7 -1
  80. data/lib/pwn/ai/red_team/unbounded_consumption.rb +7 -1
  81. data/lib/pwn/ai/red_team/vector_and_embedding_weaknesses.rb +7 -1
  82. data/lib/pwn/ai/red_team.rb +4 -0
  83. data/lib/pwn/ai.rb +4 -0
  84. data/lib/pwn/aws/acm.rb +5 -2
  85. data/lib/pwn/aws/api_gateway.rb +10 -7
  86. data/lib/pwn/aws/app_stream.rb +5 -2
  87. data/lib/pwn/aws/application_auto_scaling.rb +5 -2
  88. data/lib/pwn/aws/application_discovery_service.rb +5 -2
  89. data/lib/pwn/aws/auto_scaling.rb +5 -2
  90. data/lib/pwn/aws/batch.rb +5 -2
  91. data/lib/pwn/aws/budgets.rb +5 -2
  92. data/lib/pwn/aws/cloud_formation.rb +5 -2
  93. data/lib/pwn/aws/cloud_front.rb +7 -4
  94. data/lib/pwn/aws/cloud_hsm.rb +5 -2
  95. data/lib/pwn/aws/cloud_search.rb +5 -2
  96. data/lib/pwn/aws/cloud_search_domain.rb +5 -2
  97. data/lib/pwn/aws/cloud_trail.rb +5 -2
  98. data/lib/pwn/aws/cloud_watch.rb +5 -2
  99. data/lib/pwn/aws/cloud_watch_events.rb +5 -2
  100. data/lib/pwn/aws/cloud_watch_logs.rb +5 -2
  101. data/lib/pwn/aws/code_build.rb +5 -2
  102. data/lib/pwn/aws/code_commit.rb +5 -2
  103. data/lib/pwn/aws/code_deploy.rb +5 -2
  104. data/lib/pwn/aws/code_pipeline.rb +5 -2
  105. data/lib/pwn/aws/cognito_identity.rb +5 -2
  106. data/lib/pwn/aws/cognito_identity_provider.rb +5 -2
  107. data/lib/pwn/aws/cognito_sync.rb +5 -2
  108. data/lib/pwn/aws/config_service.rb +5 -2
  109. data/lib/pwn/aws/data_pipleline.rb +5 -2
  110. data/lib/pwn/aws/database_migration_service.rb +5 -2
  111. data/lib/pwn/aws/device_farm.rb +5 -2
  112. data/lib/pwn/aws/direct_connect.rb +5 -2
  113. data/lib/pwn/aws/directory_service.rb +5 -2
  114. data/lib/pwn/aws/dynamo_db.rb +5 -2
  115. data/lib/pwn/aws/dynamo_db_streams.rb +5 -2
  116. data/lib/pwn/aws/ec2.rb +5 -2
  117. data/lib/pwn/aws/ecr.rb +5 -2
  118. data/lib/pwn/aws/ecs.rb +5 -2
  119. data/lib/pwn/aws/efs.rb +5 -2
  120. data/lib/pwn/aws/elasti_cache.rb +5 -2
  121. data/lib/pwn/aws/elastic_beanstalk.rb +8 -5
  122. data/lib/pwn/aws/elastic_load_balancing.rb +5 -2
  123. data/lib/pwn/aws/elastic_load_balancing_v2.rb +6 -3
  124. data/lib/pwn/aws/elastic_transcoder.rb +5 -2
  125. data/lib/pwn/aws/elasticsearch_service.rb +5 -2
  126. data/lib/pwn/aws/emr.rb +5 -2
  127. data/lib/pwn/aws/firehose.rb +5 -2
  128. data/lib/pwn/aws/game_lift.rb +5 -2
  129. data/lib/pwn/aws/glacier.rb +6 -3
  130. data/lib/pwn/aws/health.rb +5 -2
  131. data/lib/pwn/aws/iam.rb +10 -4
  132. data/lib/pwn/aws/import_export.rb +5 -2
  133. data/lib/pwn/aws/inspector.rb +5 -2
  134. data/lib/pwn/aws/iot.rb +5 -2
  135. data/lib/pwn/aws/iot_data_plane.rb +5 -2
  136. data/lib/pwn/aws/kinesis.rb +5 -2
  137. data/lib/pwn/aws/kinesis_analytics.rb +5 -2
  138. data/lib/pwn/aws/kms.rb +5 -2
  139. data/lib/pwn/aws/lambda.rb +5 -2
  140. data/lib/pwn/aws/lambda_preview.rb +5 -2
  141. data/lib/pwn/aws/lex.rb +5 -2
  142. data/lib/pwn/aws/lightsail.rb +5 -2
  143. data/lib/pwn/aws/machine_learning.rb +5 -2
  144. data/lib/pwn/aws/marketplace_commerce_analytics.rb +5 -2
  145. data/lib/pwn/aws/marketplace_metering.rb +5 -2
  146. data/lib/pwn/aws/ops_works.rb +5 -2
  147. data/lib/pwn/aws/ops_works_cm.rb +5 -2
  148. data/lib/pwn/aws/pinpoint.rb +5 -2
  149. data/lib/pwn/aws/polly.rb +5 -2
  150. data/lib/pwn/aws/rds.rb +5 -2
  151. data/lib/pwn/aws/redshift.rb +5 -2
  152. data/lib/pwn/aws/rekognition.rb +5 -2
  153. data/lib/pwn/aws/route53.rb +5 -2
  154. data/lib/pwn/aws/route53_domains.rb +5 -2
  155. data/lib/pwn/aws/s3.rb +5 -2
  156. data/lib/pwn/aws/service_catalog.rb +5 -2
  157. data/lib/pwn/aws/ses.rb +5 -2
  158. data/lib/pwn/aws/shield.rb +5 -2
  159. data/lib/pwn/aws/simple_db.rb +5 -2
  160. data/lib/pwn/aws/sms.rb +5 -2
  161. data/lib/pwn/aws/snowball.rb +5 -2
  162. data/lib/pwn/aws/sns.rb +5 -2
  163. data/lib/pwn/aws/sqs.rb +5 -2
  164. data/lib/pwn/aws/ssm.rb +5 -2
  165. data/lib/pwn/aws/states.rb +5 -2
  166. data/lib/pwn/aws/storage_gateway.rb +5 -2
  167. data/lib/pwn/aws/sts.rb +4 -1
  168. data/lib/pwn/aws/support.rb +5 -2
  169. data/lib/pwn/aws/swf.rb +5 -2
  170. data/lib/pwn/aws/waf.rb +5 -2
  171. data/lib/pwn/aws/waf_regional.rb +5 -2
  172. data/lib/pwn/aws/workspaces.rb +5 -2
  173. data/lib/pwn/aws/x_ray.rb +5 -2
  174. data/lib/pwn/aws.rb +4 -0
  175. data/lib/pwn/banner/anon.rb +3 -0
  176. data/lib/pwn/banner/bubble.rb +3 -0
  177. data/lib/pwn/banner/cheshire.rb +3 -0
  178. data/lib/pwn/banner/code_cave.rb +3 -0
  179. data/lib/pwn/banner/dont_panic.rb +3 -0
  180. data/lib/pwn/banner/f_society.rb +3 -0
  181. data/lib/pwn/banner/fork_bomb.rb +3 -0
  182. data/lib/pwn/banner/jmp_esp.rb +3 -0
  183. data/lib/pwn/banner/matrix.rb +5 -1
  184. data/lib/pwn/banner/ninja.rb +3 -0
  185. data/lib/pwn/banner/off_the_air.rb +3 -0
  186. data/lib/pwn/banner/pirate.rb +3 -0
  187. data/lib/pwn/banner/radare2.rb +3 -0
  188. data/lib/pwn/banner/radare2_ai.rb +3 -0
  189. data/lib/pwn/banner/white_rabbit.rb +3 -0
  190. data/lib/pwn/banner.rb +6 -2
  191. data/lib/pwn/blockchain/btc.rb +8 -3
  192. data/lib/pwn/blockchain/eth.rb +10 -3
  193. data/lib/pwn/blockchain.rb +4 -0
  194. data/lib/pwn/bounty/lifecycle_authz_replay.rb +46 -27
  195. data/lib/pwn/bounty.rb +4 -0
  196. data/lib/pwn/config.rb +79 -13
  197. data/lib/pwn/cron.rb +297 -20
  198. data/lib/pwn/driver.rb +2 -18
  199. data/lib/pwn/ffi/adalm_pluto.rb +65 -11
  200. data/lib/pwn/ffi/fftw.rb +31 -6
  201. data/lib/pwn/ffi/hack_rf.rb +59 -8
  202. data/lib/pwn/ffi/liquid.rb +63 -10
  203. data/lib/pwn/ffi/rtl_sdr.rb +35 -5
  204. data/lib/pwn/ffi/soapy_sdr.rb +60 -10
  205. data/lib/pwn/ffi/stdio.rb +5 -8
  206. data/lib/pwn/ffi/volk.rb +36 -7
  207. data/lib/pwn/ffi.rb +12 -0
  208. data/lib/pwn/memory.rb +136 -16
  209. data/lib/pwn/memory_index.rb +34 -19
  210. data/lib/pwn/migrate.rb +34 -24
  211. data/lib/pwn/module_skills.rb +39 -8
  212. data/lib/pwn/plugins/aflplusplus.rb +52 -0
  213. data/lib/pwn/plugins/android.rb +65 -245
  214. data/lib/pwn/plugins/artifact_registry.rb +71 -0
  215. data/lib/pwn/plugins/assembly.rb +9 -4
  216. data/lib/pwn/plugins/authentication_helper.rb +8 -5
  217. data/lib/pwn/plugins/baresip.rb +59 -12
  218. data/lib/pwn/plugins/basic_auth.rb +9 -3
  219. data/lib/pwn/plugins/beef.rb +28 -18
  220. data/lib/pwn/plugins/binary_parser.rb +133 -0
  221. data/lib/pwn/plugins/black_duck_binary_analysis.rb +63 -39
  222. data/lib/pwn/plugins/burp_suite.rb +98 -68
  223. data/lib/pwn/plugins/bus_pirate.rb +15 -8
  224. data/lib/pwn/plugins/char.rb +33 -3
  225. data/lib/pwn/plugins/credential_attack.rb +99 -0
  226. data/lib/pwn/plugins/credit_card.rb +6 -1
  227. data/lib/pwn/plugins/dao_ldap.rb +19 -13
  228. data/lib/pwn/plugins/dao_mongo.rb +11 -5
  229. data/lib/pwn/plugins/dao_postgres.rb +28 -19
  230. data/lib/pwn/plugins/dao_sqlite3.rb +15 -6
  231. data/lib/pwn/plugins/defect_dojo.rb +38 -22
  232. data/lib/pwn/plugins/detect_os.rb +5 -0
  233. data/lib/pwn/plugins/doctor.rb +149 -0
  234. data/lib/pwn/plugins/ein.rb +3 -0
  235. data/lib/pwn/plugins/exploit_dev.rb +264 -0
  236. data/lib/pwn/plugins/file_fu.rb +11 -8
  237. data/lib/pwn/plugins/frida.rb +61 -0
  238. data/lib/pwn/plugins/fuzz.rb +9 -6
  239. data/lib/pwn/plugins/gdb.rb +95 -0
  240. data/lib/pwn/plugins/git.rb +19 -14
  241. data/lib/pwn/plugins/github.rb +38 -15
  242. data/lib/pwn/plugins/google_workspace.rb +188 -45
  243. data/lib/pwn/plugins/hacker_one.rb +159 -35
  244. data/lib/pwn/plugins/hunter.rb +6 -3
  245. data/lib/pwn/plugins/ip_info.rb +9 -4
  246. data/lib/pwn/plugins/irc.rb +28 -15
  247. data/lib/pwn/plugins/jenkins.rb +65 -57
  248. data/lib/pwn/plugins/jira_data_center.rb +30 -22
  249. data/lib/pwn/plugins/jobs.rb +109 -0
  250. data/lib/pwn/plugins/json_pathify.rb +9 -5
  251. data/lib/pwn/plugins/log.rb +113 -13
  252. data/lib/pwn/plugins/mail_agent.rb +87 -79
  253. data/lib/pwn/plugins/metasploit.rb +11 -6
  254. data/lib/pwn/plugins/monkey_patch.rb +3 -0
  255. data/lib/pwn/plugins/msr206.rb +42 -28
  256. data/lib/pwn/plugins/nessus_cloud.rb +44 -4
  257. data/lib/pwn/plugins/nexpose_vuln_scan.rb +40 -24
  258. data/lib/pwn/plugins/nmap_it.rb +14 -34
  259. data/lib/pwn/plugins/nuclei.rb +57 -0
  260. data/lib/pwn/plugins/oauth2.rb +11 -5
  261. data/lib/pwn/plugins/ocr.rb +3 -0
  262. data/lib/pwn/plugins/open_api.rb +5 -2
  263. data/lib/pwn/plugins/openvas.rb +33 -25
  264. data/lib/pwn/plugins/packet.rb +152 -31
  265. data/lib/pwn/plugins/pdf_parse.rb +5 -2
  266. data/lib/pwn/plugins/pony.rb +86 -1
  267. data/lib/pwn/plugins/process_tube.rb +120 -0
  268. data/lib/pwn/plugins/ps.rb +7 -1
  269. data/lib/pwn/plugins/pwn_logger.rb +6 -2
  270. data/lib/pwn/plugins/rabbit_mq.rb +12 -7
  271. data/lib/pwn/plugins/radare2.rb +253 -0
  272. data/lib/pwn/plugins/recon.rb +161 -0
  273. data/lib/pwn/plugins/repl.rb +122 -1
  274. data/lib/pwn/plugins/scannable_codes.rb +5 -1
  275. data/lib/pwn/plugins/serial.rb +24 -14
  276. data/lib/pwn/plugins/shodan.rb +54 -35
  277. data/lib/pwn/plugins/slack_client.rb +11 -6
  278. data/lib/pwn/plugins/sock.rb +16 -8
  279. data/lib/pwn/plugins/spider.rb +5 -2
  280. data/lib/pwn/plugins/sqlmap.rb +49 -0
  281. data/lib/pwn/plugins/ssn.rb +3 -0
  282. data/lib/pwn/plugins/thread_pool.rb +6 -9
  283. data/lib/pwn/plugins/tor.rb +9 -4
  284. data/lib/pwn/plugins/transparent_browser.rb +62 -107
  285. data/lib/pwn/plugins/tty_spinner.rb +16 -2
  286. data/lib/pwn/plugins/twitter_api.rb +6 -2
  287. data/lib/pwn/plugins/uri_scheme.rb +4 -1
  288. data/lib/pwn/plugins/vault.rb +12 -3
  289. data/lib/pwn/plugins/vin.rb +24 -12
  290. data/lib/pwn/plugins/voice.rb +7 -2
  291. data/lib/pwn/plugins/volatility.rb +48 -0
  292. data/lib/pwn/plugins/vsphere.rb +9 -5
  293. data/lib/pwn/plugins/xxd.rb +12 -43
  294. data/lib/pwn/plugins/zaproxy.rb +30 -16
  295. data/lib/pwn/plugins.rb +19 -0
  296. data/lib/pwn/reports/ai_red_team.rb +6 -2
  297. data/lib/pwn/reports/csv.rb +8 -1
  298. data/lib/pwn/reports/fuzz.rb +5 -2
  299. data/lib/pwn/reports/html.rb +8 -1
  300. data/lib/pwn/reports/html_footer.rb +4 -3
  301. data/lib/pwn/reports/html_header.rb +6 -2
  302. data/lib/pwn/reports/json.rb +8 -1
  303. data/lib/pwn/reports/markdown.rb +8 -1
  304. data/lib/pwn/reports/pdf.rb +8 -1
  305. data/lib/pwn/reports/phone.rb +5 -2
  306. data/lib/pwn/reports/sast.rb +6 -2
  307. data/lib/pwn/reports/uri_buster.rb +5 -2
  308. data/lib/pwn/reports/xml.rb +8 -1
  309. data/lib/pwn/reports.rb +19 -0
  310. data/lib/pwn/sast/amqp_connect_as_guest.rb +9 -3
  311. data/lib/pwn/sast/apache_file_system_util_api.rb +9 -3
  312. data/lib/pwn/sast/aws.rb +9 -3
  313. data/lib/pwn/sast/banned_function_calls_c.rb +9 -3
  314. data/lib/pwn/sast/base64.rb +9 -3
  315. data/lib/pwn/sast/beef_hook.rb +9 -3
  316. data/lib/pwn/sast/cmd_execution_go_lang.rb +9 -3
  317. data/lib/pwn/sast/cmd_execution_java.rb +9 -3
  318. data/lib/pwn/sast/cmd_execution_python.rb +9 -3
  319. data/lib/pwn/sast/cmd_execution_ruby.rb +9 -3
  320. data/lib/pwn/sast/cmd_execution_scala.rb +9 -3
  321. data/lib/pwn/sast/csrf.rb +9 -3
  322. data/lib/pwn/sast/deserial_java.rb +9 -3
  323. data/lib/pwn/sast/emoticon.rb +9 -3
  324. data/lib/pwn/sast/eval.rb +9 -3
  325. data/lib/pwn/sast/factory.rb +9 -3
  326. data/lib/pwn/sast/http_authorization_header.rb +9 -3
  327. data/lib/pwn/sast/inner_html.rb +9 -3
  328. data/lib/pwn/sast/keystore.rb +9 -3
  329. data/lib/pwn/sast/local_storage.rb +9 -3
  330. data/lib/pwn/sast/location_hash.rb +9 -3
  331. data/lib/pwn/sast/log4j.rb +9 -3
  332. data/lib/pwn/sast/logger.rb +9 -3
  333. data/lib/pwn/sast/md5.rb +9 -3
  334. data/lib/pwn/sast/outer_html.rb +9 -3
  335. data/lib/pwn/sast/padding_oracle.rb +9 -3
  336. data/lib/pwn/sast/password.rb +9 -3
  337. data/lib/pwn/sast/php_input_mechanisms.rb +9 -3
  338. data/lib/pwn/sast/php_type_juggling.rb +9 -3
  339. data/lib/pwn/sast/pom_version.rb +9 -3
  340. data/lib/pwn/sast/port.rb +9 -3
  341. data/lib/pwn/sast/post_message.rb +9 -3
  342. data/lib/pwn/sast/private_key.rb +9 -3
  343. data/lib/pwn/sast/redirect.rb +9 -3
  344. data/lib/pwn/sast/redos.rb +9 -3
  345. data/lib/pwn/sast/shell.rb +9 -3
  346. data/lib/pwn/sast/signature.rb +9 -3
  347. data/lib/pwn/sast/sql.rb +9 -3
  348. data/lib/pwn/sast/ssl.rb +9 -3
  349. data/lib/pwn/sast/sudo.rb +9 -3
  350. data/lib/pwn/sast/task_tag.rb +9 -3
  351. data/lib/pwn/sast/test_case_engine.rb +11 -7
  352. data/lib/pwn/sast/throw_errors.rb +9 -3
  353. data/lib/pwn/sast/token.rb +9 -3
  354. data/lib/pwn/sast/type_script_type_juggling.rb +9 -3
  355. data/lib/pwn/sast/use_after_free.rb +9 -3
  356. data/lib/pwn/sast/version.rb +9 -3
  357. data/lib/pwn/sast/window_location_hash.rb +9 -3
  358. data/lib/pwn/sast.rb +4 -0
  359. data/lib/pwn/sdr/decoder/adsb.rb +36 -5
  360. data/lib/pwn/sdr/decoder/apt.rb +9 -6
  361. data/lib/pwn/sdr/decoder/base.rb +74 -22
  362. data/lib/pwn/sdr/decoder/bluetooth.rb +17 -5
  363. data/lib/pwn/sdr/decoder/dect.rb +12 -3
  364. data/lib/pwn/sdr/decoder/dsp.rb +229 -39
  365. data/lib/pwn/sdr/decoder/flex.rb +59 -11
  366. data/lib/pwn/sdr/decoder/gps.rb +12 -3
  367. data/lib/pwn/sdr/decoder/gsm.rb +24 -4
  368. data/lib/pwn/sdr/decoder/iridium.rb +12 -3
  369. data/lib/pwn/sdr/decoder/lora.rb +13 -4
  370. data/lib/pwn/sdr/decoder/lte.rb +27 -3
  371. data/lib/pwn/sdr/decoder/morse.rb +12 -3
  372. data/lib/pwn/sdr/decoder/p25.rb +12 -3
  373. data/lib/pwn/sdr/decoder/pager.rb +8 -5
  374. data/lib/pwn/sdr/decoder/pocsag.rb +29 -9
  375. data/lib/pwn/sdr/decoder/rds.rb +14 -8
  376. data/lib/pwn/sdr/decoder/rfid.rb +12 -3
  377. data/lib/pwn/sdr/decoder/rtl433.rb +12 -3
  378. data/lib/pwn/sdr/decoder/rtty.rb +8 -5
  379. data/lib/pwn/sdr/decoder/wifi.rb +12 -3
  380. data/lib/pwn/sdr/decoder/zigbee.rb +12 -3
  381. data/lib/pwn/sdr/decoder.rb +9 -0
  382. data/lib/pwn/sdr/flipper_zero.rb +17 -10
  383. data/lib/pwn/sdr/frequency_allocation.rb +4 -1
  384. data/lib/pwn/sdr/gqrx.rb +178 -119
  385. data/lib/pwn/sdr/rfidler.rb +4 -1
  386. data/lib/pwn/sdr/son_micro_rfid.rb +37 -24
  387. data/lib/pwn/sdr.rb +14 -0
  388. data/lib/pwn/sessions.rb +86 -16
  389. data/lib/pwn/setup.rb +94 -37
  390. data/lib/pwn/version.rb +1 -1
  391. data/lib/pwn/www/app_cobalt_io.rb +11 -5
  392. data/lib/pwn/www/bing.rb +10 -5
  393. data/lib/pwn/www/bug_crowd.rb +11 -5
  394. data/lib/pwn/www/checkip.rb +8 -4
  395. data/lib/pwn/www/coinbase_pro.rb +11 -5
  396. data/lib/pwn/www/duckduckgo.rb +12 -6
  397. data/lib/pwn/www/facebook.rb +11 -5
  398. data/lib/pwn/www/github.rb +11 -5
  399. data/lib/pwn/www/google.rb +11 -5
  400. data/lib/pwn/www/hacker_one.rb +20 -9
  401. data/lib/pwn/www/linkedin.rb +11 -5
  402. data/lib/pwn/www/pandora.rb +11 -5
  403. data/lib/pwn/www/pastebin.rb +9 -4
  404. data/lib/pwn/www/paypal.rb +19 -11
  405. data/lib/pwn/www/synack.rb +11 -5
  406. data/lib/pwn/www/torch.rb +13 -8
  407. data/lib/pwn/www/trading_view.rb +11 -5
  408. data/lib/pwn/www/twitter.rb +11 -5
  409. data/lib/pwn/www/uber.rb +11 -5
  410. data/lib/pwn/www/upwork.rb +11 -5
  411. data/lib/pwn/www/wayback_machine.rb +12 -6
  412. data/lib/pwn/www/youtube.rb +10 -5
  413. data/lib/pwn/www.rb +4 -0
  414. data/spec/conventions_spec.rb +118 -2
  415. data/spec/lib/pwn/ai/agent/reward_spec.rb +9 -0
  416. data/spec/lib/pwn/plugins/aflplusplus_spec.rb +13 -0
  417. data/spec/lib/pwn/plugins/artifact_registry_spec.rb +13 -0
  418. data/spec/lib/pwn/plugins/binary_parser_spec.rb +21 -0
  419. data/spec/lib/pwn/plugins/credential_attack_spec.rb +13 -0
  420. data/spec/lib/pwn/plugins/doctor_spec.rb +23 -0
  421. data/spec/lib/pwn/plugins/exploit_dev_spec.rb +23 -0
  422. data/spec/lib/pwn/plugins/frida_spec.rb +13 -0
  423. data/spec/lib/pwn/plugins/gdb_spec.rb +13 -0
  424. data/spec/lib/pwn/plugins/jobs_spec.rb +13 -0
  425. data/spec/lib/pwn/plugins/nuclei_spec.rb +13 -0
  426. data/spec/lib/pwn/plugins/process_tube_spec.rb +13 -0
  427. data/spec/lib/pwn/plugins/radare2_spec.rb +13 -0
  428. data/spec/lib/pwn/plugins/recon_spec.rb +26 -0
  429. data/spec/lib/pwn/plugins/sqlmap_spec.rb +13 -0
  430. data/spec/lib/pwn/plugins/volatility_spec.rb +13 -0
  431. data/third_party/pwn_rdoc.jsonl +126 -5
  432. metadata +47 -3
  433. data/etc/default_skills/pwn/memory_index/references/urls.md +0 -4
  434. data/etc/default_skills/pwn/plugins/transparent_browser/references/urls.md +0 -3
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- elastic_transcoder_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts elastic_transcoder_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  elastic_transcoder_obj: 'required - elastic_transcoder_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- elasticsearch_service_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts elasticsearch_service_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  elasticsearch_service_obj: 'required - elasticsearch_service_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
data/lib/pwn/aws/emr.rb CHANGED
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- emr_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts emr_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  emr_obj: 'required - emr_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- firehose_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts firehose_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  firehose_obj: 'required - firehose_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- game_lift_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts game_lift_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  game_lift_obj: 'required - game_lift_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- glacier_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts glacier_obj.public_methods
82
82
 
83
+ # :glacier_obj: required - glacier_obj returned from #connect method
83
84
  #{self}.disconnect(
84
- glacier_obj: 'required - glacier_obj returned from #connect method'
85
+ glacier_obj: 'optional - glacier obj value consumed by #disconnect'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- health_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts health_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  health_obj: 'required - health_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
data/lib/pwn/aws/iam.rb CHANGED
@@ -175,25 +175,31 @@ module PWN
175
175
 
176
176
  public_class_method def self.help
177
177
  puts "USAGE:
178
- iam_obj = #{self}.connect(
178
+ # Run connect and return its result
179
+ #{self}.connect(
179
180
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
180
181
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
181
182
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
182
183
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
183
184
  )
184
- puts iam_obj.public_methods
185
185
 
186
- decoded_key = #{self}.decode_key(
186
+ # Run decode key and return its result
187
+ #{self}.decode_key(
187
188
  key: 'required - key to decode',
188
- key_type: 'optional - key type :access_key_id|:secret_access_key|:sts_session_token (Default: access_key_id
189
+ key_type: 'optional - key type :access_key_id|:secret_access_key|:sts_session_token (Default: access_key_id)'
189
190
  )
190
191
 
192
+ # TODO: Implement this method
191
193
  #{self}.disconnect(
194
+ account_id: 'required - AWS Account ID',
195
+ prefix: 'optional - prefix for the key :abia|:acca|:agpa|:aida|:aipa|:akia|:anpa|:anva|:apka|:aroa|:asca|:asia (Default: akia)',
192
196
  iam_obj: 'required - iam_obj returned from #connect method'
193
197
  )
194
198
 
199
+ # Print the AUTHOR(S) string for this module.
195
200
  #{self}.authors
196
201
  "
202
+ constants.sort
197
203
  end
198
204
  end
199
205
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- import_export_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts import_export_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  import_export_obj: 'required - import_export_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- inspector_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts inspector_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  inspector_obj: 'required - inspector_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
data/lib/pwn/aws/iot.rb CHANGED
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- iot_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts iot_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  iot_obj: 'required - iot_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- iot_data_plane_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts iot_data_plane_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  iot_data_plane_obj: 'required - iot_data_plane_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- kinesis_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts kinesis_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  kinesis_obj: 'required - kinesis_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- kinesis_analytics_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts kinesis_analytics_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  kinesis_analytics_obj: 'required - kinesis_analytics_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
data/lib/pwn/aws/kms.rb CHANGED
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- kms_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts kms_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  kms_obj: 'required - kms_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- lambda_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts lambda_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  lambda_obj: 'required - lambda_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- lambda_preview_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts lambda_preview_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  lambda_preview_obj: 'required - lambda_preview_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
data/lib/pwn/aws/lex.rb CHANGED
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- lex_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts lex_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  lex_obj: 'required - lex_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- lightsail_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts lightsail_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  lightsail_obj: 'required - lightsail_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- machine_learning_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts machine_learning_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  machine_learning_obj: 'required - machine_learning_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- marketplace_commerce_analytics_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts marketplace_commerce_analytics_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  marketplace_commerce_analytics_obj: 'required - marketplace_commerce_analytics_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- marketplace_metering_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts marketplace_metering_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  marketplace_metering_obj: 'required - marketplace_metering_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end
@@ -72,20 +72,23 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- ops_works_obj = #{self}.connect(
75
+ # Run connect and return its result
76
+ #{self}.connect(
76
77
  region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
77
78
  access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
78
79
  secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
79
80
  sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
80
81
  )
81
- puts ops_works_obj.public_methods
82
82
 
83
+ # Run disconnect and return its result
83
84
  #{self}.disconnect(
84
85
  ops_works_obj: 'required - ops_works_obj returned from #connect method'
85
86
  )
86
87
 
88
+ # Print the AUTHOR(S) string for this module.
87
89
  #{self}.authors
88
90
  "
91
+ constants.sort
89
92
  end
90
93
  end
91
94
  end