openhack 0.1.1__tar.gz → 0.1.2__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 (133) hide show
  1. {openhack-0.1.1 → openhack-0.1.2}/PKG-INFO +1 -1
  2. {openhack-0.1.1 → openhack-0.1.2}/openhack/__init__.py +1 -1
  3. {openhack-0.1.1 → openhack-0.1.2}/openhack/config.py +5 -0
  4. {openhack-0.1.1 → openhack-0.1.2}/pyproject.toml +1 -1
  5. {openhack-0.1.1 → openhack-0.1.2}/uv.lock +1 -1
  6. {openhack-0.1.1 → openhack-0.1.2}/.env.example +0 -0
  7. {openhack-0.1.1 → openhack-0.1.2}/.github/workflows/tests.yml +0 -0
  8. {openhack-0.1.1 → openhack-0.1.2}/.gitignore +0 -0
  9. {openhack-0.1.1 → openhack-0.1.2}/LICENSE +0 -0
  10. {openhack-0.1.1 → openhack-0.1.2}/README.md +0 -0
  11. {openhack-0.1.1 → openhack-0.1.2}/openhack/__main__.py +0 -0
  12. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/__init__.py +0 -0
  13. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/base.py +0 -0
  14. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/browser_verifier.py +0 -0
  15. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/browser_verifier_swarm.py +0 -0
  16. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/checkpoint.py +0 -0
  17. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/context_manager.py +0 -0
  18. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/coordinator.py +0 -0
  19. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/endpoint_analyst.py +0 -0
  20. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/feature_hunter.py +0 -0
  21. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/hunter.py +0 -0
  22. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/hunter_swarm.py +0 -0
  23. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/llm.py +0 -0
  24. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/recon.py +0 -0
  25. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/sandbox_verifier.py +0 -0
  26. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/sandbox_verifier_swarm.py +0 -0
  27. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/session.py +0 -0
  28. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/validator.py +0 -0
  29. {openhack-0.1.1 → openhack-0.1.2}/openhack/agents/validator_swarm.py +0 -0
  30. {openhack-0.1.1 → openhack-0.1.2}/openhack/auth.py +0 -0
  31. {openhack-0.1.1 → openhack-0.1.2}/openhack/browser/__init__.py +0 -0
  32. {openhack-0.1.1 → openhack-0.1.2}/openhack/browser/runner.py +0 -0
  33. {openhack-0.1.1 → openhack-0.1.2}/openhack/categories.py +0 -0
  34. {openhack-0.1.1 → openhack-0.1.2}/openhack/deterministic_recon.py +0 -0
  35. {openhack-0.1.1 → openhack-0.1.2}/openhack/entry_points.py +0 -0
  36. {openhack-0.1.1 → openhack-0.1.2}/openhack/framework_classifier.py +0 -0
  37. {openhack-0.1.1 → openhack-0.1.2}/openhack/framework_detection.py +0 -0
  38. {openhack-0.1.1 → openhack-0.1.2}/openhack/headless_scan.py +0 -0
  39. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/__init__.py +0 -0
  40. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/browser_verifier.py +0 -0
  41. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/coordinator.py +0 -0
  42. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/__init__.py +0 -0
  43. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/auth_bypass.py +0 -0
  44. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/csrf.py +0 -0
  45. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/data_exposure.py +0 -0
  46. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/idor.py +0 -0
  47. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/injection.py +0 -0
  48. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/misconfiguration.py +0 -0
  49. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/django/ssrf.py +0 -0
  50. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/endpoint_analyst.py +0 -0
  51. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/__init__.py +0 -0
  52. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/auth_bypass.py +0 -0
  53. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/data_exposure.py +0 -0
  54. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/idor.py +0 -0
  55. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/injection.py +0 -0
  56. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/misconfiguration.py +0 -0
  57. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/express/ssrf.py +0 -0
  58. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/feature_hunter.py +0 -0
  59. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/__init__.py +0 -0
  60. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/auth_bypass.py +0 -0
  61. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/data_exposure.py +0 -0
  62. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/idor.py +0 -0
  63. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/injection.py +0 -0
  64. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/misconfiguration.py +0 -0
  65. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/flask/ssrf.py +0 -0
  66. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/hunter.py +0 -0
  67. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/hunter_continuation_loop.py +0 -0
  68. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/hunter_continuation_no_findings.py +0 -0
  69. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/hunter_continuation_no_progress.py +0 -0
  70. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/hunter_tool_instructions.py +0 -0
  71. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/__init__.py +0 -0
  72. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/auth_bypass.py +0 -0
  73. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/csrf.py +0 -0
  74. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/data_exposure.py +0 -0
  75. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/idor.py +0 -0
  76. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/injection.py +0 -0
  77. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/middleware_bypass.py +0 -0
  78. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/misconfiguration.py +0 -0
  79. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/server_actions.py +0 -0
  80. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/ssrf.py +0 -0
  81. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/nextjs/xss.py +0 -0
  82. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/pr_analysis_system.py +0 -0
  83. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/pr_analysis_user.py +0 -0
  84. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/project_context.py +0 -0
  85. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/recon.py +0 -0
  86. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/reporter.py +0 -0
  87. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/researchers.py +0 -0
  88. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/sandbox_verifier.py +0 -0
  89. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/__init__.py +0 -0
  90. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/auth_tokens.py +0 -0
  91. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/edge_functions.py +0 -0
  92. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/graphql.py +0 -0
  93. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/postgrest.py +0 -0
  94. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/realtime.py +0 -0
  95. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/rls.py +0 -0
  96. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/rpc_functions.py +0 -0
  97. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/storage.py +0 -0
  98. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/supabase/tenant_isolation.py +0 -0
  99. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/validator.py +0 -0
  100. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/validator_continuation_incomplete.py +0 -0
  101. {openhack-0.1.1 → openhack-0.1.2}/openhack/prompts/validator_tool_instructions.py +0 -0
  102. {openhack-0.1.1 → openhack-0.1.2}/openhack/quality.py +0 -0
  103. {openhack-0.1.1 → openhack-0.1.2}/openhack/sandbox/__init__.py +0 -0
  104. {openhack-0.1.1 → openhack-0.1.2}/openhack/sandbox/orchestrator.py +0 -0
  105. {openhack-0.1.1 → openhack-0.1.2}/openhack/sandbox/runner.py +0 -0
  106. {openhack-0.1.1 → openhack-0.1.2}/openhack/scan_session.py +0 -0
  107. {openhack-0.1.1 → openhack-0.1.2}/openhack/setup.py +0 -0
  108. {openhack-0.1.1 → openhack-0.1.2}/openhack/static_validator.py +0 -0
  109. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/__init__.py +0 -0
  110. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/ast_tools.py +0 -0
  111. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/coverage.py +0 -0
  112. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/filesystem.py +0 -0
  113. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/nextjs.py +0 -0
  114. {openhack-0.1.1 → openhack-0.1.2}/openhack/tools/registry.py +0 -0
  115. {openhack-0.1.1 → openhack-0.1.2}/openhack/tui.py +0 -0
  116. {openhack-0.1.1 → openhack-0.1.2}/openhack/updates.py +0 -0
  117. {openhack-0.1.1 → openhack-0.1.2}/scripts/run_browser_verify.py +0 -0
  118. {openhack-0.1.1 → openhack-0.1.2}/scripts/run_browser_verify_live.py +0 -0
  119. {openhack-0.1.1 → openhack-0.1.2}/scripts/run_feature_hunt.py +0 -0
  120. {openhack-0.1.1 → openhack-0.1.2}/scripts/run_sandbox_verify.py +0 -0
  121. {openhack-0.1.1 → openhack-0.1.2}/scripts/run_sandbox_verify_live.py +0 -0
  122. {openhack-0.1.1 → openhack-0.1.2}/tests/__init__.py +0 -0
  123. {openhack-0.1.1 → openhack-0.1.2}/tests/conftest.py +0 -0
  124. {openhack-0.1.1 → openhack-0.1.2}/tests/test_categories.py +0 -0
  125. {openhack-0.1.1 → openhack-0.1.2}/tests/test_checkpoint.py +0 -0
  126. {openhack-0.1.1 → openhack-0.1.2}/tests/test_config.py +0 -0
  127. {openhack-0.1.1 → openhack-0.1.2}/tests/test_coverage.py +0 -0
  128. {openhack-0.1.1 → openhack-0.1.2}/tests/test_deterministic_recon.py +0 -0
  129. {openhack-0.1.1 → openhack-0.1.2}/tests/test_entry_points.py +0 -0
  130. {openhack-0.1.1 → openhack-0.1.2}/tests/test_filesystem_tools.py +0 -0
  131. {openhack-0.1.1 → openhack-0.1.2}/tests/test_framework_classifier.py +0 -0
  132. {openhack-0.1.1 → openhack-0.1.2}/tests/test_quality.py +0 -0
  133. {openhack-0.1.1 → openhack-0.1.2}/tests/test_scan_session.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openhack
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: AI-powered security scanner for your codebase. Find SQL injection, XSS, IDOR, auth bypass, and more — straight from your terminal.
5
5
  Project-URL: Homepage, https://openhack.com
6
6
  Project-URL: Documentation, https://github.com/openhackai/openhack
@@ -1,2 +1,2 @@
1
1
  """OpenHack Agent - Interactive TUI for vulnerability scanning."""
2
- __version__ = "0.1.1"
2
+ __version__ = "0.1.2"
@@ -158,6 +158,11 @@ class Settings(BaseSettings):
158
158
  env_file=".env",
159
159
  env_file_encoding="utf-8",
160
160
  case_sensitive=False,
161
+ # Ignore unrelated keys in a CWD .env / environment. The scanner runs
162
+ # inside arbitrary target repos whose .env files contain keys we don't
163
+ # own; without this, pydantic-settings' default extra="forbid" crashes
164
+ # the CLI on any unknown key (e.g. a target's gemini_sandbox_proxy_command).
165
+ extra="ignore",
161
166
  )
162
167
 
163
168
  def model_post_init(self, __context) -> None:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "openhack"
3
- version = "0.1.1"
3
+ version = "0.1.2"
4
4
  description = "AI-powered security scanner for your codebase. Find SQL injection, XSS, IDOR, auth bypass, and more — straight from your terminal."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1079,7 +1079,7 @@ wheels = [
1079
1079
 
1080
1080
  [[package]]
1081
1081
  name = "openhack"
1082
- version = "0.1.1"
1082
+ version = "0.1.2"
1083
1083
  source = { editable = "." }
1084
1084
  dependencies = [
1085
1085
  { name = "aiohttp" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes