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.
- checksums.yaml +4 -4
- data/documentation/Installation.md +1 -0
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/bridges/SKILL.md +30 -8
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/SKILL.md +30 -8
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/references/urls.md +1 -1
- data/etc/default_skills/pwn/ai/agent/extrospection/references/urls.md +0 -1
- data/etc/default_skills/pwn/memory_index/SKILL.md +0 -4
- data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/android/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +54 -0
- data/etc/default_skills/pwn/plugins/credential_attack/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/doctor/SKILL.md +57 -0
- data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +61 -0
- data/etc/default_skills/pwn/plugins/frida/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/gdb/SKILL.md +52 -0
- data/etc/default_skills/pwn/plugins/jobs/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/nuclei/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/process_tube/SKILL.md +52 -0
- data/etc/default_skills/pwn/plugins/radare2/SKILL.md +59 -0
- data/etc/default_skills/pwn/plugins/recon/SKILL.md +55 -0
- data/etc/default_skills/pwn/plugins/recon/references/urls.md +5 -0
- data/etc/default_skills/pwn/plugins/sqlmap/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +0 -4
- data/etc/default_skills/pwn/plugins/volatility/SKILL.md +48 -0
- data/lib/pwn/ai/agent/assembly.rb +4 -1
- data/lib/pwn/ai/agent/btc.rb +4 -1
- data/lib/pwn/ai/agent/burp_suite.rb +5 -2
- data/lib/pwn/ai/agent/curriculum.rb +89 -30
- data/lib/pwn/ai/agent/dispatch.rb +27 -16
- data/lib/pwn/ai/agent/extrospection/osint/bridges.rb +9 -18
- data/lib/pwn/ai/agent/extrospection/osint/social.rb +9 -18
- data/lib/pwn/ai/agent/extrospection.rb +185 -60
- data/lib/pwn/ai/agent/gqrx.rb +4 -1
- data/lib/pwn/ai/agent/hacker_one.rb +5 -2
- data/lib/pwn/ai/agent/learning.rb +142 -25
- data/lib/pwn/ai/agent/loop.rb +53 -46
- data/lib/pwn/ai/agent/metrics.rb +133 -23
- data/lib/pwn/ai/agent/mistakes.rb +126 -17
- data/lib/pwn/ai/agent/open_goal.rb +25 -9
- data/lib/pwn/ai/agent/policy.rb +158 -18
- data/lib/pwn/ai/agent/prompt_builder.rb +21 -11
- data/lib/pwn/ai/agent/prompt_cache.rb +44 -13
- data/lib/pwn/ai/agent/reflect.rb +9 -5
- data/lib/pwn/ai/agent/registry.rb +65 -12
- data/lib/pwn/ai/agent/result.rb +19 -10
- data/lib/pwn/ai/agent/reward.rb +150 -32
- data/lib/pwn/ai/agent/sast.rb +4 -1
- data/lib/pwn/ai/agent/swarm.rb +72 -36
- data/lib/pwn/ai/agent/task_summarizer.rb +165 -36
- data/lib/pwn/ai/agent/tool_guard.rb +105 -6
- data/lib/pwn/ai/agent/transparent_browser.rb +4 -1
- data/lib/pwn/ai/agent/turn_finalizer.rb +41 -21
- data/lib/pwn/ai/agent/vuln_gen.rb +6 -3
- data/lib/pwn/ai/agent.rb +4 -0
- data/lib/pwn/ai/anthropic.rb +41 -7
- data/lib/pwn/ai/gemini.rb +21 -11
- data/lib/pwn/ai/grok.rb +44 -6
- data/lib/pwn/ai/http_retry.rb +40 -12
- data/lib/pwn/ai/ollama.rb +19 -10
- data/lib/pwn/ai/open_ai.rb +81 -30
- data/lib/pwn/ai/open_web_ui.rb +20 -14
- data/lib/pwn/ai/red_team/agent_protocol_abuse.rb +7 -1
- data/lib/pwn/ai/red_team/data_and_model_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/excessive_agency.rb +7 -1
- data/lib/pwn/ai/red_team/hidden_context_exposure.rb +7 -1
- data/lib/pwn/ai/red_team/insecure_output_handling.rb +7 -1
- data/lib/pwn/ai/red_team/jailbreak.rb +7 -1
- data/lib/pwn/ai/red_team/memory_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/multimodal_injection.rb +7 -1
- data/lib/pwn/ai/red_team/overreliance.rb +7 -1
- data/lib/pwn/ai/red_team/payload_splitting.rb +7 -1
- data/lib/pwn/ai/red_team/prompt_injection.rb +7 -1
- data/lib/pwn/ai/red_team/rag_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/sensitive_information_disclosure.rb +7 -1
- data/lib/pwn/ai/red_team/supply_chain.rb +7 -1
- data/lib/pwn/ai/red_team/system_prompt_extraction.rb +7 -1
- data/lib/pwn/ai/red_team/test_case_engine.rb +12 -9
- data/lib/pwn/ai/red_team/token_smuggling.rb +7 -1
- data/lib/pwn/ai/red_team/unbounded_consumption.rb +7 -1
- data/lib/pwn/ai/red_team/vector_and_embedding_weaknesses.rb +7 -1
- data/lib/pwn/ai/red_team.rb +4 -0
- data/lib/pwn/ai.rb +4 -0
- data/lib/pwn/aws/acm.rb +5 -2
- data/lib/pwn/aws/api_gateway.rb +10 -7
- data/lib/pwn/aws/app_stream.rb +5 -2
- data/lib/pwn/aws/application_auto_scaling.rb +5 -2
- data/lib/pwn/aws/application_discovery_service.rb +5 -2
- data/lib/pwn/aws/auto_scaling.rb +5 -2
- data/lib/pwn/aws/batch.rb +5 -2
- data/lib/pwn/aws/budgets.rb +5 -2
- data/lib/pwn/aws/cloud_formation.rb +5 -2
- data/lib/pwn/aws/cloud_front.rb +7 -4
- data/lib/pwn/aws/cloud_hsm.rb +5 -2
- data/lib/pwn/aws/cloud_search.rb +5 -2
- data/lib/pwn/aws/cloud_search_domain.rb +5 -2
- data/lib/pwn/aws/cloud_trail.rb +5 -2
- data/lib/pwn/aws/cloud_watch.rb +5 -2
- data/lib/pwn/aws/cloud_watch_events.rb +5 -2
- data/lib/pwn/aws/cloud_watch_logs.rb +5 -2
- data/lib/pwn/aws/code_build.rb +5 -2
- data/lib/pwn/aws/code_commit.rb +5 -2
- data/lib/pwn/aws/code_deploy.rb +5 -2
- data/lib/pwn/aws/code_pipeline.rb +5 -2
- data/lib/pwn/aws/cognito_identity.rb +5 -2
- data/lib/pwn/aws/cognito_identity_provider.rb +5 -2
- data/lib/pwn/aws/cognito_sync.rb +5 -2
- data/lib/pwn/aws/config_service.rb +5 -2
- data/lib/pwn/aws/data_pipleline.rb +5 -2
- data/lib/pwn/aws/database_migration_service.rb +5 -2
- data/lib/pwn/aws/device_farm.rb +5 -2
- data/lib/pwn/aws/direct_connect.rb +5 -2
- data/lib/pwn/aws/directory_service.rb +5 -2
- data/lib/pwn/aws/dynamo_db.rb +5 -2
- data/lib/pwn/aws/dynamo_db_streams.rb +5 -2
- data/lib/pwn/aws/ec2.rb +5 -2
- data/lib/pwn/aws/ecr.rb +5 -2
- data/lib/pwn/aws/ecs.rb +5 -2
- data/lib/pwn/aws/efs.rb +5 -2
- data/lib/pwn/aws/elasti_cache.rb +5 -2
- data/lib/pwn/aws/elastic_beanstalk.rb +8 -5
- data/lib/pwn/aws/elastic_load_balancing.rb +5 -2
- data/lib/pwn/aws/elastic_load_balancing_v2.rb +6 -3
- data/lib/pwn/aws/elastic_transcoder.rb +5 -2
- data/lib/pwn/aws/elasticsearch_service.rb +5 -2
- data/lib/pwn/aws/emr.rb +5 -2
- data/lib/pwn/aws/firehose.rb +5 -2
- data/lib/pwn/aws/game_lift.rb +5 -2
- data/lib/pwn/aws/glacier.rb +6 -3
- data/lib/pwn/aws/health.rb +5 -2
- data/lib/pwn/aws/iam.rb +10 -4
- data/lib/pwn/aws/import_export.rb +5 -2
- data/lib/pwn/aws/inspector.rb +5 -2
- data/lib/pwn/aws/iot.rb +5 -2
- data/lib/pwn/aws/iot_data_plane.rb +5 -2
- data/lib/pwn/aws/kinesis.rb +5 -2
- data/lib/pwn/aws/kinesis_analytics.rb +5 -2
- data/lib/pwn/aws/kms.rb +5 -2
- data/lib/pwn/aws/lambda.rb +5 -2
- data/lib/pwn/aws/lambda_preview.rb +5 -2
- data/lib/pwn/aws/lex.rb +5 -2
- data/lib/pwn/aws/lightsail.rb +5 -2
- data/lib/pwn/aws/machine_learning.rb +5 -2
- data/lib/pwn/aws/marketplace_commerce_analytics.rb +5 -2
- data/lib/pwn/aws/marketplace_metering.rb +5 -2
- data/lib/pwn/aws/ops_works.rb +5 -2
- data/lib/pwn/aws/ops_works_cm.rb +5 -2
- data/lib/pwn/aws/pinpoint.rb +5 -2
- data/lib/pwn/aws/polly.rb +5 -2
- data/lib/pwn/aws/rds.rb +5 -2
- data/lib/pwn/aws/redshift.rb +5 -2
- data/lib/pwn/aws/rekognition.rb +5 -2
- data/lib/pwn/aws/route53.rb +5 -2
- data/lib/pwn/aws/route53_domains.rb +5 -2
- data/lib/pwn/aws/s3.rb +5 -2
- data/lib/pwn/aws/service_catalog.rb +5 -2
- data/lib/pwn/aws/ses.rb +5 -2
- data/lib/pwn/aws/shield.rb +5 -2
- data/lib/pwn/aws/simple_db.rb +5 -2
- data/lib/pwn/aws/sms.rb +5 -2
- data/lib/pwn/aws/snowball.rb +5 -2
- data/lib/pwn/aws/sns.rb +5 -2
- data/lib/pwn/aws/sqs.rb +5 -2
- data/lib/pwn/aws/ssm.rb +5 -2
- data/lib/pwn/aws/states.rb +5 -2
- data/lib/pwn/aws/storage_gateway.rb +5 -2
- data/lib/pwn/aws/sts.rb +4 -1
- data/lib/pwn/aws/support.rb +5 -2
- data/lib/pwn/aws/swf.rb +5 -2
- data/lib/pwn/aws/waf.rb +5 -2
- data/lib/pwn/aws/waf_regional.rb +5 -2
- data/lib/pwn/aws/workspaces.rb +5 -2
- data/lib/pwn/aws/x_ray.rb +5 -2
- data/lib/pwn/aws.rb +4 -0
- data/lib/pwn/banner/anon.rb +3 -0
- data/lib/pwn/banner/bubble.rb +3 -0
- data/lib/pwn/banner/cheshire.rb +3 -0
- data/lib/pwn/banner/code_cave.rb +3 -0
- data/lib/pwn/banner/dont_panic.rb +3 -0
- data/lib/pwn/banner/f_society.rb +3 -0
- data/lib/pwn/banner/fork_bomb.rb +3 -0
- data/lib/pwn/banner/jmp_esp.rb +3 -0
- data/lib/pwn/banner/matrix.rb +5 -1
- data/lib/pwn/banner/ninja.rb +3 -0
- data/lib/pwn/banner/off_the_air.rb +3 -0
- data/lib/pwn/banner/pirate.rb +3 -0
- data/lib/pwn/banner/radare2.rb +3 -0
- data/lib/pwn/banner/radare2_ai.rb +3 -0
- data/lib/pwn/banner/white_rabbit.rb +3 -0
- data/lib/pwn/banner.rb +6 -2
- data/lib/pwn/blockchain/btc.rb +8 -3
- data/lib/pwn/blockchain/eth.rb +10 -3
- data/lib/pwn/blockchain.rb +4 -0
- data/lib/pwn/bounty/lifecycle_authz_replay.rb +46 -27
- data/lib/pwn/bounty.rb +4 -0
- data/lib/pwn/config.rb +79 -13
- data/lib/pwn/cron.rb +297 -20
- data/lib/pwn/driver.rb +2 -18
- data/lib/pwn/ffi/adalm_pluto.rb +65 -11
- data/lib/pwn/ffi/fftw.rb +31 -6
- data/lib/pwn/ffi/hack_rf.rb +59 -8
- data/lib/pwn/ffi/liquid.rb +63 -10
- data/lib/pwn/ffi/rtl_sdr.rb +35 -5
- data/lib/pwn/ffi/soapy_sdr.rb +60 -10
- data/lib/pwn/ffi/stdio.rb +5 -8
- data/lib/pwn/ffi/volk.rb +36 -7
- data/lib/pwn/ffi.rb +12 -0
- data/lib/pwn/memory.rb +136 -16
- data/lib/pwn/memory_index.rb +34 -19
- data/lib/pwn/migrate.rb +34 -24
- data/lib/pwn/module_skills.rb +39 -8
- data/lib/pwn/plugins/aflplusplus.rb +52 -0
- data/lib/pwn/plugins/android.rb +65 -245
- data/lib/pwn/plugins/artifact_registry.rb +71 -0
- data/lib/pwn/plugins/assembly.rb +9 -4
- data/lib/pwn/plugins/authentication_helper.rb +8 -5
- data/lib/pwn/plugins/baresip.rb +59 -12
- data/lib/pwn/plugins/basic_auth.rb +9 -3
- data/lib/pwn/plugins/beef.rb +28 -18
- data/lib/pwn/plugins/binary_parser.rb +133 -0
- data/lib/pwn/plugins/black_duck_binary_analysis.rb +63 -39
- data/lib/pwn/plugins/burp_suite.rb +98 -68
- data/lib/pwn/plugins/bus_pirate.rb +15 -8
- data/lib/pwn/plugins/char.rb +33 -3
- data/lib/pwn/plugins/credential_attack.rb +99 -0
- data/lib/pwn/plugins/credit_card.rb +6 -1
- data/lib/pwn/plugins/dao_ldap.rb +19 -13
- data/lib/pwn/plugins/dao_mongo.rb +11 -5
- data/lib/pwn/plugins/dao_postgres.rb +28 -19
- data/lib/pwn/plugins/dao_sqlite3.rb +15 -6
- data/lib/pwn/plugins/defect_dojo.rb +38 -22
- data/lib/pwn/plugins/detect_os.rb +5 -0
- data/lib/pwn/plugins/doctor.rb +149 -0
- data/lib/pwn/plugins/ein.rb +3 -0
- data/lib/pwn/plugins/exploit_dev.rb +264 -0
- data/lib/pwn/plugins/file_fu.rb +11 -8
- data/lib/pwn/plugins/frida.rb +61 -0
- data/lib/pwn/plugins/fuzz.rb +9 -6
- data/lib/pwn/plugins/gdb.rb +95 -0
- data/lib/pwn/plugins/git.rb +19 -14
- data/lib/pwn/plugins/github.rb +38 -15
- data/lib/pwn/plugins/google_workspace.rb +188 -45
- data/lib/pwn/plugins/hacker_one.rb +159 -35
- data/lib/pwn/plugins/hunter.rb +6 -3
- data/lib/pwn/plugins/ip_info.rb +9 -4
- data/lib/pwn/plugins/irc.rb +28 -15
- data/lib/pwn/plugins/jenkins.rb +65 -57
- data/lib/pwn/plugins/jira_data_center.rb +30 -22
- data/lib/pwn/plugins/jobs.rb +109 -0
- data/lib/pwn/plugins/json_pathify.rb +9 -5
- data/lib/pwn/plugins/log.rb +113 -13
- data/lib/pwn/plugins/mail_agent.rb +87 -79
- data/lib/pwn/plugins/metasploit.rb +11 -6
- data/lib/pwn/plugins/monkey_patch.rb +3 -0
- data/lib/pwn/plugins/msr206.rb +42 -28
- data/lib/pwn/plugins/nessus_cloud.rb +44 -4
- data/lib/pwn/plugins/nexpose_vuln_scan.rb +40 -24
- data/lib/pwn/plugins/nmap_it.rb +14 -34
- data/lib/pwn/plugins/nuclei.rb +57 -0
- data/lib/pwn/plugins/oauth2.rb +11 -5
- data/lib/pwn/plugins/ocr.rb +3 -0
- data/lib/pwn/plugins/open_api.rb +5 -2
- data/lib/pwn/plugins/openvas.rb +33 -25
- data/lib/pwn/plugins/packet.rb +152 -31
- data/lib/pwn/plugins/pdf_parse.rb +5 -2
- data/lib/pwn/plugins/pony.rb +86 -1
- data/lib/pwn/plugins/process_tube.rb +120 -0
- data/lib/pwn/plugins/ps.rb +7 -1
- data/lib/pwn/plugins/pwn_logger.rb +6 -2
- data/lib/pwn/plugins/rabbit_mq.rb +12 -7
- data/lib/pwn/plugins/radare2.rb +253 -0
- data/lib/pwn/plugins/recon.rb +161 -0
- data/lib/pwn/plugins/repl.rb +122 -1
- data/lib/pwn/plugins/scannable_codes.rb +5 -1
- data/lib/pwn/plugins/serial.rb +24 -14
- data/lib/pwn/plugins/shodan.rb +54 -35
- data/lib/pwn/plugins/slack_client.rb +11 -6
- data/lib/pwn/plugins/sock.rb +16 -8
- data/lib/pwn/plugins/spider.rb +5 -2
- data/lib/pwn/plugins/sqlmap.rb +49 -0
- data/lib/pwn/plugins/ssn.rb +3 -0
- data/lib/pwn/plugins/thread_pool.rb +6 -9
- data/lib/pwn/plugins/tor.rb +9 -4
- data/lib/pwn/plugins/transparent_browser.rb +62 -107
- data/lib/pwn/plugins/tty_spinner.rb +16 -2
- data/lib/pwn/plugins/twitter_api.rb +6 -2
- data/lib/pwn/plugins/uri_scheme.rb +4 -1
- data/lib/pwn/plugins/vault.rb +12 -3
- data/lib/pwn/plugins/vin.rb +24 -12
- data/lib/pwn/plugins/voice.rb +7 -2
- data/lib/pwn/plugins/volatility.rb +48 -0
- data/lib/pwn/plugins/vsphere.rb +9 -5
- data/lib/pwn/plugins/xxd.rb +12 -43
- data/lib/pwn/plugins/zaproxy.rb +30 -16
- data/lib/pwn/plugins.rb +19 -0
- data/lib/pwn/reports/ai_red_team.rb +6 -2
- data/lib/pwn/reports/csv.rb +8 -1
- data/lib/pwn/reports/fuzz.rb +5 -2
- data/lib/pwn/reports/html.rb +8 -1
- data/lib/pwn/reports/html_footer.rb +4 -3
- data/lib/pwn/reports/html_header.rb +6 -2
- data/lib/pwn/reports/json.rb +8 -1
- data/lib/pwn/reports/markdown.rb +8 -1
- data/lib/pwn/reports/pdf.rb +8 -1
- data/lib/pwn/reports/phone.rb +5 -2
- data/lib/pwn/reports/sast.rb +6 -2
- data/lib/pwn/reports/uri_buster.rb +5 -2
- data/lib/pwn/reports/xml.rb +8 -1
- data/lib/pwn/reports.rb +19 -0
- data/lib/pwn/sast/amqp_connect_as_guest.rb +9 -3
- data/lib/pwn/sast/apache_file_system_util_api.rb +9 -3
- data/lib/pwn/sast/aws.rb +9 -3
- data/lib/pwn/sast/banned_function_calls_c.rb +9 -3
- data/lib/pwn/sast/base64.rb +9 -3
- data/lib/pwn/sast/beef_hook.rb +9 -3
- data/lib/pwn/sast/cmd_execution_go_lang.rb +9 -3
- data/lib/pwn/sast/cmd_execution_java.rb +9 -3
- data/lib/pwn/sast/cmd_execution_python.rb +9 -3
- data/lib/pwn/sast/cmd_execution_ruby.rb +9 -3
- data/lib/pwn/sast/cmd_execution_scala.rb +9 -3
- data/lib/pwn/sast/csrf.rb +9 -3
- data/lib/pwn/sast/deserial_java.rb +9 -3
- data/lib/pwn/sast/emoticon.rb +9 -3
- data/lib/pwn/sast/eval.rb +9 -3
- data/lib/pwn/sast/factory.rb +9 -3
- data/lib/pwn/sast/http_authorization_header.rb +9 -3
- data/lib/pwn/sast/inner_html.rb +9 -3
- data/lib/pwn/sast/keystore.rb +9 -3
- data/lib/pwn/sast/local_storage.rb +9 -3
- data/lib/pwn/sast/location_hash.rb +9 -3
- data/lib/pwn/sast/log4j.rb +9 -3
- data/lib/pwn/sast/logger.rb +9 -3
- data/lib/pwn/sast/md5.rb +9 -3
- data/lib/pwn/sast/outer_html.rb +9 -3
- data/lib/pwn/sast/padding_oracle.rb +9 -3
- data/lib/pwn/sast/password.rb +9 -3
- data/lib/pwn/sast/php_input_mechanisms.rb +9 -3
- data/lib/pwn/sast/php_type_juggling.rb +9 -3
- data/lib/pwn/sast/pom_version.rb +9 -3
- data/lib/pwn/sast/port.rb +9 -3
- data/lib/pwn/sast/post_message.rb +9 -3
- data/lib/pwn/sast/private_key.rb +9 -3
- data/lib/pwn/sast/redirect.rb +9 -3
- data/lib/pwn/sast/redos.rb +9 -3
- data/lib/pwn/sast/shell.rb +9 -3
- data/lib/pwn/sast/signature.rb +9 -3
- data/lib/pwn/sast/sql.rb +9 -3
- data/lib/pwn/sast/ssl.rb +9 -3
- data/lib/pwn/sast/sudo.rb +9 -3
- data/lib/pwn/sast/task_tag.rb +9 -3
- data/lib/pwn/sast/test_case_engine.rb +11 -7
- data/lib/pwn/sast/throw_errors.rb +9 -3
- data/lib/pwn/sast/token.rb +9 -3
- data/lib/pwn/sast/type_script_type_juggling.rb +9 -3
- data/lib/pwn/sast/use_after_free.rb +9 -3
- data/lib/pwn/sast/version.rb +9 -3
- data/lib/pwn/sast/window_location_hash.rb +9 -3
- data/lib/pwn/sast.rb +4 -0
- data/lib/pwn/sdr/decoder/adsb.rb +36 -5
- data/lib/pwn/sdr/decoder/apt.rb +9 -6
- data/lib/pwn/sdr/decoder/base.rb +74 -22
- data/lib/pwn/sdr/decoder/bluetooth.rb +17 -5
- data/lib/pwn/sdr/decoder/dect.rb +12 -3
- data/lib/pwn/sdr/decoder/dsp.rb +229 -39
- data/lib/pwn/sdr/decoder/flex.rb +59 -11
- data/lib/pwn/sdr/decoder/gps.rb +12 -3
- data/lib/pwn/sdr/decoder/gsm.rb +24 -4
- data/lib/pwn/sdr/decoder/iridium.rb +12 -3
- data/lib/pwn/sdr/decoder/lora.rb +13 -4
- data/lib/pwn/sdr/decoder/lte.rb +27 -3
- data/lib/pwn/sdr/decoder/morse.rb +12 -3
- data/lib/pwn/sdr/decoder/p25.rb +12 -3
- data/lib/pwn/sdr/decoder/pager.rb +8 -5
- data/lib/pwn/sdr/decoder/pocsag.rb +29 -9
- data/lib/pwn/sdr/decoder/rds.rb +14 -8
- data/lib/pwn/sdr/decoder/rfid.rb +12 -3
- data/lib/pwn/sdr/decoder/rtl433.rb +12 -3
- data/lib/pwn/sdr/decoder/rtty.rb +8 -5
- data/lib/pwn/sdr/decoder/wifi.rb +12 -3
- data/lib/pwn/sdr/decoder/zigbee.rb +12 -3
- data/lib/pwn/sdr/decoder.rb +9 -0
- data/lib/pwn/sdr/flipper_zero.rb +17 -10
- data/lib/pwn/sdr/frequency_allocation.rb +4 -1
- data/lib/pwn/sdr/gqrx.rb +178 -119
- data/lib/pwn/sdr/rfidler.rb +4 -1
- data/lib/pwn/sdr/son_micro_rfid.rb +37 -24
- data/lib/pwn/sdr.rb +14 -0
- data/lib/pwn/sessions.rb +86 -16
- data/lib/pwn/setup.rb +94 -37
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn/www/app_cobalt_io.rb +11 -5
- data/lib/pwn/www/bing.rb +10 -5
- data/lib/pwn/www/bug_crowd.rb +11 -5
- data/lib/pwn/www/checkip.rb +8 -4
- data/lib/pwn/www/coinbase_pro.rb +11 -5
- data/lib/pwn/www/duckduckgo.rb +12 -6
- data/lib/pwn/www/facebook.rb +11 -5
- data/lib/pwn/www/github.rb +11 -5
- data/lib/pwn/www/google.rb +11 -5
- data/lib/pwn/www/hacker_one.rb +20 -9
- data/lib/pwn/www/linkedin.rb +11 -5
- data/lib/pwn/www/pandora.rb +11 -5
- data/lib/pwn/www/pastebin.rb +9 -4
- data/lib/pwn/www/paypal.rb +19 -11
- data/lib/pwn/www/synack.rb +11 -5
- data/lib/pwn/www/torch.rb +13 -8
- data/lib/pwn/www/trading_view.rb +11 -5
- data/lib/pwn/www/twitter.rb +11 -5
- data/lib/pwn/www/uber.rb +11 -5
- data/lib/pwn/www/upwork.rb +11 -5
- data/lib/pwn/www/wayback_machine.rb +12 -6
- data/lib/pwn/www/youtube.rb +10 -5
- data/lib/pwn/www.rb +4 -0
- data/spec/conventions_spec.rb +118 -2
- data/spec/lib/pwn/ai/agent/reward_spec.rb +9 -0
- data/spec/lib/pwn/plugins/aflplusplus_spec.rb +13 -0
- data/spec/lib/pwn/plugins/artifact_registry_spec.rb +13 -0
- data/spec/lib/pwn/plugins/binary_parser_spec.rb +21 -0
- data/spec/lib/pwn/plugins/credential_attack_spec.rb +13 -0
- data/spec/lib/pwn/plugins/doctor_spec.rb +23 -0
- data/spec/lib/pwn/plugins/exploit_dev_spec.rb +23 -0
- data/spec/lib/pwn/plugins/frida_spec.rb +13 -0
- data/spec/lib/pwn/plugins/gdb_spec.rb +13 -0
- data/spec/lib/pwn/plugins/jobs_spec.rb +13 -0
- data/spec/lib/pwn/plugins/nuclei_spec.rb +13 -0
- data/spec/lib/pwn/plugins/process_tube_spec.rb +13 -0
- data/spec/lib/pwn/plugins/radare2_spec.rb +13 -0
- data/spec/lib/pwn/plugins/recon_spec.rb +26 -0
- data/spec/lib/pwn/plugins/sqlmap_spec.rb +13 -0
- data/spec/lib/pwn/plugins/volatility_spec.rb +13 -0
- data/third_party/pwn_rdoc.jsonl +126 -5
- metadata +47 -3
- data/etc/default_skills/pwn/memory_index/references/urls.md +0 -4
- data/etc/default_skills/pwn/plugins/transparent_browser/references/urls.md +0 -3
|
@@ -220,21 +220,41 @@ module PWN
|
|
|
220
220
|
# Display Usage for this Module
|
|
221
221
|
|
|
222
222
|
public_class_method def self.help
|
|
223
|
-
puts "USAGE
|
|
224
|
-
#
|
|
225
|
-
|
|
223
|
+
puts "USAGE:
|
|
224
|
+
# Run decode bits and return its result
|
|
225
|
+
#{self}.decode_bits(
|
|
226
|
+
bits: 'optional - bits value consumed by #decode_bits (defaults to [])',
|
|
227
|
+
baud: 'optional - baud value consumed by #decode_bits'
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
# Run assemble and return its result
|
|
231
|
+
#{self}.assemble(
|
|
232
|
+
pending: 'optional - pending value consumed by #assemble',
|
|
233
|
+
baud: 'optional - baud value consumed by #assemble'
|
|
234
|
+
)
|
|
235
|
+
|
|
236
|
+
# Run numeric decode and return its result
|
|
237
|
+
#{self}.numeric_decode(
|
|
238
|
+
words: 'optional - words value consumed by #numeric_decode (defaults to [])'
|
|
226
239
|
)
|
|
227
240
|
|
|
228
|
-
#
|
|
229
|
-
#{self}.
|
|
230
|
-
|
|
231
|
-
|
|
241
|
+
# Run alpha decode and return its result
|
|
242
|
+
#{self}.alpha_decode(
|
|
243
|
+
words: 'optional - words value consumed by #alpha_decode (defaults to [])'
|
|
244
|
+
)
|
|
232
245
|
|
|
233
|
-
|
|
234
|
-
|
|
246
|
+
# Run decode and return its result
|
|
247
|
+
#{self}.decode(
|
|
248
|
+
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
249
|
+
source: 'optional - source value consumed by #decode',
|
|
250
|
+
file: 'optional - filesystem path',
|
|
251
|
+
sample_rate: 'optional - sample rate value consumed by #decode'
|
|
252
|
+
)
|
|
235
253
|
|
|
254
|
+
# Print the AUTHOR(S) string for this module.
|
|
236
255
|
#{self}.authors
|
|
237
256
|
"
|
|
257
|
+
constants.sort
|
|
238
258
|
end
|
|
239
259
|
end
|
|
240
260
|
end
|
data/lib/pwn/sdr/decoder/rds.rb
CHANGED
|
@@ -194,21 +194,27 @@ module PWN
|
|
|
194
194
|
|
|
195
195
|
public_class_method def self.help
|
|
196
196
|
puts "USAGE:
|
|
197
|
-
#
|
|
198
|
-
|
|
199
|
-
gqrx_sock:
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
# Run sample and return its result
|
|
198
|
+
#{self}.sample(
|
|
199
|
+
gqrx_sock: 'required - required unless freq_obj - TCPSocket from GQRX.connect',
|
|
200
|
+
freq_obj: 'required - required unless gqrx_sock - Hash from GQRX.init_freq',
|
|
201
|
+
settle_secs: 'optional - seconds to sample (default 8, max 30)',
|
|
202
|
+
interval: 'optional - poll interval seconds (default 0.75)',
|
|
203
|
+
leave_enabled: 'optional - leave RDS decoder ON after sample (default false)',
|
|
204
|
+
pi: 'required - ps_name:, radiotext:, station:',
|
|
205
|
+
samples: 'required - Integer, settle_secs: Float',
|
|
206
|
+
error: 'required - String? # present when RDS backend is unavailable'
|
|
202
207
|
)
|
|
203
|
-
# => { pi:, ps_name:, radiotext:, station:, samples:, settle_secs: }
|
|
204
208
|
|
|
205
|
-
# Interactive TTY
|
|
209
|
+
# Interactive TTY UX: enables RDS, spins a live status line until the
|
|
206
210
|
#{self}.decode(
|
|
207
|
-
freq_obj: 'required -
|
|
211
|
+
freq_obj: 'required - Hash returned from PWN::SDR::GQRX.init_freq'
|
|
208
212
|
)
|
|
209
213
|
|
|
214
|
+
# Print the AUTHOR(S) string for this module.
|
|
210
215
|
#{self}.authors
|
|
211
216
|
"
|
|
217
|
+
constants.sort
|
|
212
218
|
end
|
|
213
219
|
|
|
214
220
|
# ---- internals -------------------------------------------------------
|
data/lib/pwn/sdr/decoder/rfid.rb
CHANGED
|
@@ -117,15 +117,24 @@ module PWN
|
|
|
117
117
|
end
|
|
118
118
|
|
|
119
119
|
public_class_method def self.help
|
|
120
|
-
puts "USAGE
|
|
120
|
+
puts "USAGE:
|
|
121
|
+
# Run decode and return its result
|
|
121
122
|
#{self}.decode(
|
|
122
123
|
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
sample_rate: 'optional - sample rate value consumed by #decode',
|
|
125
|
+
source: 'optional - source value consumed by #decode',
|
|
126
|
+
file: 'optional - filesystem path'
|
|
125
127
|
)
|
|
126
128
|
|
|
129
|
+
# Run parse line and return its result
|
|
130
|
+
#{self}.parse_line(
|
|
131
|
+
line: 'optional - line value consumed by #parse_line'
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Print the AUTHOR(S) string for this module.
|
|
127
135
|
#{self}.authors
|
|
128
136
|
"
|
|
137
|
+
constants.sort
|
|
129
138
|
end
|
|
130
139
|
end
|
|
131
140
|
end
|
|
@@ -128,15 +128,24 @@ module PWN
|
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
public_class_method def self.help
|
|
131
|
-
puts "USAGE
|
|
131
|
+
puts "USAGE:
|
|
132
|
+
# Run decode and return its result
|
|
132
133
|
#{self}.decode(
|
|
133
134
|
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
sample_rate: 'optional - sample rate value consumed by #decode',
|
|
136
|
+
source: 'optional - source value consumed by #decode',
|
|
137
|
+
file: 'optional - filesystem path'
|
|
136
138
|
)
|
|
137
139
|
|
|
140
|
+
# Run parse line and return its result
|
|
141
|
+
#{self}.parse_line(
|
|
142
|
+
line: 'optional - line value consumed by #parse_line'
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
# Print the AUTHOR(S) string for this module.
|
|
138
146
|
#{self}.authors
|
|
139
147
|
"
|
|
148
|
+
constants.sort
|
|
140
149
|
end
|
|
141
150
|
end
|
|
142
151
|
end
|
data/lib/pwn/sdr/decoder/rtty.rb
CHANGED
|
@@ -139,16 +139,19 @@ module PWN
|
|
|
139
139
|
# Display Usage for this Module
|
|
140
140
|
|
|
141
141
|
public_class_method def self.help
|
|
142
|
-
puts "USAGE
|
|
142
|
+
puts "USAGE:
|
|
143
|
+
# Run decode and return its result
|
|
143
144
|
#{self}.decode(
|
|
144
|
-
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq'
|
|
145
|
+
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
146
|
+
source: 'optional - source value consumed by #decode',
|
|
147
|
+
file: 'optional - filesystem path',
|
|
148
|
+
sample_rate: 'optional - sample rate value consumed by #decode'
|
|
145
149
|
)
|
|
146
150
|
|
|
147
|
-
|
|
148
|
-
the audio passband. 45.45 baud, 170 Hz shift, 1N5+1.5.
|
|
149
|
-
|
|
151
|
+
# Print the AUTHOR(S) string for this module.
|
|
150
152
|
#{self}.authors
|
|
151
153
|
"
|
|
154
|
+
constants.sort
|
|
152
155
|
end
|
|
153
156
|
end
|
|
154
157
|
end
|
data/lib/pwn/sdr/decoder/wifi.rb
CHANGED
|
@@ -115,15 +115,24 @@ module PWN
|
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
public_class_method def self.help
|
|
118
|
-
puts "USAGE
|
|
118
|
+
puts "USAGE:
|
|
119
|
+
# Run decode and return its result
|
|
119
120
|
#{self}.decode(
|
|
120
121
|
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
sample_rate: 'optional - sample rate value consumed by #decode',
|
|
123
|
+
source: 'optional - source value consumed by #decode',
|
|
124
|
+
file: 'optional - filesystem path'
|
|
123
125
|
)
|
|
124
126
|
|
|
127
|
+
# Run parse line and return its result
|
|
128
|
+
#{self}.parse_line(
|
|
129
|
+
line: 'optional - line value consumed by #parse_line'
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
# Print the AUTHOR(S) string for this module.
|
|
125
133
|
#{self}.authors
|
|
126
134
|
"
|
|
135
|
+
constants.sort
|
|
127
136
|
end
|
|
128
137
|
end
|
|
129
138
|
end
|
|
@@ -184,15 +184,24 @@ module PWN
|
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
public_class_method def self.help
|
|
187
|
-
puts "USAGE
|
|
187
|
+
puts "USAGE:
|
|
188
|
+
# Run decode and return its result
|
|
188
189
|
#{self}.decode(
|
|
189
190
|
freq_obj: 'required - freq_obj returned from PWN::SDR::GQRX.init_freq',
|
|
190
|
-
|
|
191
|
-
|
|
191
|
+
sample_rate: 'optional - sample rate value consumed by #decode',
|
|
192
|
+
source: 'optional - source value consumed by #decode',
|
|
193
|
+
file: 'optional - filesystem path'
|
|
192
194
|
)
|
|
193
195
|
|
|
196
|
+
# Run parse line and return its result
|
|
197
|
+
#{self}.parse_line(
|
|
198
|
+
line: 'optional - line value consumed by #parse_line'
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
# Print the AUTHOR(S) string for this module.
|
|
194
202
|
#{self}.authors
|
|
195
203
|
"
|
|
204
|
+
constants.sort
|
|
196
205
|
end
|
|
197
206
|
end
|
|
198
207
|
end
|
data/lib/pwn/sdr/decoder.rb
CHANGED
|
@@ -91,6 +91,15 @@ module PWN
|
|
|
91
91
|
# Display a List of Every PWN::SDR::Decoder Module
|
|
92
92
|
|
|
93
93
|
public_class_method def self.help
|
|
94
|
+
puts "USAGE:
|
|
95
|
+
# Run resolve and return its result
|
|
96
|
+
#{self}.resolve(
|
|
97
|
+
decoder: 'required - Symbol/String key from REGISTRY (e.g. :pocsag)'
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Print the AUTHOR(S) string for this module.
|
|
101
|
+
#{self}.authors
|
|
102
|
+
"
|
|
94
103
|
constants.sort
|
|
95
104
|
end
|
|
96
105
|
end
|
data/lib/pwn/sdr/flipper_zero.rb
CHANGED
|
@@ -99,29 +99,36 @@ module PWN
|
|
|
99
99
|
|
|
100
100
|
public_class_method def self.help
|
|
101
101
|
puts "USAGE:
|
|
102
|
+
# Run connect via screen and return its result
|
|
102
103
|
#{self}.connect_via_screen(
|
|
103
|
-
block_dev: 'optional serial block device path (defaults to /dev/
|
|
104
|
+
block_dev: 'optional - serial block device path (defaults to /dev/ttyACM0)'
|
|
104
105
|
)
|
|
105
106
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
# Run connect and return its result
|
|
108
|
+
#{self}.connect(
|
|
109
|
+
block_dev: 'optional - optional serial block device path (defaults to /dev/ttyACM0)',
|
|
110
|
+
baud: 'optional - optional (defaults to 9600)',
|
|
111
|
+
data_bits: 'optional - optional (defaults to 8)',
|
|
112
|
+
stop_bits: 'optional - optional (defaults to 1)',
|
|
113
|
+
parity: 'optional - :even||:odd|:none (defaults to :none)',
|
|
114
|
+
flipper_zero_obj: 'optional - flipper zero obj value consumed by #connect'
|
|
112
115
|
)
|
|
113
116
|
|
|
114
|
-
|
|
117
|
+
# Run request and return its result
|
|
118
|
+
#{self}.request(
|
|
115
119
|
flipper_zero_obj: 'required - flipper_zero_obj returned from #connect method',
|
|
116
|
-
payload: '
|
|
117
|
-
)
|
|
120
|
+
payload: 'optional - payload to send to the device (defaults to help)'
|
|
121
|
+
)
|
|
118
122
|
|
|
123
|
+
# Run disconnect and return its result
|
|
119
124
|
#{self}.disconnect(
|
|
120
125
|
flipper_zero_obj: 'required - flipper_zero_obj returned from #connect method'
|
|
121
126
|
)
|
|
122
127
|
|
|
128
|
+
# Print the AUTHOR(S) string for this module.
|
|
123
129
|
#{self}.authors
|
|
124
130
|
"
|
|
131
|
+
constants.sort
|
|
125
132
|
end
|
|
126
133
|
end
|
|
127
134
|
end
|
|
@@ -822,10 +822,13 @@ module PWN
|
|
|
822
822
|
|
|
823
823
|
public_class_method def self.help
|
|
824
824
|
puts "USAGE:
|
|
825
|
-
|
|
825
|
+
# Run band plans and return its result
|
|
826
|
+
#{self}.band_plans
|
|
826
827
|
|
|
828
|
+
# Print the AUTHOR(S) string for this module.
|
|
827
829
|
#{self}.authors
|
|
828
830
|
"
|
|
831
|
+
constants.sort
|
|
829
832
|
end
|
|
830
833
|
end
|
|
831
834
|
end
|