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
@@ -314,14 +314,17 @@ module PWN
314
314
 
315
315
  public_class_method def self.help
316
316
  puts "USAGE:
317
+ # Run generate and return its result
317
318
  #{self}.generate(
318
- dir_path: dir_path,
319
- results_hash: results_hash,
319
+ dir_path: 'required - dir path value consumed by #generate',
320
+ results_hash: 'optional - results hash value consumed by #generate',
320
321
  char_encoding: 'optional - character encoding returned by PWN::Plugins::Char.list_encoders (defaults to UTF-8)'
321
322
  )
322
323
 
324
+ # Print the AUTHOR(S) string for this module.
323
325
  #{self}.authors
324
326
  "
327
+ constants.sort
325
328
  end
326
329
  end
327
330
  end
@@ -51,7 +51,14 @@ module PWN
51
51
  end
52
52
 
53
53
  public_class_method def self.help
54
- puts "USAGE:\n #{self}.generate(\n path: '/tmp/report.html',\n results_hash: {}\n )\n\n #{self}.authors\n"
54
+ puts "USAGE:
55
+ # Run generate and return its result
56
+ #{self}.generate
57
+
58
+ # Print the AUTHOR(S) string for this module.
59
+ #{self}.authors
60
+ "
61
+ constants.sort
55
62
  end
56
63
  end
57
64
  end
@@ -148,12 +148,13 @@ module PWN
148
148
 
149
149
  public_class_method def self.help
150
150
  puts "USAGE:
151
- #{self}.generate(
152
- column_names: 'Array of Column Names to use in the report table',
153
- driver_src_uri: 're
151
+ # Run generate and return its result
152
+ #{self}.generate
154
153
 
154
+ # Print the AUTHOR(S) string for this module.
155
155
  #{self}.authors
156
156
  "
157
+ constants.sort
157
158
  end
158
159
  end
159
160
  end
@@ -259,12 +259,16 @@ module PWN
259
259
 
260
260
  public_class_method def self.help
261
261
  puts "USAGE:
262
+ # Run generate and return its result
262
263
  #{self}.generate(
263
- column_names: 'Array of Column Names to use in the report table',
264
- driver_src_uri: 're
264
+ column_names: 'required - array of column names to use in the report table (defaults to [])',
265
+ driver_src_uri: 'required - pwn driver source code uri'
266
+ )
265
267
 
268
+ # Print the AUTHOR(S) string for this module.
266
269
  #{self}.authors
267
270
  "
271
+ constants.sort
268
272
  end
269
273
  end
270
274
  end
@@ -25,7 +25,14 @@ module PWN
25
25
  end
26
26
 
27
27
  public_class_method def self.help
28
- puts "USAGE:\n #{self}.generate(\n path: '/tmp/report.json',\n results_hash: {}\n )\n\n #{self}.authors\n"
28
+ puts "USAGE:
29
+ # Run generate and return its result
30
+ #{self}.generate
31
+
32
+ # Print the AUTHOR(S) string for this module.
33
+ #{self}.authors
34
+ "
35
+ constants.sort
29
36
  end
30
37
  end
31
38
  end
@@ -33,7 +33,14 @@ module PWN
33
33
  end
34
34
 
35
35
  public_class_method def self.help
36
- puts "USAGE:\n #{self}.generate(\n path: '/tmp/report.md',\n results_hash: {}\n )\n\n #{self}.authors\n"
36
+ puts "USAGE:
37
+ # Run generate and return its result
38
+ #{self}.generate
39
+
40
+ # Print the AUTHOR(S) string for this module.
41
+ #{self}.authors
42
+ "
43
+ constants.sort
37
44
  end
38
45
  end
39
46
  end
@@ -86,7 +86,14 @@ module PWN
86
86
  end
87
87
 
88
88
  public_class_method def self.help
89
- puts "USAGE:\n #{self}.generate(\n path: '/tmp/report.pdf',\n results_hash: {}\n )\n\n #{self}.authors\n"
89
+ puts "USAGE:
90
+ # Run generate and return its result
91
+ #{self}.generate
92
+
93
+ # Print the AUTHOR(S) string for this module.
94
+ #{self}.authors
95
+ "
96
+ constants.sort
90
97
  end
91
98
  end
92
99
  end
@@ -371,13 +371,16 @@ module PWN
371
371
 
372
372
  public_class_method def self.help
373
373
  puts "USAGE:
374
+ # Run generate and return its result
374
375
  #{self}.generate(
375
- dir_path: dir_path,
376
- results_hash: results_hash
376
+ dir_path: 'required - dir path value consumed by #generate',
377
+ results_hash: 'optional - results hash value consumed by #generate'
377
378
  )
378
379
 
380
+ # Print the AUTHOR(S) string for this module.
379
381
  #{self}.authors
380
382
  "
383
+ constants.sort
381
384
  end
382
385
  end
383
386
  end
@@ -422,13 +422,17 @@ module PWN
422
422
 
423
423
  public_class_method def self.help
424
424
  puts "USAGE:
425
+ # Run generate and return its result
425
426
  #{self}.generate(
426
- dir_path: dir_path,
427
- results_hash: results_hash
427
+ dir_path: 'optional - Directory path to save the report (defaults to .)',
428
+ results_hash: 'optional - Hash containing the results of the SAST analysis (defaults to empty hash structure)',
429
+ report_name: 'optional - Name of the report file (defaults to current directory name)'
428
430
  )
429
431
 
432
+ # Print the AUTHOR(S) string for this module.
430
433
  #{self}.authors
431
434
  "
435
+ constants.sort
432
436
  end
433
437
  end
434
438
  end
@@ -322,13 +322,16 @@ module PWN
322
322
 
323
323
  public_class_method def self.help
324
324
  puts "USAGE:
325
+ # Run generate and return its result
325
326
  #{self}.generate(
326
- dir_path: dir_path,
327
- results_hash: results_hash
327
+ dir_path: 'required - dir path value consumed by #generate',
328
+ results_hash: 'optional - results hash value consumed by #generate'
328
329
  )
329
330
 
331
+ # Print the AUTHOR(S) string for this module.
330
332
  #{self}.authors
331
333
  "
334
+ constants.sort
332
335
  end
333
336
  end
334
337
  end
@@ -37,7 +37,14 @@ module PWN
37
37
  end
38
38
 
39
39
  public_class_method def self.help
40
- puts "USAGE:\n #{self}.generate(\n path: '/tmp/report.xml',\n results_hash: {}\n )\n\n #{self}.authors\n"
40
+ puts "USAGE:
41
+ # Run generate and return its result
42
+ #{self}.generate
43
+
44
+ # Print the AUTHOR(S) string for this module.
45
+ #{self}.authors
46
+ "
47
+ constants.sort
41
48
  end
42
49
  end
43
50
  end
data/lib/pwn/reports.rb CHANGED
@@ -74,6 +74,25 @@ module PWN
74
74
  end
75
75
 
76
76
  public_class_method def self.help
77
+ puts "USAGE:
78
+ # Run resolve path and return its result
79
+ #{self}.resolve_path(
80
+ path: 'required - filesystem path to read or write',
81
+ ext: 'optional - ext value consumed by #resolve_path',
82
+ dir_path: 'optional - dir path value consumed by #resolve_path',
83
+ report_name: 'optional - report name value consumed by #resolve_path'
84
+ )
85
+
86
+ # Run report payload and return its result
87
+ #{self}.report_payload(
88
+ results_hash: 'optional - results hash value consumed by #report_payload',
89
+ title: 'optional - title value consumed by #report_payload',
90
+ executive_summary: 'optional - executive summary value consumed by #report_payload'
91
+ )
92
+
93
+ # Print the AUTHOR(S) string for this module.
94
+ #{self}.authors
95
+ "
77
96
  constants.sort
78
97
  end
79
98
  end
@@ -65,13 +65,19 @@ module PWN
65
65
 
66
66
  public_class_method def self.help
67
67
  puts "USAGE:
68
- sast_arr = #{self}.scan(
69
- dir_path: 'optional path to dir defaults to .',
70
- git_repo_root_uri: 'optional http uri of git repo scanned'
68
+ # Run scan and return its result
69
+ #{self}.scan(
70
+ dir_path: 'optional - optional path to dir defaults to .',
71
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
71
72
  )
72
73
 
74
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
75
+ #{self}.security_references
76
+
77
+ # Print the AUTHOR(S) string for this module.
73
78
  #{self}.authors
74
79
  "
80
+ constants.sort
75
81
  end
76
82
  end
77
83
  end
@@ -63,13 +63,19 @@ module PWN
63
63
 
64
64
  public_class_method def self.help
65
65
  puts "USAGE:
66
- sast_arr = #{self}.scan(
67
- :dir_path => 'optional path to dir defaults to .',
68
- :git_repo_root_uri => 'optional http uri of git repo scanned'
66
+ # :dir_path => optional path to dir defaults to .
67
+ #{self}.scan(
68
+ dir_path: 'optional - dir path value consumed by #scan',
69
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
69
70
  )
70
71
 
72
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
73
+ #{self}.security_references
74
+
75
+ # Print the AUTHOR(S) string for this module.
71
76
  #{self}.authors
72
77
  "
78
+ constants.sort
73
79
  end
74
80
  end
75
81
  end
data/lib/pwn/sast/aws.rb CHANGED
@@ -64,13 +64,19 @@ module PWN
64
64
 
65
65
  public_class_method def self.help
66
66
  puts "USAGE:
67
- sast_arr = #{self}.scan(
68
- dir_path: 'optional path to dir defaults to .',
69
- git_repo_root_uri: 'optional http uri of git repo scanned'
67
+ # Run scan and return its result
68
+ #{self}.scan(
69
+ dir_path: 'optional - optional path to dir defaults to .',
70
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
70
71
  )
71
72
 
73
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
74
+ #{self}.security_references
75
+
76
+ # Print the AUTHOR(S) string for this module.
72
77
  #{self}.authors
73
78
  "
79
+ constants.sort
74
80
  end
75
81
  end
76
82
  end
@@ -194,13 +194,19 @@ module PWN
194
194
 
195
195
  public_class_method def self.help
196
196
  puts "USAGE:
197
- sast_arr = #{self}.scan(
198
- :dir_path => 'optional path to dir defaults to .',
199
- :git_repo_root_uri => 'optional http uri of git repo scanned'
197
+ # :dir_path => optional path to dir defaults to .
198
+ #{self}.scan(
199
+ dir_path: 'optional - dir path value consumed by #scan',
200
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
200
201
  )
201
202
 
203
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
204
+ #{self}.security_references
205
+
206
+ # Print the AUTHOR(S) string for this module.
202
207
  #{self}.authors
203
208
  "
209
+ constants.sort
204
210
  end
205
211
  end
206
212
  end
@@ -61,13 +61,19 @@ module PWN
61
61
 
62
62
  public_class_method def self.help
63
63
  puts "USAGE:
64
- sast_arr = #{self}.scan(
65
- dir_path: 'optional path to dir defaults to .',
66
- git_repo_root_uri: 'optional http uri of git repo scanned'
64
+ # Run scan and return its result
65
+ #{self}.scan(
66
+ dir_path: 'optional - optional path to dir defaults to .',
67
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
67
68
  )
68
69
 
70
+ # Used to dictate Security Control Requirements for a Given SAST module
71
+ #{self}.security_references
72
+
73
+ # Print the AUTHOR(S) string for this module.
69
74
  #{self}.authors
70
75
  "
76
+ constants.sort
71
77
  end
72
78
  end
73
79
  end
@@ -62,13 +62,19 @@ module PWN
62
62
 
63
63
  public_class_method def self.help
64
64
  puts "USAGE:
65
- sast_arr = #{self}.scan(
66
- dir_path: 'optional path to dir defaults to .',
67
- git_repo_root_uri. => 'optional http uri of git repo scanned'
65
+ # Run scan and return its result
66
+ #{self}.scan(
67
+ dir_path: 'optional - optional path to dir defaults to .',
68
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
68
69
  )
69
70
 
71
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
72
+ #{self}.security_references
73
+
74
+ # Print the AUTHOR(S) string for this module.
70
75
  #{self}.authors
71
76
  "
77
+ constants.sort
72
78
  end
73
79
  end
74
80
  end
@@ -70,13 +70,19 @@ module PWN
70
70
 
71
71
  public_class_method def self.help
72
72
  puts "USAGE:
73
- sast_arr = #{self}.scan(
74
- :dir_path => 'optional path to dir defaults to .',
75
- :git_repo_root_uri => 'optional http uri of git repo scanned'
73
+ # Run scan and return its result
74
+ #{self}.scan(
75
+ dir_path: 'optional - optional path to dir defaults to .',
76
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
76
77
  )
77
78
 
79
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
80
+ #{self}.security_references
81
+
82
+ # Print the AUTHOR(S) string for this module.
78
83
  #{self}.authors
79
84
  "
85
+ constants.sort
80
86
  end
81
87
  end
82
88
  end
@@ -67,13 +67,19 @@ module PWN
67
67
 
68
68
  public_class_method def self.help
69
69
  puts "USAGE:
70
- sast_arr = #{self}.scan(
71
- :dir_path => 'optional path to dir defaults to .',
72
- :git_repo_root_uri => 'optional http uri of git repo scanned'
70
+ # Run scan and return its result
71
+ #{self}.scan(
72
+ dir_path: 'optional - optional path to dir defaults to .',
73
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
73
74
  )
74
75
 
76
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
77
+ #{self}.security_references
78
+
79
+ # Print the AUTHOR(S) string for this module.
75
80
  #{self}.authors
76
81
  "
82
+ constants.sort
77
83
  end
78
84
  end
79
85
  end
@@ -69,13 +69,19 @@ module PWN
69
69
 
70
70
  public_class_method def self.help
71
71
  puts "USAGE:
72
- sast_arr = #{self}.scan(
73
- :dir_path => 'optional path to dir defaults to .',
74
- :git_repo_root_uri => 'optional http uri of git repo scanned'
72
+ # Run scan and return its result
73
+ #{self}.scan(
74
+ dir_path: 'optional - optional path to dir defaults to .',
75
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
75
76
  )
76
77
 
78
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
79
+ #{self}.security_references
80
+
81
+ # Print the AUTHOR(S) string for this module.
77
82
  #{self}.authors
78
83
  "
84
+ constants.sort
79
85
  end
80
86
  end
81
87
  end
@@ -77,13 +77,19 @@ module PWN
77
77
 
78
78
  public_class_method def self.help
79
79
  puts "USAGE:
80
- sast_arr = #{self}.scan(
81
- dir_path: 'optional path to dir defaults to .',
82
- git_repo_root_uri: 'optional http uri of git repo scanned'
80
+ # Run scan and return its result
81
+ #{self}.scan(
82
+ dir_path: 'optional - optional path to dir defaults to .',
83
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
83
84
  )
84
85
 
86
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
87
+ #{self}.security_references
88
+
89
+ # Print the AUTHOR(S) string for this module.
85
90
  #{self}.authors
86
91
  "
92
+ constants.sort
87
93
  end
88
94
  end
89
95
  end
@@ -67,13 +67,19 @@ module PWN
67
67
 
68
68
  public_class_method def self.help
69
69
  puts "USAGE:
70
- sast_arr = #{self}.scan(
71
- dir_path: 'optional path to dir defaults to .',
72
- git_repo_root_uri: 'optional http uri of git repo scanned'
70
+ # Run scan and return its result
71
+ #{self}.scan(
72
+ dir_path: 'optional - optional path to dir defaults to .',
73
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
73
74
  )
74
75
 
76
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
77
+ #{self}.security_references
78
+
79
+ # Print the AUTHOR(S) string for this module.
75
80
  #{self}.authors
76
81
  "
82
+ constants.sort
77
83
  end
78
84
  end
79
85
  end
data/lib/pwn/sast/csrf.rb CHANGED
@@ -61,13 +61,19 @@ module PWN
61
61
 
62
62
  public_class_method def self.help
63
63
  puts "USAGE:
64
- sast_arr = #{self}.scan(
65
- :dir_path => 'optional path to dir defaults to .',
66
- :git_repo_root_uri => 'optional http uri of git repo scanned'
64
+ # :dir_path => optional path to dir defaults to .
65
+ #{self}.scan(
66
+ dir_path: 'optional - dir path value consumed by #scan',
67
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
67
68
  )
68
69
 
70
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
71
+ #{self}.security_references
72
+
73
+ # Print the AUTHOR(S) string for this module.
69
74
  #{self}.authors
70
75
  "
76
+ constants.sort
71
77
  end
72
78
  end
73
79
  end
@@ -72,13 +72,19 @@ module PWN
72
72
 
73
73
  public_class_method def self.help
74
74
  puts "USAGE:
75
- sast_arr = #{self}.scan(
76
- :dir_path => 'optional path to dir defaults to .',
77
- :git_repo_root_uri => 'optional http uri of git repo scanned'
75
+ # :dir_path => optional path to dir defaults to .
76
+ #{self}.scan(
77
+ dir_path: 'optional - dir path value consumed by #scan',
78
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
78
79
  )
79
80
 
81
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
82
+ #{self}.security_references
83
+
84
+ # Print the AUTHOR(S) string for this module.
80
85
  #{self}.authors
81
86
  "
87
+ constants.sort
82
88
  end
83
89
  end
84
90
  end
@@ -69,13 +69,19 @@ module PWN
69
69
 
70
70
  public_class_method def self.help
71
71
  puts "USAGE:
72
- sast_arr = #{self}.scan(
73
- :dir_path => 'optional path to dir defaults to .',
74
- :git_repo_root_uri => 'optional http uri of git repo scanned'
72
+ # Run scan and return its result
73
+ #{self}.scan(
74
+ dir_path: 'optional - optional path to dir defaults to .',
75
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
75
76
  )
76
77
 
78
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
79
+ #{self}.security_references
80
+
81
+ # Print the AUTHOR(S) string for this module.
77
82
  #{self}.authors
78
83
  "
84
+ constants.sort
79
85
  end
80
86
  end
81
87
  end
data/lib/pwn/sast/eval.rb CHANGED
@@ -63,13 +63,19 @@ module PWN
63
63
 
64
64
  public_class_method def self.help
65
65
  puts "USAGE:
66
- sast_arr = #{self}.scan(
67
- dir_path: 'optional path to dir defaults to .',
68
- git_repo_root_uri: 'optional http uri of git repo scanned'
66
+ # Run scan and return its result
67
+ #{self}.scan(
68
+ dir_path: 'optional - optional path to dir defaults to .',
69
+ git_repo_root_uri: 'optional - optional http uri of git repo scanned'
69
70
  )
70
71
 
72
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
73
+ #{self}.security_references
74
+
75
+ # Print the AUTHOR(S) string for this module.
71
76
  #{self}.authors
72
77
  "
78
+ constants.sort
73
79
  end
74
80
  end
75
81
  end
@@ -66,13 +66,19 @@ module PWN
66
66
 
67
67
  public_class_method def self.help
68
68
  puts "USAGE:
69
- sast_arr = #{self}.scan(
70
- :dir_path => 'optional path to dir defaults to .',
71
- :git_repo_root_uri => 'optional http uri of git repo scanned'
69
+ # :dir_path => optional path to dir defaults to .
70
+ #{self}.scan(
71
+ dir_path: 'optional - dir path value consumed by #scan',
72
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
72
73
  )
73
74
 
75
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
76
+ #{self}.security_references
77
+
78
+ # Print the AUTHOR(S) string for this module.
74
79
  #{self}.authors
75
80
  "
81
+ constants.sort
76
82
  end
77
83
  end
78
84
  end
@@ -67,13 +67,19 @@ module PWN
67
67
 
68
68
  public_class_method def self.help
69
69
  puts "USAGE:
70
- sast_arr = #{self}.scan(
71
- :dir_path => 'optional path to dir defaults to .',
72
- :git_repo_root_uri => 'optional http uri of git repo scanned'
70
+ # :dir_path => optional path to dir defaults to .
71
+ #{self}.scan(
72
+ dir_path: 'optional - dir path value consumed by #scan',
73
+ git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
73
74
  )
74
75
 
76
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
77
+ #{self}.security_references
78
+
79
+ # Print the AUTHOR(S) string for this module.
75
80
  #{self}.authors
76
81
  "
82
+ constants.sort
77
83
  end
78
84
  end
79
85
  end