pwn 0.5.708 → 0.5.710

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