pwn 0.5.712 → 0.5.714
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/etc/default_skills/pwn/ai/agent/learning/SKILL.md +3 -0
- data/etc/default_skills/pwn/ai/agent/mistakes/SKILL.md +1 -0
- data/etc/default_skills/pwn/ai/agent/swarm/SKILL.md +1 -0
- data/etc/default_skills/pwn/ai/agent/tool_guard/SKILL.md +16 -0
- data/etc/default_skills/pwn/ai/agent/tools/artifacts/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/binary_triage/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/decompile/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/exploitdev/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/finding_record/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/fuzz_campaign/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/intel_lookup/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/job_run/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/pty_session/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/session_export/SKILL.md +45 -0
- data/etc/default_skills/pwn/ai/agent/tools/swarm_map/SKILL.md +45 -0
- data/etc/default_skills/pwn/memory_index/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +2 -0
- data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/detect_os/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/findings/SKILL.md +50 -0
- data/etc/default_skills/pwn/plugins/ghidra/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/jobs/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/log/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/nmap_it/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/preflight_checker/SKILL.md +2 -0
- data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +2 -0
- data/etc/default_skills/pwn/sessions/SKILL.md +3 -0
- data/etc/default_skills/pwn/setup/references/urls.md +1 -0
- data/etc/intel/files_exploits.csv +2 -0
- data/lib/pwn/ai/agent/dispatch.rb +5 -0
- data/lib/pwn/ai/agent/learning.rb +72 -0
- data/lib/pwn/ai/agent/loop.rb +62 -13
- data/lib/pwn/ai/agent/mistakes.rb +21 -1
- data/lib/pwn/ai/agent/prompt_builder.rb +16 -13
- data/lib/pwn/ai/agent/registry.rb +21 -1
- data/lib/pwn/ai/agent/reward.rb +4 -2
- data/lib/pwn/ai/agent/swarm.rb +26 -0
- data/lib/pwn/ai/agent/tool_guard.rb +201 -1
- data/lib/pwn/ai/agent/tools/artifacts.rb +61 -0
- data/lib/pwn/ai/agent/tools/binary_triage.rb +20 -0
- data/lib/pwn/ai/agent/tools/decompile.rb +27 -0
- data/lib/pwn/ai/agent/tools/exploitdev.rb +45 -0
- data/lib/pwn/ai/agent/tools/finding_record.rb +48 -0
- data/lib/pwn/ai/agent/tools/fuzz_campaign.rb +44 -0
- data/lib/pwn/ai/agent/tools/intel_lookup.rb +24 -0
- data/lib/pwn/ai/agent/tools/job_run.rb +56 -0
- data/lib/pwn/ai/agent/tools/pty_session.rb +73 -0
- data/lib/pwn/ai/agent/tools/session_export.rb +20 -0
- data/lib/pwn/ai/agent/tools/shell.rb +5 -0
- data/lib/pwn/ai/agent/tools/swarm_map.rb +26 -0
- data/lib/pwn/config.rb +10 -1
- data/lib/pwn/memory_index.rb +50 -0
- data/lib/pwn/plugins/aflplusplus.rb +30 -1
- data/lib/pwn/plugins/artifact_registry.rb +43 -0
- data/lib/pwn/plugins/binary_parser.rb +31 -0
- data/lib/pwn/plugins/detect_os.rb +109 -2
- data/lib/pwn/plugins/exploit_db.rb +38 -1
- data/lib/pwn/plugins/findings.rb +105 -0
- data/lib/pwn/plugins/ghidra.rb +75 -0
- data/lib/pwn/plugins/jobs.rb +12 -1
- data/lib/pwn/plugins/log.rb +18 -3
- data/lib/pwn/plugins/nmap_it.rb +29 -0
- data/lib/pwn/plugins/preflight_checker.rb +36 -0
- data/lib/pwn/plugins/transparent_browser.rb +29 -0
- data/lib/pwn/plugins.rb +2 -0
- data/lib/pwn/sessions.rb +92 -1
- data/lib/pwn/setup.rb +41 -15
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/fixtures/error_class_docker.json +7 -0
- data/spec/lib/pwn/ai/agent/learning_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/loop_spec.rb +57 -2
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +21 -0
- data/spec/lib/pwn/ai/agent/registry_spec.rb +11 -0
- data/spec/lib/pwn/ai/agent/reward_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +6 -0
- data/spec/lib/pwn/ai/agent/tool_guard_spec.rb +48 -0
- data/spec/lib/pwn/ai/agent/tools/artifacts_spec.rb +16 -0
- data/spec/lib/pwn/ai/agent/tools/binary_triage_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/decompile_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/exploitdev_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/finding_record_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/tools/fuzz_campaign_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/intel_lookup_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/job_run_spec.rb +16 -0
- data/spec/lib/pwn/ai/agent/tools/pty_session_spec.rb +17 -0
- data/spec/lib/pwn/ai/agent/tools/session_export_spec.rb +14 -0
- data/spec/lib/pwn/ai/agent/tools/swarm_map_spec.rb +14 -0
- data/spec/lib/pwn/cron_spec.rb +2 -2
- data/spec/lib/pwn/memory_index_spec.rb +9 -0
- data/spec/lib/pwn/plugins/aflplusplus_spec.rb +9 -0
- data/spec/lib/pwn/plugins/artifact_registry_spec.rb +12 -0
- data/spec/lib/pwn/plugins/detect_os_spec.rb +40 -0
- data/spec/lib/pwn/plugins/exploit_db_spec.rb +12 -0
- data/spec/lib/pwn/plugins/exploit_dev_spec.rb +23 -0
- data/spec/lib/pwn/plugins/findings_spec.rb +30 -0
- data/spec/lib/pwn/plugins/frida_spec.rb +5 -0
- data/spec/lib/pwn/plugins/fuzz_spec.rb +20 -0
- data/spec/lib/pwn/plugins/gdb_spec.rb +15 -0
- data/spec/lib/pwn/plugins/ghidra_spec.rb +14 -0
- data/spec/lib/pwn/plugins/k8s_spec.rb +5 -0
- data/spec/lib/pwn/plugins/log_spec.rb +10 -5
- data/spec/lib/pwn/plugins/nmap_it_spec.rb +4 -0
- data/spec/lib/pwn/plugins/nuclei_spec.rb +6 -0
- data/spec/lib/pwn/plugins/preflight_checker_spec.rb +24 -0
- data/spec/lib/pwn/plugins/process_tube_spec.rb +23 -0
- data/spec/lib/pwn/plugins/semgrep_spec.rb +4 -0
- data/spec/lib/pwn/plugins/sock_spec.rb +7 -0
- data/spec/lib/pwn/plugins/transparent_browser_spec.rb +15 -0
- data/spec/lib/pwn/sessions_spec.rb +53 -0
- data/spec/lib/pwn/setup_spec.rb +32 -0
- data/third_party/pwn_rdoc.jsonl +64 -2
- metadata +42 -3
- data/spec/lib/pwn/req_queue_spec.rb +0 -168
- data/tmp_pwn_critic_skills_flaw.txt +0 -9
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pwn
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.714
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 0day Inc.
|
|
@@ -4935,23 +4935,34 @@ files:
|
|
|
4935
4935
|
- etc/default_skills/pwn/ai/agent/swarm/SKILL.md
|
|
4936
4936
|
- etc/default_skills/pwn/ai/agent/task_summarizer/SKILL.md
|
|
4937
4937
|
- etc/default_skills/pwn/ai/agent/tool_guard/SKILL.md
|
|
4938
|
+
- etc/default_skills/pwn/ai/agent/tools/artifacts/SKILL.md
|
|
4939
|
+
- etc/default_skills/pwn/ai/agent/tools/binary_triage/SKILL.md
|
|
4938
4940
|
- etc/default_skills/pwn/ai/agent/tools/cron/SKILL.md
|
|
4939
4941
|
- etc/default_skills/pwn/ai/agent/tools/curriculum/SKILL.md
|
|
4942
|
+
- etc/default_skills/pwn/ai/agent/tools/decompile/SKILL.md
|
|
4943
|
+
- etc/default_skills/pwn/ai/agent/tools/exploitdev/SKILL.md
|
|
4940
4944
|
- etc/default_skills/pwn/ai/agent/tools/extrospection/SKILL.md
|
|
4941
4945
|
- etc/default_skills/pwn/ai/agent/tools/extrospection/references/urls.md
|
|
4946
|
+
- etc/default_skills/pwn/ai/agent/tools/finding_record/SKILL.md
|
|
4947
|
+
- etc/default_skills/pwn/ai/agent/tools/fuzz_campaign/SKILL.md
|
|
4948
|
+
- etc/default_skills/pwn/ai/agent/tools/intel_lookup/SKILL.md
|
|
4949
|
+
- etc/default_skills/pwn/ai/agent/tools/job_run/SKILL.md
|
|
4942
4950
|
- etc/default_skills/pwn/ai/agent/tools/learning/SKILL.md
|
|
4943
4951
|
- etc/default_skills/pwn/ai/agent/tools/memory/SKILL.md
|
|
4944
4952
|
- etc/default_skills/pwn/ai/agent/tools/metrics/SKILL.md
|
|
4945
4953
|
- etc/default_skills/pwn/ai/agent/tools/mistakes/SKILL.md
|
|
4946
4954
|
- etc/default_skills/pwn/ai/agent/tools/policy/SKILL.md
|
|
4955
|
+
- etc/default_skills/pwn/ai/agent/tools/pty_session/SKILL.md
|
|
4947
4956
|
- etc/default_skills/pwn/ai/agent/tools/reward/SKILL.md
|
|
4948
4957
|
- etc/default_skills/pwn/ai/agent/tools/ruby_eval/SKILL.md
|
|
4949
4958
|
- etc/default_skills/pwn/ai/agent/tools/ruby_eval/references/urls.md
|
|
4959
|
+
- etc/default_skills/pwn/ai/agent/tools/session_export/SKILL.md
|
|
4950
4960
|
- etc/default_skills/pwn/ai/agent/tools/sessions/SKILL.md
|
|
4951
4961
|
- etc/default_skills/pwn/ai/agent/tools/shell/SKILL.md
|
|
4952
4962
|
- etc/default_skills/pwn/ai/agent/tools/skills/SKILL.md
|
|
4953
4963
|
- etc/default_skills/pwn/ai/agent/tools/skills/references/urls.md
|
|
4954
4964
|
- etc/default_skills/pwn/ai/agent/tools/swarm/SKILL.md
|
|
4965
|
+
- etc/default_skills/pwn/ai/agent/tools/swarm_map/SKILL.md
|
|
4955
4966
|
- etc/default_skills/pwn/ai/agent/transparent_browser/SKILL.md
|
|
4956
4967
|
- etc/default_skills/pwn/ai/agent/turn_finalizer/SKILL.md
|
|
4957
4968
|
- etc/default_skills/pwn/ai/agent/vuln_gen/SKILL.md
|
|
@@ -5198,9 +5209,11 @@ files:
|
|
|
5198
5209
|
- etc/default_skills/pwn/plugins/exploit_db/SKILL.md
|
|
5199
5210
|
- etc/default_skills/pwn/plugins/exploit_dev/SKILL.md
|
|
5200
5211
|
- etc/default_skills/pwn/plugins/file_fu/SKILL.md
|
|
5212
|
+
- etc/default_skills/pwn/plugins/findings/SKILL.md
|
|
5201
5213
|
- etc/default_skills/pwn/plugins/frida/SKILL.md
|
|
5202
5214
|
- etc/default_skills/pwn/plugins/fuzz/SKILL.md
|
|
5203
5215
|
- etc/default_skills/pwn/plugins/gdb/SKILL.md
|
|
5216
|
+
- etc/default_skills/pwn/plugins/ghidra/SKILL.md
|
|
5204
5217
|
- etc/default_skills/pwn/plugins/git/SKILL.md
|
|
5205
5218
|
- etc/default_skills/pwn/plugins/github/SKILL.md
|
|
5206
5219
|
- etc/default_skills/pwn/plugins/github/references/urls.md
|
|
@@ -5532,6 +5545,7 @@ files:
|
|
|
5532
5545
|
- etc/default_skills/social-engineering/SKILL.md
|
|
5533
5546
|
- etc/default_skills/vulnerability-research-fundamentals/SKILL.md
|
|
5534
5547
|
- etc/default_skills/web-application-penetration-testing/SKILL.md
|
|
5548
|
+
- etc/intel/files_exploits.csv
|
|
5535
5549
|
- etc/osint/social_sites.json
|
|
5536
5550
|
- etc/systemd/msfrpcd.service
|
|
5537
5551
|
- etc/systemd/openvas.service
|
|
@@ -5869,20 +5883,31 @@ files:
|
|
|
5869
5883
|
- lib/pwn/ai/agent/swarm.rb
|
|
5870
5884
|
- lib/pwn/ai/agent/task_summarizer.rb
|
|
5871
5885
|
- lib/pwn/ai/agent/tool_guard.rb
|
|
5886
|
+
- lib/pwn/ai/agent/tools/artifacts.rb
|
|
5887
|
+
- lib/pwn/ai/agent/tools/binary_triage.rb
|
|
5872
5888
|
- lib/pwn/ai/agent/tools/cron.rb
|
|
5873
5889
|
- lib/pwn/ai/agent/tools/curriculum.rb
|
|
5890
|
+
- lib/pwn/ai/agent/tools/decompile.rb
|
|
5891
|
+
- lib/pwn/ai/agent/tools/exploitdev.rb
|
|
5874
5892
|
- lib/pwn/ai/agent/tools/extrospection.rb
|
|
5893
|
+
- lib/pwn/ai/agent/tools/finding_record.rb
|
|
5894
|
+
- lib/pwn/ai/agent/tools/fuzz_campaign.rb
|
|
5895
|
+
- lib/pwn/ai/agent/tools/intel_lookup.rb
|
|
5896
|
+
- lib/pwn/ai/agent/tools/job_run.rb
|
|
5875
5897
|
- lib/pwn/ai/agent/tools/learning.rb
|
|
5876
5898
|
- lib/pwn/ai/agent/tools/memory.rb
|
|
5877
5899
|
- lib/pwn/ai/agent/tools/metrics.rb
|
|
5878
5900
|
- lib/pwn/ai/agent/tools/mistakes.rb
|
|
5879
5901
|
- lib/pwn/ai/agent/tools/policy.rb
|
|
5902
|
+
- lib/pwn/ai/agent/tools/pty_session.rb
|
|
5880
5903
|
- lib/pwn/ai/agent/tools/reward.rb
|
|
5881
5904
|
- lib/pwn/ai/agent/tools/ruby_eval.rb
|
|
5905
|
+
- lib/pwn/ai/agent/tools/session_export.rb
|
|
5882
5906
|
- lib/pwn/ai/agent/tools/sessions.rb
|
|
5883
5907
|
- lib/pwn/ai/agent/tools/shell.rb
|
|
5884
5908
|
- lib/pwn/ai/agent/tools/skills.rb
|
|
5885
5909
|
- lib/pwn/ai/agent/tools/swarm.rb
|
|
5910
|
+
- lib/pwn/ai/agent/tools/swarm_map.rb
|
|
5886
5911
|
- lib/pwn/ai/agent/transparent_browser.rb
|
|
5887
5912
|
- lib/pwn/ai/agent/turn_finalizer.rb
|
|
5888
5913
|
- lib/pwn/ai/agent/vuln_gen.rb
|
|
@@ -6067,9 +6092,11 @@ files:
|
|
|
6067
6092
|
- lib/pwn/plugins/exploit_db.rb
|
|
6068
6093
|
- lib/pwn/plugins/exploit_dev.rb
|
|
6069
6094
|
- lib/pwn/plugins/file_fu.rb
|
|
6095
|
+
- lib/pwn/plugins/findings.rb
|
|
6070
6096
|
- lib/pwn/plugins/frida.rb
|
|
6071
6097
|
- lib/pwn/plugins/fuzz.rb
|
|
6072
6098
|
- lib/pwn/plugins/gdb.rb
|
|
6099
|
+
- lib/pwn/plugins/ghidra.rb
|
|
6073
6100
|
- lib/pwn/plugins/git.rb
|
|
6074
6101
|
- lib/pwn/plugins/github.rb
|
|
6075
6102
|
- lib/pwn/plugins/google_workspace.rb
|
|
@@ -6357,6 +6384,7 @@ files:
|
|
|
6357
6384
|
- spec/lib/pwn/ai/agent/extrospection/osint/bridges_spec.rb
|
|
6358
6385
|
- spec/lib/pwn/ai/agent/extrospection/osint/social_spec.rb
|
|
6359
6386
|
- spec/lib/pwn/ai/agent/extrospection_spec.rb
|
|
6387
|
+
- spec/lib/pwn/ai/agent/fixtures/error_class_docker.json
|
|
6360
6388
|
- spec/lib/pwn/ai/agent/gqrx_spec.rb
|
|
6361
6389
|
- spec/lib/pwn/ai/agent/hacker_one_spec.rb
|
|
6362
6390
|
- spec/lib/pwn/ai/agent/injection_guard_spec.rb
|
|
@@ -6379,19 +6407,30 @@ files:
|
|
|
6379
6407
|
- spec/lib/pwn/ai/agent/swarm_spec.rb
|
|
6380
6408
|
- spec/lib/pwn/ai/agent/task_summarizer_spec.rb
|
|
6381
6409
|
- spec/lib/pwn/ai/agent/tool_guard_spec.rb
|
|
6410
|
+
- spec/lib/pwn/ai/agent/tools/artifacts_spec.rb
|
|
6411
|
+
- spec/lib/pwn/ai/agent/tools/binary_triage_spec.rb
|
|
6382
6412
|
- spec/lib/pwn/ai/agent/tools/cron_spec.rb
|
|
6383
6413
|
- spec/lib/pwn/ai/agent/tools/curriculum_spec.rb
|
|
6414
|
+
- spec/lib/pwn/ai/agent/tools/decompile_spec.rb
|
|
6415
|
+
- spec/lib/pwn/ai/agent/tools/exploitdev_spec.rb
|
|
6384
6416
|
- spec/lib/pwn/ai/agent/tools/extrospection_spec.rb
|
|
6417
|
+
- spec/lib/pwn/ai/agent/tools/finding_record_spec.rb
|
|
6418
|
+
- spec/lib/pwn/ai/agent/tools/fuzz_campaign_spec.rb
|
|
6419
|
+
- spec/lib/pwn/ai/agent/tools/intel_lookup_spec.rb
|
|
6420
|
+
- spec/lib/pwn/ai/agent/tools/job_run_spec.rb
|
|
6385
6421
|
- spec/lib/pwn/ai/agent/tools/learning_spec.rb
|
|
6386
6422
|
- spec/lib/pwn/ai/agent/tools/memory_spec.rb
|
|
6387
6423
|
- spec/lib/pwn/ai/agent/tools/metrics_spec.rb
|
|
6388
6424
|
- spec/lib/pwn/ai/agent/tools/mistakes_spec.rb
|
|
6389
6425
|
- spec/lib/pwn/ai/agent/tools/policy_spec.rb
|
|
6426
|
+
- spec/lib/pwn/ai/agent/tools/pty_session_spec.rb
|
|
6390
6427
|
- spec/lib/pwn/ai/agent/tools/reward_spec.rb
|
|
6391
6428
|
- spec/lib/pwn/ai/agent/tools/ruby_eval_spec.rb
|
|
6429
|
+
- spec/lib/pwn/ai/agent/tools/session_export_spec.rb
|
|
6392
6430
|
- spec/lib/pwn/ai/agent/tools/sessions_spec.rb
|
|
6393
6431
|
- spec/lib/pwn/ai/agent/tools/shell_spec.rb
|
|
6394
6432
|
- spec/lib/pwn/ai/agent/tools/skills_spec.rb
|
|
6433
|
+
- spec/lib/pwn/ai/agent/tools/swarm_map_spec.rb
|
|
6395
6434
|
- spec/lib/pwn/ai/agent/tools/swarm_spec.rb
|
|
6396
6435
|
- spec/lib/pwn/ai/agent/transparent_browser_spec.rb
|
|
6397
6436
|
- spec/lib/pwn/ai/agent/turn_finalizer_spec.rb
|
|
@@ -6578,9 +6617,11 @@ files:
|
|
|
6578
6617
|
- spec/lib/pwn/plugins/exploit_db_spec.rb
|
|
6579
6618
|
- spec/lib/pwn/plugins/exploit_dev_spec.rb
|
|
6580
6619
|
- spec/lib/pwn/plugins/file_fu_spec.rb
|
|
6620
|
+
- spec/lib/pwn/plugins/findings_spec.rb
|
|
6581
6621
|
- spec/lib/pwn/plugins/frida_spec.rb
|
|
6582
6622
|
- spec/lib/pwn/plugins/fuzz_spec.rb
|
|
6583
6623
|
- spec/lib/pwn/plugins/gdb_spec.rb
|
|
6624
|
+
- spec/lib/pwn/plugins/ghidra_spec.rb
|
|
6584
6625
|
- spec/lib/pwn/plugins/git_spec.rb
|
|
6585
6626
|
- spec/lib/pwn/plugins/github_spec.rb
|
|
6586
6627
|
- spec/lib/pwn/plugins/google_workspace_spec.rb
|
|
@@ -6656,7 +6697,6 @@ files:
|
|
|
6656
6697
|
- spec/lib/pwn/reports/uri_buster_spec.rb
|
|
6657
6698
|
- spec/lib/pwn/reports/xml_spec.rb
|
|
6658
6699
|
- spec/lib/pwn/reports_spec.rb
|
|
6659
|
-
- spec/lib/pwn/req_queue_spec.rb
|
|
6660
6700
|
- spec/lib/pwn/sast/amqp_connect_as_guest_spec.rb
|
|
6661
6701
|
- spec/lib/pwn/sast/apache_file_system_util_api_spec.rb
|
|
6662
6702
|
- spec/lib/pwn/sast/aws_spec.rb
|
|
@@ -6771,7 +6811,6 @@ files:
|
|
|
6771
6811
|
- third_party/pwn_rdoc.jsonl
|
|
6772
6812
|
- third_party/r2-pwn-layout
|
|
6773
6813
|
- third_party/terminator/pwn_shift_enter.py
|
|
6774
|
-
- tmp_pwn_critic_skills_flaw.txt
|
|
6775
6814
|
- upgrade_Gemfile_gems.sh
|
|
6776
6815
|
- upgrade_pwn.sh
|
|
6777
6816
|
- upgrade_ruby.sh
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
require 'socket'
|
|
5
|
-
require 'tmpdir'
|
|
6
|
-
|
|
7
|
-
describe 'pwn_debug REQ queue remaining surface' do
|
|
8
|
-
describe PWN::Plugins::ExploitDev do
|
|
9
|
-
it 'catalogs per-arch execve_bin_sh shellcode as opcodes' do
|
|
10
|
-
sc = described_class.shellcode(arch: 'x86_64', kind: 'execve_bin_sh')
|
|
11
|
-
expect(sc.to_s).not_to be_empty
|
|
12
|
-
expect(sc.to_s).not_to eq("\x90")
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it 'one_gadget returns a structured miss when the binary is absent' do
|
|
16
|
-
allow(PWN::Plugins::PreflightChecker).to receive(:bin?).and_call_original
|
|
17
|
-
allow(PWN::Plugins::PreflightChecker).to receive(:bin?).with(name: 'one_gadget').and_return(false)
|
|
18
|
-
row = described_class.one_gadget(path: '/lib/x86_64-linux-gnu/libc.so.6')
|
|
19
|
-
expect(row).to be_a(Hash)
|
|
20
|
-
expect(row[:error].to_s).to match(/one_gadget/i)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it 'libc_offsets extracts named symbols from an ELF' do
|
|
24
|
-
path = %w[/bin/ls /usr/bin/ls /bin/true /usr/bin/true].find { |p| File.file?(p) }
|
|
25
|
-
skip 'no ELF on host' unless path
|
|
26
|
-
|
|
27
|
-
row = described_class.libc_offsets(path: path)
|
|
28
|
-
expect(row).to include(:path)
|
|
29
|
-
expect(row[:symbols]).to be_a(Hash)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
describe PWN::Plugins::GDB do
|
|
34
|
-
it 'core raises without a core path' do
|
|
35
|
-
expect { described_class.core(core: '') }.to raise_error(/core is required/)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it 'breakpoints includes break commands in the gdb batch' do
|
|
39
|
-
allow(Open3).to receive(:capture3).and_return(['ok', '', instance_double(Process::Status, exitstatus: 0)])
|
|
40
|
-
described_class.breakpoints(binary: '/bin/true', breakpoints: ['main', '*0x401000'])
|
|
41
|
-
expect(Open3).to have_received(:capture3) do |*argv|
|
|
42
|
-
joined = argv.flatten.join(' ')
|
|
43
|
-
expect(joined).to include('break main')
|
|
44
|
-
expect(joined).to include('break *0x401000')
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe PWN::Plugins::ProcessTube do
|
|
50
|
-
it 'connect uses the same write_line/recvuntil API over TCP' do
|
|
51
|
-
server = TCPServer.new('127.0.0.1', 0)
|
|
52
|
-
port = server.addr[1]
|
|
53
|
-
thr = Thread.new do
|
|
54
|
-
sock = server.accept
|
|
55
|
-
sock.write("banner\n")
|
|
56
|
-
sock.flush
|
|
57
|
-
line = sock.gets
|
|
58
|
-
sock.write("ack #{line}")
|
|
59
|
-
sock.close
|
|
60
|
-
end
|
|
61
|
-
tube = described_class.connect(host: '127.0.0.1', port: port)
|
|
62
|
-
described_class.recvuntil(id: tube[:id], until: "\n", timeout: 2)
|
|
63
|
-
described_class.write_line(id: tube[:id], line: 'hi')
|
|
64
|
-
out = described_class.recvuntil(id: tube[:id], until: 'hi', timeout: 2)
|
|
65
|
-
expect(out).to include('ack')
|
|
66
|
-
ensure
|
|
67
|
-
described_class.close(id: tube[:id]) if tube
|
|
68
|
-
thr&.kill
|
|
69
|
-
server&.close
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
describe PWN::Setup do
|
|
74
|
-
it 're profile includes pwndbg, ropper, and rizin' do
|
|
75
|
-
bins = PWN::Setup::PROFILES[:re][:bins]
|
|
76
|
-
expect(bins).to include('pwndbg', 'ropper', 'rizin')
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
describe PWN::Plugins::PreflightChecker do
|
|
81
|
-
it 'check includes missing_services' do
|
|
82
|
-
row = described_class.check.find { |r| r[:plugin].to_s.include?('Packet') }
|
|
83
|
-
expect(row).to include(:missing_services)
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
it 'service? is false for a missing unix socket' do
|
|
87
|
-
expect(described_class.service?(name: 'no-such-pwn-svc', path: '/tmp/pwn-no-such.sock')).to be false
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
describe PWN::Plugins::Sock do
|
|
92
|
-
it 'protocol :raw demands CAP_NET_RAW' do
|
|
93
|
-
allow(PWN::Plugins::PreflightChecker).to receive(:cap_net_raw?).and_return(false)
|
|
94
|
-
expect do
|
|
95
|
-
described_class.connect(target: '127.0.0.1', port: 9, protocol: :raw)
|
|
96
|
-
end.to raise_error(PWN::Plugins::PreflightChecker::MissingCapability)
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
describe PWN::Plugins::Nuclei do
|
|
101
|
-
it 'to_findings maps JSONL rows into report-shaped hashes' do
|
|
102
|
-
rows = [{ 'info' => { 'name' => 'xss', 'severity' => 'high' }, 'matched-at' => 'https://x/' }]
|
|
103
|
-
out = described_class.to_findings(rows: rows)
|
|
104
|
-
expect(out.first).to include(:title, :severity, :url)
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
describe PWN::Plugins::Fuzz do
|
|
109
|
-
it 'http mutates a request with dictionary payloads' do
|
|
110
|
-
reqs = described_class.http(
|
|
111
|
-
request: "GET /FUZZ HTTP/1.1\r\nHost: x\r\n\r\n",
|
|
112
|
-
dictionary: %w[admin ../]
|
|
113
|
-
)
|
|
114
|
-
expect(reqs.length).to eq(2)
|
|
115
|
-
expect(reqs.first).to include('admin')
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
it 'file_format mutates a seed with dictionary blobs' do
|
|
119
|
-
Dir.mktmpdir do |dir|
|
|
120
|
-
seed = File.join(dir, 'seed.bin')
|
|
121
|
-
File.binwrite(seed, 'AAAA')
|
|
122
|
-
out = described_class.file_format(path: seed, dictionary: ["\xff\xff"])
|
|
123
|
-
expect(out).to be_an(Array)
|
|
124
|
-
expect(out.first).to be_a(String)
|
|
125
|
-
end
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
describe PWN::Plugins::ArtifactRegistry do
|
|
130
|
-
it 'lists artifacts for a session id' do
|
|
131
|
-
Dir.mktmpdir do |dir|
|
|
132
|
-
stub_const('PWN::Plugins::ArtifactRegistry::ROOT', dir)
|
|
133
|
-
src = File.join(dir, 'loot.txt')
|
|
134
|
-
File.write(src, 'x')
|
|
135
|
-
described_class.register(session_id: 'sess1', path: src, kind: 'loot')
|
|
136
|
-
rows = described_class.list(session_id: 'sess1')
|
|
137
|
-
expect(rows.first[:kind]).to eq('loot')
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
describe PWN::Plugins::Frida do
|
|
143
|
-
it 'ssl_pinning_script returns injectable javascript' do
|
|
144
|
-
js = described_class.ssl_pinning_script
|
|
145
|
-
expect(js).to match(/SSL_CTX|TrustManager|pinning/i)
|
|
146
|
-
end
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
describe PWN::Plugins::Semgrep do
|
|
150
|
-
it 'responds to scan' do
|
|
151
|
-
expect(described_class).to respond_to(:scan)
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
describe PWN::Plugins::ExploitDB do
|
|
156
|
-
it 'responds to search and cve_for_cpe' do
|
|
157
|
-
expect(described_class).to respond_to(:search)
|
|
158
|
-
expect(described_class).to respond_to(:cve_for_cpe)
|
|
159
|
-
end
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
describe PWN::Plugins::K8s do
|
|
163
|
-
it 'responds to trivy and kube_hunter' do
|
|
164
|
-
expect(described_class).to respond_to(:trivy)
|
|
165
|
-
expect(described_class).to respond_to(:kube_hunter)
|
|
166
|
-
end
|
|
167
|
-
end
|
|
168
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
pwn_critic swarm 20260819_214041_e6ff4d
|
|
2
|
-
REQUEST: what skills are available?
|
|
3
|
-
LIVE INDEX: /home/ninp0/.pwn/skills
|
|
4
|
-
LIVE COUNT: 103
|
|
5
|
-
CANDIDATE CLAIM: 103 skills, complete A-Z list
|
|
6
|
-
CANDIDATE LISTED: 24 names, last item truncated at "document-to-action-items -- Extract cited obligations, deadli"
|
|
7
|
-
MISSING COUNT: 79
|
|
8
|
-
VERDICT: FLAW
|
|
9
|
-
ONE LINE: Claims 103 skills from the live SKILLS index but the list stops at item 24 mid-word; 79 skills are omitted.
|