bingo-ai 6.2.332__tar.gz → 6.2.334__tar.gz

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 (418) hide show
  1. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/PKG-INFO +1 -1
  2. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/__init__.py +1 -1
  3. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/function_schema.py +6 -6
  4. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/ui/terminal.py +104 -82
  5. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/pyproject.toml +1 -1
  6. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/.gitignore +0 -0
  7. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/AGENTS.md +0 -0
  8. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/CLAUDE.md +0 -0
  9. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/README.md +0 -0
  10. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/batch/__init__.py +0 -0
  11. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/batch/runner.py +0 -0
  12. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/blackboard/__init__.py +0 -0
  13. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/blackboard/store.py +0 -0
  14. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/chain/__init__.py +0 -0
  15. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/chain/tracker.py +0 -0
  16. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/cli.py +0 -0
  17. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/config.py +0 -0
  18. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/__init__.py +0 -0
  19. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/action_runtime_helpers.py +0 -0
  20. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/amplifier.py +0 -0
  21. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/anti_hallucination.py +0 -0
  22. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/apt/__init__.py +0 -0
  23. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/apt/c2_channel.py +0 -0
  24. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/apt/lateral_movement.py +0 -0
  25. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/apt/phishing.py +0 -0
  26. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/apt/supply_chain.py +0 -0
  27. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/authorization.py +0 -0
  28. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/code_guard.py +0 -0
  29. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/execution_anchor.py +0 -0
  30. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/execution_runtime.py +0 -0
  31. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/exploits/__init__.py +0 -0
  32. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/exploits/glibc_tunables.py +0 -0
  33. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/exploits/mediatek_wappd.py +0 -0
  34. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/exploits/mitel_micollab.py +0 -0
  35. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/exploits/webp_cve2023_4863.py +0 -0
  36. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/file_watcher.py +0 -0
  37. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/intelligence.py +0 -0
  38. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/ip_block_detector.py +0 -0
  39. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/local_state.py +0 -0
  40. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/memory.py +0 -0
  41. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/multi_agent.py +0 -0
  42. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/parallel_runner.py +0 -0
  43. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/phantom_guard.py +0 -0
  44. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/proxy_hunter.py +0 -0
  45. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/proxy_rotator.py +0 -0
  46. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/recon/__init__.py +0 -0
  47. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/recon/active.py +0 -0
  48. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/recon/asset_db.py +0 -0
  49. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/recon/passive.py +0 -0
  50. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/rollback.py +0 -0
  51. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/session_parser.py +0 -0
  52. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/target_memory.py +0 -0
  53. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/vuln_agents.py +0 -0
  54. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/zero_hal_v5.py +0 -0
  55. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/core/zeroday.py +0 -0
  56. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/hitl/__init__.py +0 -0
  57. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/hitl/gate.py +0 -0
  58. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/hooks/__init__.py +0 -0
  59. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/hooks/pre_tool_hook.py +0 -0
  60. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/i18n.py +0 -0
  61. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/__init__.py +0 -0
  62. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/Auth/auth-bypass.md +0 -0
  63. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/IDOR/idor-techniques.md +0 -0
  64. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/JWT/jwt-attacks.md +0 -0
  65. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/LFI/lfi-payloads.md +0 -0
  66. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/RCE/rce-techniques.md +0 -0
  67. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/SQLi/sqli-payloads.md +0 -0
  68. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/SSRF/ssrf-payloads.md +0 -0
  69. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/Untitled +0 -0
  70. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/Upload/file-upload-bypass.md +0 -0
  71. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/WAF/waf-bypass.md +0 -0
  72. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/XSS/xss-payloads.md +0 -0
  73. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/base/XXE/xxe-payloads.md +0 -0
  74. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/cve_sync.py +0 -0
  75. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/knowledge/loader.py +0 -0
  76. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/lang/__init__.py +0 -0
  77. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/lang/strings.py +0 -0
  78. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/__init__.py +0 -0
  79. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/base.py +0 -0
  80. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/deepseek_prompt.py +0 -0
  81. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/prompt_cache.py +0 -0
  82. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/registry.py +0 -0
  83. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/models/system_prompt.py +0 -0
  84. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/orchestrator/__init__.py +0 -0
  85. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/orchestrator/engine.py +0 -0
  86. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/proxy/__init__.py +0 -0
  87. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/proxy/manager.py +0 -0
  88. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/__init__.py +0 -0
  89. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/agent.py +0 -0
  90. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/agents.py +0 -0
  91. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/01_recon.py +0 -0
  92. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/02_scan.py +0 -0
  93. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/03_exploit.py +0 -0
  94. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/04_webshell.py +0 -0
  95. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/05_idor.py +0 -0
  96. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/09_report.py +0 -0
  97. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/phases/__init__.py +0 -0
  98. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/pipeline.py +0 -0
  99. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/session.py +0 -0
  100. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/redteam/verification.py +0 -0
  101. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/__init__.py +0 -0
  102. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/builtin/api.yaml +0 -0
  103. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/builtin/cloud.yaml +0 -0
  104. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/builtin/ctf.yaml +0 -0
  105. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/builtin/pentest.yaml +0 -0
  106. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/builtin/web.yaml +0 -0
  107. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/roles/manager.py +0 -0
  108. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/SKILLS_INDEX.md +0 -0
  109. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/__init__.py +0 -0
  110. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/api_security/SKILL.md +0 -0
  111. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/auth_attack/SKILL.md +0 -0
  112. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/engine.py +0 -0
  113. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/401-403-bypass-techniques/SKILL.md +0 -0
  114. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/active-directory-acl-abuse/SKILL.md +0 -0
  115. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/active-directory-certificate-services/SKILL.md +0 -0
  116. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/active-directory-kerberos-attacks/SKILL.md +0 -0
  117. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ai-ml-security/SKILL.md +0 -0
  118. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/android-pentesting-tricks/SKILL.md +0 -0
  119. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/anti-debugging-techniques/SKILL.md +0 -0
  120. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/api-auth-and-jwt-abuse/SKILL.md +0 -0
  121. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/api-authorization-and-bola/SKILL.md +0 -0
  122. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/api-recon-and-docs/SKILL.md +0 -0
  123. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/api-sec/SKILL.md +0 -0
  124. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/arbitrary-write-to-rce/SKILL.md +0 -0
  125. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/auth-sec/SKILL.md +0 -0
  126. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/authbypass-authentication-flaws/SKILL.md +0 -0
  127. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/binary-protection-bypass/SKILL.md +0 -0
  128. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/browser-exploitation-v8/SKILL.md +0 -0
  129. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/business-logic-vuln/SKILL.md +0 -0
  130. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/business-logic-vulnerabilities/SKILL.md +0 -0
  131. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/classical-cipher-analysis/SKILL.md +0 -0
  132. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/clickjacking/SKILL.md +0 -0
  133. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/cmdi-command-injection/SKILL.md +0 -0
  134. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/code-obfuscation-deobfuscation/SKILL.md +0 -0
  135. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/container-escape-techniques/SKILL.md +0 -0
  136. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/cors-cross-origin-misconfiguration/SKILL.md +0 -0
  137. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/crlf-injection/SKILL.md +0 -0
  138. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/csp-bypass-advanced/SKILL.md +0 -0
  139. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/csrf-cross-site-request-forgery/SKILL.md +0 -0
  140. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/csv-formula-injection/SKILL.md +0 -0
  141. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/dangling-markup-injection/SKILL.md +0 -0
  142. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/defi-attack-patterns/SKILL.md +0 -0
  143. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/dependency-confusion/SKILL.md +0 -0
  144. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/deserialization-insecure/SKILL.md +0 -0
  145. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/dns-rebinding-attacks/SKILL.md +0 -0
  146. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/email-header-injection/SKILL.md +0 -0
  147. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/expression-language-injection/SKILL.md +0 -0
  148. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/file-access-vuln/SKILL.md +0 -0
  149. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/format-string-exploitation/SKILL.md +0 -0
  150. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ghost-bits-cast-attack/SKILL.md +0 -0
  151. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/gnuboard5-attack/SKILL.md +0 -0
  152. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/graphql-and-hidden-parameters/SKILL.md +0 -0
  153. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/hack/SKILL.md +0 -0
  154. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/hash-attack-techniques/SKILL.md +0 -0
  155. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/heap-exploitation/SKILL.md +0 -0
  156. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/http-host-header-attacks/SKILL.md +0 -0
  157. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/http-parameter-pollution/SKILL.md +0 -0
  158. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/http2-specific-attacks/SKILL.md +0 -0
  159. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/idor-broken-object-authorization/SKILL.md +0 -0
  160. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/injection-checking/SKILL.md +0 -0
  161. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/insecure-source-code-management/SKILL.md +0 -0
  162. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ios-pentesting-tricks/SKILL.md +0 -0
  163. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/jndi-injection/SKILL.md +0 -0
  164. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/jwt-oauth-token-attacks/SKILL.md +0 -0
  165. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/kernel-exploitation/SKILL.md +0 -0
  166. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/kubernetes-pentesting/SKILL.md +0 -0
  167. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/lattice-crypto-attacks/SKILL.md +0 -0
  168. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/linux-lateral-movement/SKILL.md +0 -0
  169. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/linux-privilege-escalation/SKILL.md +0 -0
  170. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/linux-security-bypass/SKILL.md +0 -0
  171. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/llm-prompt-injection/SKILL.md +0 -0
  172. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/macos-process-injection/SKILL.md +0 -0
  173. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/macos-security-bypass/SKILL.md +0 -0
  174. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/memory-forensics-volatility/SKILL.md +0 -0
  175. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/mobile-ssl-pinning-bypass/SKILL.md +0 -0
  176. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/network-protocol-attacks/SKILL.md +0 -0
  177. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/nosql-injection/SKILL.md +0 -0
  178. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ntlm-relay-coercion/SKILL.md +0 -0
  179. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/oauth-oidc-misconfiguration/SKILL.md +0 -0
  180. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/open-redirect/SKILL.md +0 -0
  181. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/path-traversal-lfi/SKILL.md +0 -0
  182. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/prototype-pollution/SKILL.md +0 -0
  183. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/prototype-pollution-advanced/SKILL.md +0 -0
  184. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/race-condition/SKILL.md +0 -0
  185. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/recon-and-methodology/SKILL.md +0 -0
  186. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/recon-for-sec/SKILL.md +0 -0
  187. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/request-smuggling/SKILL.md +0 -0
  188. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/reverse-shell-techniques/SKILL.md +0 -0
  189. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/rsa-attack-techniques/SKILL.md +0 -0
  190. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/saml-sso-assertion-attacks/SKILL.md +0 -0
  191. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/sandbox-escape-techniques/SKILL.md +0 -0
  192. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/smart-contract-vulnerabilities/SKILL.md +0 -0
  193. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/sqli-sql-injection/SKILL.md +0 -0
  194. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ssrf-server-side-request-forgery/SKILL.md +0 -0
  195. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/ssti-server-side-template-injection/SKILL.md +0 -0
  196. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/stack-overflow-and-rop/SKILL.md +0 -0
  197. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/steganography-techniques/SKILL.md +0 -0
  198. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/subdomain-takeover/SKILL.md +0 -0
  199. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/symbolic-execution-tools/SKILL.md +0 -0
  200. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/symmetric-cipher-attacks/SKILL.md +0 -0
  201. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/traffic-analysis-pcap/SKILL.md +0 -0
  202. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/tunneling-and-pivoting/SKILL.md +0 -0
  203. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/type-juggling/SKILL.md +0 -0
  204. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/unauthorized-access-common-services/SKILL.md +0 -0
  205. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/upload-insecure-files/SKILL.md +0 -0
  206. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/vm-and-bytecode-reverse/SKILL.md +0 -0
  207. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/waf-bypass-techniques/SKILL.md +0 -0
  208. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/web-cache-deception/SKILL.md +0 -0
  209. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/websocket-security/SKILL.md +0 -0
  210. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/windows-av-evasion/SKILL.md +0 -0
  211. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/windows-lateral-movement/SKILL.md +0 -0
  212. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/windows-privilege-escalation/SKILL.md +0 -0
  213. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/xslt-injection/SKILL.md +0 -0
  214. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/xss-cross-site-scripting/SKILL.md +0 -0
  215. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/hack-skills/xxe-xml-external-entity/SKILL.md +0 -0
  216. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/SKILL.md +0 -0
  217. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/evasion-shellcode.md +0 -0
  218. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/host-brute.md +0 -0
  219. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/info-dir-brute.md +0 -0
  220. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/info-fingerprint.md +0 -0
  221. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/info-osint.md +0 -0
  222. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/info-port-scan.md +0 -0
  223. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/info-subdomain.md +0 -0
  224. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/post-ad.md +0 -0
  225. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/post-credentials.md +0 -0
  226. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/post-linux-privesc.md +0 -0
  227. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/post-win-privesc.md +0 -0
  228. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-fuzz.md +0 -0
  229. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-hydra.md +0 -0
  230. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-impacket.md +0 -0
  231. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-msf.md +0 -0
  232. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-nmap.md +0 -0
  233. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/tools-sqlmap.md +0 -0
  234. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-auth-logic.md +0 -0
  235. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-cache-poison.md +0 -0
  236. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-captcha.md +0 -0
  237. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-cors.md +0 -0
  238. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-crlf.md +0 -0
  239. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-deser.md +0 -0
  240. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-dir-traversal.md +0 -0
  241. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-graphql.md +0 -0
  242. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-host-header.md +0 -0
  243. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-http-smuggling.md +0 -0
  244. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-lfi-path.md +0 -0
  245. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-race-condition.md +0 -0
  246. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-rce.md +0 -0
  247. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-sqli.md +0 -0
  248. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-ssrf.md +0 -0
  249. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-ssti.md +0 -0
  250. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-upload.md +0 -0
  251. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-waf-bypass.md +0 -0
  252. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-xss.md +0 -0
  253. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/SecSkills-main/references/web-xxe.md +0 -0
  254. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/SKILL.md +0 -0
  255. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/api-security.md +0 -0
  256. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/cloud-security.md +0 -0
  257. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/evasion-advanced.md +0 -0
  258. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/mobile-security.md +0 -0
  259. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/supply-chain-devsec.md +0 -0
  260. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/advsec-plus/references/web-advanced.md +0 -0
  261. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/api-unauth-fuzz/SKILL.md +0 -0
  262. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/pentest-boundary/SKILL.md +0 -0
  263. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/pentest-boundary/references/authorization-checklist.md +0 -0
  264. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/pentest-boundary/references/emergency-response.md +0 -0
  265. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/pentest-boundary/references/rate-control-detail.md +0 -0
  266. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/skill-evolver/SKILL.md +0 -0
  267. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/skill-evolver/references/domain-gaps.md +0 -0
  268. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/skill-evolver/references/evolution-log.md +0 -0
  269. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/skill-evolver/references/false-positives.db.md +0 -0
  270. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/local_skills/skill-evolver/references/techniques.db.md +0 -0
  271. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data.py +0 -0
  272. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data10.py +0 -0
  273. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data11.py +0 -0
  274. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data12.py +0 -0
  275. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data13.py +0 -0
  276. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data14.py +0 -0
  277. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data15.py +0 -0
  278. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data16.py +0 -0
  279. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data2.py +0 -0
  280. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data3.py +0 -0
  281. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data4.py +0 -0
  282. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data5.py +0 -0
  283. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data6.py +0 -0
  284. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data7.py +0 -0
  285. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data8.py +0 -0
  286. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/skills_data9.py +0 -0
  287. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/sqli/SKILL.md +0 -0
  288. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/waf_bypass/SKILL.md +0 -0
  289. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/skills/web_vuln/SKILL.md +0 -0
  290. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/__init__.py +0 -0
  291. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/acpv.py +0 -0
  292. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/admin_panel_auto.py +0 -0
  293. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/advanced_sqli.py +0 -0
  294. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/agent_tools.py +0 -0
  295. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ai_code_sec_surface.py +0 -0
  296. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/apache_druid_ssrf.py +0 -0
  297. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/api_discovery.py +0 -0
  298. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/api_dynamic_capture.py +0 -0
  299. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/api_fuzzer.py +0 -0
  300. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/api_version_enum.py +0 -0
  301. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/apk_secret_scanner.py +0 -0
  302. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/apk_toolkit.py +0 -0
  303. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/aruba_xxe.py +0 -0
  304. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/auth_bypass.py +0 -0
  305. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/auth_tools.py +0 -0
  306. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/bizlogic_fuzzer.py +0 -0
  307. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/burp_engine.py +0 -0
  308. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cache_poison.py +0 -0
  309. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cloud_bucket_scanner.py +0 -0
  310. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cloud_token_recon.py +0 -0
  311. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cloudflare_acme_bypass.py +0 -0
  312. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/copy_fail_lpe.py +0 -0
  313. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cspt_waf_bypass.py +0 -0
  314. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/csrf_scanner.py +0 -0
  315. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/cswsh_rce.py +0 -0
  316. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ctf_lab_engine.py +0 -0
  317. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/db_dumper.py +0 -0
  318. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/db_privesc.py +0 -0
  319. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/deserialize_tester.py +0 -0
  320. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/dom_xss_scanner.py +0 -0
  321. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/dompurify_pp_bypass.py +0 -0
  322. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/dotnet_analyzer.py +0 -0
  323. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/downloader.py +0 -0
  324. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/exe_analyzer.py +0 -0
  325. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/executor.py +0 -0
  326. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/findings_exporter.py +0 -0
  327. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ghostcat_scanner.py +0 -0
  328. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/gnuboard.py +0 -0
  329. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/graphql_advanced.py +0 -0
  330. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/graphql_tester.py +0 -0
  331. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/hash_crack.py +0 -0
  332. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/hash_lookup.py +0 -0
  333. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/html_autofill_steal.py +0 -0
  334. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/http_probe.py +0 -0
  335. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/idor_scanner.py +0 -0
  336. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ingress_nightmare_rce.py +0 -0
  337. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/installer.py +0 -0
  338. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ivanti_sentry.py +0 -0
  339. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/js_analyzer.py +0 -0
  340. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/js_secret_finder.py +0 -0
  341. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/korean_cms.py +0 -0
  342. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/login_executor.py +0 -0
  343. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/mobile_recon.py +0 -0
  344. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/mssql2025.py +0 -0
  345. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/nextjs_cache_sxss.py +0 -0
  346. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/nuclei_runner.py +0 -0
  347. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/oauth_attacker.py +0 -0
  348. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/oauth_chain.py +0 -0
  349. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/panos_auth_bypass.py +0 -0
  350. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/param_discovery.py +0 -0
  351. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/path_dict.py +0 -0
  352. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/pentest_precision.py +0 -0
  353. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/playwright_engine.py +0 -0
  354. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/playwright_recon.py +0 -0
  355. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/post_exploit.py +0 -0
  356. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/race_condition.py +0 -0
  357. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/react2shell_waf_bypass.py +0 -0
  358. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/recon_engine.py +0 -0
  359. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/recon_tools.py +0 -0
  360. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/redis_dark_replica.py +0 -0
  361. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/registry.py +0 -0
  362. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/report_builder.py +0 -0
  363. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ruby_libafl_fuzz.py +0 -0
  364. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/secknowledge_loader.py +0 -0
  365. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/session_manager.py +0 -0
  366. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/shell_dropper.py +0 -0
  367. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/smuggling_exploiter.py +0 -0
  368. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/smuggling_scanner.py +0 -0
  369. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/sqli.py +0 -0
  370. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/sqli_advanced.py +0 -0
  371. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/sqli_auto.py +0 -0
  372. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ssl_deep_scanner.py +0 -0
  373. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ssrf_advanced.py +0 -0
  374. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ssrf_scanner.py +0 -0
  375. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/ssti_scanner.py +0 -0
  376. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/subdomain_takeover.py +0 -0
  377. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/twofa_bypass.py +0 -0
  378. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/upload_bypass.py +0 -0
  379. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/upload_exploiter.py +0 -0
  380. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/waf_bypass.py +0 -0
  381. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/waf_sqli_payloads.py +0 -0
  382. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/web_cache_deception.py +0 -0
  383. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/web_tools.py +0 -0
  384. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/webhook_reporter.py +0 -0
  385. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/webshell_upload.py +0 -0
  386. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/xss_exploiter.py +0 -0
  387. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools/xxe_scanner.py +0 -0
  388. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/__init__.py +0 -0
  389. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/autoexploit_modules.py +0 -0
  390. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/advanced_scanners.py +0 -0
  391. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/advanced_vuln_scanner.py +0 -0
  392. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/ffuf.yaml +0 -0
  393. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/mission_orchestrator.py +0 -0
  394. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/nmap.yaml +0 -0
  395. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/nuclei.yaml +0 -0
  396. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/payload_db.py +0 -0
  397. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/security_audit.py +0 -0
  398. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/subfinder.yaml +0 -0
  399. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/builtin/vuln_scanner_plus.py +0 -0
  400. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/loader.py +0 -0
  401. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/pentest_tools.py +0 -0
  402. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/tools_ext/vshell_tools.py +0 -0
  403. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/ui/__init__.py +0 -0
  404. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/vulns/__init__.py +0 -0
  405. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/bingo/vulns/manager.py +0 -0
  406. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/install.sh +0 -0
  407. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/scripts/bingo-memory-autostart.sh +0 -0
  408. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/scripts/bingo-memory-sync.sh +0 -0
  409. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/scripts/git-hooks/post-commit +0 -0
  410. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/__init__.py +0 -0
  411. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_execution_runtime.py +0 -0
  412. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_hint_tty_sane.py +0 -0
  413. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_local_state.py +0 -0
  414. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_model_stream_transport.py +0 -0
  415. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_mvvs_false_positive.py +0 -0
  416. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_task_graph_frontier.py +0 -0
  417. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_terminal_completion_regressions.py +0 -0
  418. {bingo_ai-6.2.332 → bingo_ai-6.2.334}/tests/test_vshell_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bingo-ai
3
- Version: 6.2.332
3
+ Version: 6.2.334
4
4
  Summary: AI-powered red team terminal — Zero-Hallucination · WAF bypass · XSS·Upload·SSRF·OAuth·GraphQL·Smuggling exploit chains · CVE/Exploit KB (trickest+exploitarium) · role-based testing · vuln manager · attack chain · HITL · LLM Orchestrator · multi-model · multi-language
5
5
  Author-email: bingook <bingook@users.noreply.github.com>
6
6
  License: MIT
@@ -1,2 +1,2 @@
1
1
  """Bingo — Hacker-style AI Terminal"""
2
- __version__ = "6.2.332"
2
+ __version__ = "6.2.334"
@@ -60,9 +60,9 @@ PYTHON_EXEC = {
60
60
  HTTP_REQUEST = {
61
61
  "name": "http_request",
62
62
  "description": (
63
- "Send a structured HTTP request and return full response with headers. "
64
- "Use when you need precise control over method, headers, body, and "
65
- "want structured response parsing (status, headers dict, body)."
63
+ "Send an HTTP request to the TARGET and return full response with headers. "
64
+ "Provide only the path the target domain is automatically prepended by the executor. "
65
+ "Use when you need precise control over method, headers, body."
66
66
  ),
67
67
  "parameters": {
68
68
  "type": "object",
@@ -72,9 +72,9 @@ HTTP_REQUEST = {
72
72
  "enum": ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"],
73
73
  "description": "HTTP method",
74
74
  },
75
- "url": {
75
+ "path": {
76
76
  "type": "string",
77
- "description": "Full URL to request",
77
+ "description": "Request path on the target (e.g. /api/login, /admin/)",
78
78
  },
79
79
  "headers": {
80
80
  "type": "object",
@@ -96,7 +96,7 @@ HTTP_REQUEST = {
96
96
  "default": 30,
97
97
  },
98
98
  },
99
- "required": ["method", "url"],
99
+ "required": ["method", "path"],
100
100
  },
101
101
  }
102
102
 
@@ -4113,13 +4113,8 @@ class BingoTerminal:
4113
4113
  import platform as _plt
4114
4114
  if _plt.system() == "Darwin" and "grep" in cmd and "-P" in cmd:
4115
4115
  cmd = re.sub(r'(\s-\w*)P\b', lambda m: m.group(1) + 'E', cmd)
4116
- # Target drift guard: check URLs in bash commands
4117
- drift_blocked = self._check_target_drift_in_text(cmd)
4118
- if drift_blocked:
4119
- output = drift_blocked
4120
- self.console.print(f"[{THEME['dim']}] 🚫 Target drift blocked in bash_exec[/]")
4121
- results.append({"id": tc.id, "name": name, "output": output})
4122
- continue
4116
+ # v6.2.333: drift 차단이 아닌 자동 교정 URL 도메인을 타겟으로 치환
4117
+ cmd = self._rewrite_urls_to_target(cmd)
4123
4118
  # VPN DNS bypass: rewrite curl/wget/dig commands to use external DNS
4124
4119
  if _vpn_spoof:
4125
4120
  cmd = self._rewrite_dns_commands(cmd)
@@ -4164,13 +4159,8 @@ class BingoTerminal:
4164
4159
  if not code:
4165
4160
  output = "[ERROR] No code provided"
4166
4161
  else:
4167
- # Target drift guard: check URLs in python code
4168
- drift_blocked = self._check_target_drift_in_text(code)
4169
- if drift_blocked:
4170
- output = drift_blocked
4171
- self.console.print(f"[{THEME['dim']}] 🚫 Target drift blocked in python_exec[/]")
4172
- results.append({"id": tc.id, "name": name, "output": output})
4173
- continue
4162
+ # v6.2.333: drift 차단 자동 교정 (URL 도메인을 타겟으로 치환)
4163
+ code = self._rewrite_urls_to_target(code)
4174
4164
  # VPN DNS leak guard: block hardcoded 198.18.x.x IPs in python code
4175
4165
  if _vpn_spoof:
4176
4166
  # Remove line comments before checking
@@ -4210,79 +4200,45 @@ class BingoTerminal:
4210
4200
  output += "\n\n[WARNING] VPN virtual IP detected in output — DNS leak detected"
4211
4201
  elif name == "http_request":
4212
4202
  import httpx as _httpx
4203
+ import re
4204
+ from urllib.parse import urlparse, urlunparse
4213
4205
  method = args.get("method", "GET")
4214
- url = args.get("url", "")
4206
+ # v6.2.333: executor-owned URL — model provides path only, executor binds target
4207
+ path = args.get("path", "")
4208
+ _legacy_url = args.get("url", "")
4209
+ if not path and _legacy_url:
4210
+ _lp = urlparse(_legacy_url)
4211
+ path = _lp.path + (f"?{_lp.query}" if _lp.query else "")
4212
+ if not path:
4213
+ path = "/"
4214
+ if not path.startswith("/"):
4215
+ path = "/" + path
4215
4216
  headers = args.get("headers") or {}
4216
4217
  body = args.get("body")
4217
4218
  follow = args.get("follow_redirects", False)
4218
- # POST requests to WAF-protected endpoints often hang — use shorter timeout
4219
4219
  default_timeout = 10 if method in ("POST", "PUT", "PATCH") else 30
4220
4220
  timeout = args.get("timeout", default_timeout)
4221
- if not url:
4222
- output = "[ERROR] No URL provided"
4221
+ target_raw = getattr(self, "_current_target", "")
4222
+ if not target_raw:
4223
+ output = "[ERROR] No target set — use /target first"
4223
4224
  else:
4224
- # Target drift guard: block requests to different domains
4225
- import re
4226
- from urllib.parse import urlparse
4227
- import tldextract
4225
+ _tp = urlparse(target_raw if target_raw.startswith("http") else f"https://{target_raw}")
4226
+ _target_host = _tp.hostname or ""
4227
+ _target_scheme = _tp.scheme or "https"
4228
+ url = f"{_target_scheme}://{_target_host}{path}"
4228
4229
  parsed = urlparse(url)
4229
- request_host = parsed.hostname or ""
4230
- target_url = getattr(self, "_current_target", "")
4231
- if target_url:
4232
- target_parsed = urlparse(target_url if target_url.startswith("http") else f"http://{target_url}")
4233
- target_host = target_parsed.hostname or ""
4234
- req_ext = tldextract.extract(request_host)
4235
- tgt_ext = tldextract.extract(target_host)
4236
- req_domain = f"{req_ext.domain}.{req_ext.suffix}" if req_ext.domain and req_ext.suffix else request_host
4237
- tgt_domain = f"{tgt_ext.domain}.{tgt_ext.suffix}" if tgt_ext.domain and tgt_ext.suffix else target_host
4238
- _resolved_ip = getattr(self, "_target_resolved_ip", None)
4239
- _is_target_ip = (request_host == _resolved_ip) if _resolved_ip else False
4240
- _is_cf_domain = bool(_resolved_ip and self._is_cf_ip(_resolved_ip))
4241
- if req_domain != tgt_domain and request_host != target_host:
4242
- _session_allowed_http = getattr(self, "_session_allowed_domains", set())
4243
- if req_domain in _session_allowed_http or request_host in _session_allowed_http:
4244
- # v6.2.332: CDN 도메인 — 정적 자산만 허용, API/로그인 차단
4245
- _req_path = parsed.path.lower()
4246
- _req_method = (method or "GET").upper()
4247
- _cdn_api = bool(re.search(r'/api/|/login|/admin|/auth|/user/|/account|/register|/logout|/signin|/signup|/pass|/member', _req_path))
4248
- _cdn_mut = _req_method in ("POST", "PUT", "DELETE", "PATCH")
4249
- if _cdn_api or _cdn_mut:
4250
- output = (
4251
- f"[ERROR] CDN/연관 도메인 API 접근 차단: {request_host}\n"
4252
- f"타겟: {target_url}\n"
4253
- f"CDN 도메인({request_host})은 정적 자산(CSS/JS/img) 조회만 허용됩니다.\n"
4254
- f"API/로그인 테스트는 실제 타겟({target_host})에 직접 수행하세요."
4255
- )
4256
- self.console.print(f"[{THEME['dim']}] 🚫 CDN 도메인 API 차단: {request_host}[/]")
4257
- results.append({"id": tc.id, "name": name, "output": output})
4258
- continue
4259
- elif _is_target_ip and self._check_ip_direct_accessible(request_host):
4260
- pass # resolved IP + accessible
4261
- elif _is_cf_domain and self._check_ip_direct_accessible(request_host, domain=target_host):
4262
- pass # CF domain: origin IP verified via Host header
4263
- else:
4264
- _reason = "IP direct access blocked (domain-binding)" if _is_target_ip else "Target drift blocked"
4265
- output = f"[ERROR] {_reason}: {url}\nSession target: {target_url}\nAttempted: {request_host} ({req_domain})\nAllowed: {target_host} ({tgt_domain})"
4266
- self.console.print(f"[{THEME['dim']}] 🚫 {_reason}: {request_host}[/]")
4267
- results.append({"id": tc.id, "name": name, "output": output})
4268
- continue
4269
4230
  self.console.print(
4270
4231
  f"[{THEME['dim']}] ⚙ http_request: {method} {url[:100]}[/]"
4271
4232
  )
4272
- # VPN DNS bypass: resolve via external DNS and replace hostname with real IP
4233
+ # VPN DNS bypass: resolve via external DNS
4273
4234
  if _vpn_spoof:
4274
- from urllib.parse import urlunparse
4275
- original_host = parsed.hostname
4276
- if original_host:
4277
- real_ip = self._resolve_via_external_dns(original_host)
4278
- if real_ip:
4279
- # Replace hostname with real IP
4280
- netloc = real_ip
4281
- if parsed.port:
4282
- netloc = f"{real_ip}:{parsed.port}"
4283
- url = urlunparse((parsed.scheme, netloc, parsed.path, parsed.params, parsed.query, parsed.fragment))
4284
- # Preserve original Host header for virtual hosting
4285
- headers["Host"] = original_host
4235
+ real_ip = self._resolve_via_external_dns(_target_host)
4236
+ if real_ip:
4237
+ netloc = real_ip
4238
+ if parsed.port:
4239
+ netloc = f"{real_ip}:{parsed.port}"
4240
+ url = urlunparse((parsed.scheme, netloc, parsed.path, parsed.params, parsed.query, parsed.fragment))
4241
+ headers["Host"] = _target_host
4286
4242
  with _httpx.Client(
4287
4243
  verify=False, timeout=timeout,
4288
4244
  follow_redirects=follow,
@@ -4290,16 +4246,13 @@ class BingoTerminal:
4290
4246
  resp = client.request(method, url, headers=headers, content=body)
4291
4247
  resp_headers = "\n".join(f"{k}: {v}" for k, v in resp.headers.items())
4292
4248
  output = f"HTTP/{resp.http_version} {resp.status_code}\n{resp_headers}\n\n{resp.text[:6000]}"
4293
- # Check for 198.18.x.x contamination in response
4294
4249
  if _vpn_spoof and ("198.18." in output or "198.19." in output):
4295
- output += "\n\n[WARNING] VPN virtual IP detected in response — may indicate DNS leak"
4296
- # v6.2.332: http_request 응답에서 도메인 추출 _session_allowed_domains
4250
+ output += "\n\n[WARNING] VPN virtual IP detected in response — DNS leak"
4251
+ # 응답에서 발견된 연관 도메인 등록 (CDN 정적자산 용도)
4297
4252
  try:
4298
4253
  import tldextract as _tld2
4299
- _tgt_raw2 = getattr(self, "_current_target", "") or ""
4300
- _tgt_host2 = _tgt_raw2.split("//")[-1].split("/")[0]
4301
- _tgt_ext2 = _tld2.extract(_tgt_host2)
4302
- _tgt_regd2 = f"{_tgt_ext2.domain}.{_tgt_ext2.suffix}" if _tgt_ext2.domain and _tgt_ext2.suffix else _tgt_host2
4254
+ _tgt_ext2 = _tld2.extract(_target_host)
4255
+ _tgt_regd2 = f"{_tgt_ext2.domain}.{_tgt_ext2.suffix}" if _tgt_ext2.domain and _tgt_ext2.suffix else _target_host
4303
4256
  for _dm2 in re.findall(r'https?://([a-zA-Z0-9][-a-zA-Z0-9.]*\.[a-zA-Z]{2,})', resp.text[:6000]):
4304
4257
  _ext2 = _tld2.extract(_dm2)
4305
4258
  _regd2 = f"{_ext2.domain}.{_ext2.suffix}" if _ext2.domain and _ext2.suffix else _dm2
@@ -4389,6 +4342,75 @@ class BingoTerminal:
4389
4342
  self._ip_accessibility_cache = cache
4390
4343
  return result
4391
4344
 
4345
+ def _rewrite_urls_to_target(self, text: str) -> str:
4346
+ """Rewrite non-target URLs to canonical target domain (structural anti-hallucination).
4347
+
4348
+ Instead of BLOCKING drift URLs, REWRITE them so the model's intent (path/method)
4349
+ is preserved but always directed at the actual target. This makes it structurally
4350
+ impossible for drift-domain data to be misattributed as target findings.
4351
+ """
4352
+ if not hasattr(self, "_current_target") or not self._current_target:
4353
+ return text
4354
+ import re
4355
+ from urllib.parse import urlparse
4356
+ import tldextract
4357
+
4358
+ target_parsed = urlparse(self._current_target if self._current_target.startswith("http") else f"https://{self._current_target}")
4359
+ target_host = target_parsed.hostname or ""
4360
+ target_scheme = target_parsed.scheme or "https"
4361
+ tgt_ext = tldextract.extract(target_host)
4362
+ tgt_domain = f"{tgt_ext.domain}.{tgt_ext.suffix}" if tgt_ext.domain and tgt_ext.suffix else target_host
4363
+
4364
+ _OSINT_ALLOWED = {
4365
+ "google.com", "google.co.kr", "bing.com", "shodan.io",
4366
+ "censys.io", "crt.sh", "archive.org", "web.archive.org",
4367
+ "virustotal.com", "urlscan.io", "securitytrails.com",
4368
+ "exploit-db.com", "github.com", "pastebin.com",
4369
+ "dnsdb.info", "bgp.he.net", "whois.domaintools.com",
4370
+ }
4371
+ _session_allowed = getattr(self, "_session_allowed_domains", set())
4372
+ _STATIC_RE = re.compile(r'\.(css|js|png|jpg|jpeg|gif|svg|woff2?|ttf|eot|ico|webp|map)(\?|$|[\s\'"])')
4373
+ _rewritten = []
4374
+
4375
+ url_pattern = r'(https?://)([a-zA-Z0-9][-a-zA-Z0-9.]*[a-zA-Z0-9])(/[^\s\'"<>]*)?'
4376
+
4377
+ def _rewrite(m):
4378
+ scheme = m.group(1)
4379
+ host = m.group(2)
4380
+ path = m.group(3) or ""
4381
+
4382
+ # IP address → rewrite to target domain (웹 공격에 IP 사용 금지)
4383
+ if re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', host):
4384
+ _rewritten.append(host)
4385
+ return f"{target_scheme}://{target_host}{path}"
4386
+
4387
+ req_ext = tldextract.extract(host)
4388
+ req_domain = f"{req_ext.domain}.{req_ext.suffix}" if req_ext.domain and req_ext.suffix else host
4389
+
4390
+ # Target domain → keep
4391
+ if req_domain == tgt_domain or host == target_host:
4392
+ return m.group(0)
4393
+
4394
+ # OSINT tools → keep
4395
+ if req_domain in _OSINT_ALLOWED:
4396
+ return m.group(0)
4397
+
4398
+ # CDN/session-allowed + static file extension → keep
4399
+ if req_domain in _session_allowed or host in _session_allowed:
4400
+ if _STATIC_RE.search(path):
4401
+ return m.group(0)
4402
+
4403
+ # Everything else → rewrite domain to target
4404
+ _rewritten.append(host)
4405
+ return f"{target_scheme}://{target_host}{path}"
4406
+
4407
+ result = re.sub(url_pattern, _rewrite, text)
4408
+ if _rewritten:
4409
+ unique = set(_rewritten)
4410
+ for h in unique:
4411
+ self.console.print(f"[{THEME['dim']}] 🔄 URL 교정: {h} → {target_host}[/]")
4412
+ return result
4413
+
4392
4414
  def _check_target_drift_in_text(self, text: str) -> str | None:
4393
4415
  """Check if text contains URLs pointing to different domains than session target."""
4394
4416
  if not hasattr(self, "_current_target") or not self._current_target:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bingo-ai"
7
- version = "6.2.332"
7
+ version = "6.2.334"
8
8
  description = "AI-powered red team terminal — Zero-Hallucination · WAF bypass · XSS·Upload·SSRF·OAuth·GraphQL·Smuggling exploit chains · CVE/Exploit KB (trickest+exploitarium) · role-based testing · vuln manager · attack chain · HITL · LLM Orchestrator · multi-model · multi-language"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes