openhack 0.1.0a1__tar.gz → 0.1.0b1__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 (139) hide show
  1. openhack-0.1.0b1/.env.example +11 -0
  2. openhack-0.1.0b1/.github/workflows/tests.yml +29 -0
  3. openhack-0.1.0b1/.gitignore +36 -0
  4. openhack-0.1.0b1/LICENSE +661 -0
  5. openhack-0.1.0b1/PKG-INFO +189 -0
  6. openhack-0.1.0b1/README.md +148 -0
  7. openhack-0.1.0b1/openhack/__init__.py +2 -0
  8. openhack-0.1.0b1/openhack/__main__.py +225 -0
  9. openhack-0.1.0b1/openhack/agents/__init__.py +30 -0
  10. openhack-0.1.0b1/openhack/agents/base.py +230 -0
  11. openhack-0.1.0b1/openhack/agents/browser_verifier.py +679 -0
  12. openhack-0.1.0b1/openhack/agents/browser_verifier_swarm.py +256 -0
  13. openhack-0.1.0b1/openhack/agents/checkpoint.py +89 -0
  14. openhack-0.1.0b1/openhack/agents/context_manager.py +356 -0
  15. openhack-0.1.0b1/openhack/agents/coordinator.py +1105 -0
  16. openhack-0.1.0b1/openhack/agents/endpoint_analyst.py +307 -0
  17. openhack-0.1.0b1/openhack/agents/feature_hunter.py +93 -0
  18. openhack-0.1.0b1/openhack/agents/hunter.py +481 -0
  19. openhack-0.1.0b1/openhack/agents/hunter_swarm.py +385 -0
  20. openhack-0.1.0b1/openhack/agents/llm.py +334 -0
  21. openhack-0.1.0b1/openhack/agents/recon.py +19 -0
  22. openhack-0.1.0b1/openhack/agents/sandbox_verifier.py +396 -0
  23. openhack-0.1.0b1/openhack/agents/sandbox_verifier_swarm.py +250 -0
  24. openhack-0.1.0b1/openhack/agents/session.py +286 -0
  25. openhack-0.1.0b1/openhack/agents/validator.py +217 -0
  26. openhack-0.1.0b1/openhack/agents/validator_swarm.py +106 -0
  27. openhack-0.1.0b1/openhack/auth.py +175 -0
  28. openhack-0.1.0b1/openhack/browser/__init__.py +12 -0
  29. openhack-0.1.0b1/openhack/browser/runner.py +385 -0
  30. openhack-0.1.0b1/openhack/categories.py +130 -0
  31. openhack-0.1.0b1/openhack/config.py +201 -0
  32. openhack-0.1.0b1/openhack/deterministic_recon.py +464 -0
  33. openhack-0.1.0b1/openhack/entry_points.py +745 -0
  34. openhack-0.1.0b1/openhack/framework_classifier.py +515 -0
  35. openhack-0.1.0b1/openhack/framework_detection.py +269 -0
  36. openhack-0.1.0b1/openhack/headless_scan.py +179 -0
  37. openhack-0.1.0b1/openhack/prompts/__init__.py +108 -0
  38. openhack-0.1.0b1/openhack/prompts/browser_verifier.py +171 -0
  39. openhack-0.1.0b1/openhack/prompts/coordinator.py +31 -0
  40. openhack-0.1.0b1/openhack/prompts/django/__init__.py +32 -0
  41. openhack-0.1.0b1/openhack/prompts/django/auth_bypass.py +76 -0
  42. openhack-0.1.0b1/openhack/prompts/django/csrf.py +62 -0
  43. openhack-0.1.0b1/openhack/prompts/django/data_exposure.py +67 -0
  44. openhack-0.1.0b1/openhack/prompts/django/idor.py +74 -0
  45. openhack-0.1.0b1/openhack/prompts/django/injection.py +67 -0
  46. openhack-0.1.0b1/openhack/prompts/django/misconfiguration.py +70 -0
  47. openhack-0.1.0b1/openhack/prompts/django/ssrf.py +64 -0
  48. openhack-0.1.0b1/openhack/prompts/endpoint_analyst.py +122 -0
  49. openhack-0.1.0b1/openhack/prompts/express/__init__.py +29 -0
  50. openhack-0.1.0b1/openhack/prompts/express/auth_bypass.py +71 -0
  51. openhack-0.1.0b1/openhack/prompts/express/data_exposure.py +77 -0
  52. openhack-0.1.0b1/openhack/prompts/express/idor.py +69 -0
  53. openhack-0.1.0b1/openhack/prompts/express/injection.py +75 -0
  54. openhack-0.1.0b1/openhack/prompts/express/misconfiguration.py +72 -0
  55. openhack-0.1.0b1/openhack/prompts/express/ssrf.py +63 -0
  56. openhack-0.1.0b1/openhack/prompts/feature_hunter.py +140 -0
  57. openhack-0.1.0b1/openhack/prompts/flask/__init__.py +29 -0
  58. openhack-0.1.0b1/openhack/prompts/flask/auth_bypass.py +86 -0
  59. openhack-0.1.0b1/openhack/prompts/flask/data_exposure.py +78 -0
  60. openhack-0.1.0b1/openhack/prompts/flask/idor.py +83 -0
  61. openhack-0.1.0b1/openhack/prompts/flask/injection.py +77 -0
  62. openhack-0.1.0b1/openhack/prompts/flask/misconfiguration.py +73 -0
  63. openhack-0.1.0b1/openhack/prompts/flask/ssrf.py +65 -0
  64. openhack-0.1.0b1/openhack/prompts/hunter.py +362 -0
  65. openhack-0.1.0b1/openhack/prompts/hunter_continuation_loop.py +12 -0
  66. openhack-0.1.0b1/openhack/prompts/hunter_continuation_no_findings.py +19 -0
  67. openhack-0.1.0b1/openhack/prompts/hunter_continuation_no_progress.py +22 -0
  68. openhack-0.1.0b1/openhack/prompts/hunter_tool_instructions.py +55 -0
  69. openhack-0.1.0b1/openhack/prompts/nextjs/__init__.py +42 -0
  70. openhack-0.1.0b1/openhack/prompts/nextjs/auth_bypass.py +80 -0
  71. openhack-0.1.0b1/openhack/prompts/nextjs/csrf.py +71 -0
  72. openhack-0.1.0b1/openhack/prompts/nextjs/data_exposure.py +88 -0
  73. openhack-0.1.0b1/openhack/prompts/nextjs/idor.py +64 -0
  74. openhack-0.1.0b1/openhack/prompts/nextjs/injection.py +65 -0
  75. openhack-0.1.0b1/openhack/prompts/nextjs/middleware_bypass.py +75 -0
  76. openhack-0.1.0b1/openhack/prompts/nextjs/misconfiguration.py +92 -0
  77. openhack-0.1.0b1/openhack/prompts/nextjs/server_actions.py +97 -0
  78. openhack-0.1.0b1/openhack/prompts/nextjs/ssrf.py +66 -0
  79. openhack-0.1.0b1/openhack/prompts/nextjs/xss.py +69 -0
  80. openhack-0.1.0b1/openhack/prompts/pr_analysis_system.py +80 -0
  81. openhack-0.1.0b1/openhack/prompts/pr_analysis_user.py +11 -0
  82. openhack-0.1.0b1/openhack/prompts/project_context.py +89 -0
  83. openhack-0.1.0b1/openhack/prompts/recon.py +199 -0
  84. openhack-0.1.0b1/openhack/prompts/reporter.py +88 -0
  85. openhack-0.1.0b1/openhack/prompts/researchers.py +434 -0
  86. openhack-0.1.0b1/openhack/prompts/sandbox_verifier.py +128 -0
  87. openhack-0.1.0b1/openhack/prompts/supabase/__init__.py +39 -0
  88. openhack-0.1.0b1/openhack/prompts/supabase/auth_tokens.py +131 -0
  89. openhack-0.1.0b1/openhack/prompts/supabase/edge_functions.py +150 -0
  90. openhack-0.1.0b1/openhack/prompts/supabase/graphql.py +102 -0
  91. openhack-0.1.0b1/openhack/prompts/supabase/postgrest.py +99 -0
  92. openhack-0.1.0b1/openhack/prompts/supabase/realtime.py +93 -0
  93. openhack-0.1.0b1/openhack/prompts/supabase/rls.py +110 -0
  94. openhack-0.1.0b1/openhack/prompts/supabase/rpc_functions.py +127 -0
  95. openhack-0.1.0b1/openhack/prompts/supabase/storage.py +110 -0
  96. openhack-0.1.0b1/openhack/prompts/supabase/tenant_isolation.py +118 -0
  97. openhack-0.1.0b1/openhack/prompts/validator.py +319 -0
  98. openhack-0.1.0b1/openhack/prompts/validator_continuation_incomplete.py +12 -0
  99. openhack-0.1.0b1/openhack/prompts/validator_tool_instructions.py +29 -0
  100. openhack-0.1.0b1/openhack/quality.py +231 -0
  101. openhack-0.1.0b1/openhack/sandbox/__init__.py +12 -0
  102. openhack-0.1.0b1/openhack/sandbox/orchestrator.py +517 -0
  103. openhack-0.1.0b1/openhack/sandbox/runner.py +177 -0
  104. openhack-0.1.0b1/openhack/scan_session.py +245 -0
  105. openhack-0.1.0b1/openhack/setup.py +452 -0
  106. openhack-0.1.0b1/openhack/static_validator.py +612 -0
  107. openhack-0.1.0b1/openhack/tools/__init__.py +1 -0
  108. openhack-0.1.0b1/openhack/tools/ast_tools.py +307 -0
  109. openhack-0.1.0b1/openhack/tools/coverage.py +1078 -0
  110. openhack-0.1.0b1/openhack/tools/filesystem.py +404 -0
  111. openhack-0.1.0b1/openhack/tools/nextjs.py +258 -0
  112. openhack-0.1.0b1/openhack/tools/registry.py +52 -0
  113. openhack-0.1.0b1/openhack/tui.py +3420 -0
  114. openhack-0.1.0b1/openhack/updates.py +170 -0
  115. openhack-0.1.0b1/pyproject.toml +75 -0
  116. openhack-0.1.0b1/scripts/run_browser_verify.py +124 -0
  117. openhack-0.1.0b1/scripts/run_browser_verify_live.py +167 -0
  118. openhack-0.1.0b1/scripts/run_feature_hunt.py +295 -0
  119. openhack-0.1.0b1/scripts/run_sandbox_verify.py +108 -0
  120. openhack-0.1.0b1/scripts/run_sandbox_verify_live.py +155 -0
  121. openhack-0.1.0b1/tests/conftest.py +28 -0
  122. openhack-0.1.0b1/tests/test_categories.py +64 -0
  123. openhack-0.1.0b1/tests/test_checkpoint.py +126 -0
  124. openhack-0.1.0b1/tests/test_config.py +53 -0
  125. openhack-0.1.0b1/tests/test_coverage.py +84 -0
  126. openhack-0.1.0b1/tests/test_deterministic_recon.py +55 -0
  127. openhack-0.1.0b1/tests/test_entry_points.py +86 -0
  128. openhack-0.1.0b1/tests/test_filesystem_tools.py +87 -0
  129. openhack-0.1.0b1/tests/test_framework_classifier.py +84 -0
  130. openhack-0.1.0b1/tests/test_quality.py +84 -0
  131. openhack-0.1.0b1/tests/test_scan_session.py +79 -0
  132. openhack-0.1.0b1/uv.lock +1486 -0
  133. openhack-0.1.0a1/.gitignore +0 -10
  134. openhack-0.1.0a1/.python-version +0 -1
  135. openhack-0.1.0a1/PKG-INFO +0 -13
  136. openhack-0.1.0a1/README.md +0 -1
  137. openhack-0.1.0a1/pyproject.toml +0 -22
  138. openhack-0.1.0a1/src/openhack/__init__.py +0 -2
  139. /openhack-0.1.0a1/src/openhack/py.typed → /openhack-0.1.0b1/tests/__init__.py +0 -0
@@ -0,0 +1,11 @@
1
+ # OpenHack API token (long-lived bearer; CLI device-login flow writes this for you).
2
+ # Get one from /settings/api-keys on the dashboard, or run `openhack /login`.
3
+ OPENHACK_API_KEY=
4
+
5
+ # Dev mode: when set to 1, point the CLI at local dev servers
6
+ # app: http://localhost:9080 (Next.js dev)
7
+ # inference: http://localhost:8787 (wrangler dev)
8
+ # Unset (or 0) for production:
9
+ # app: https://app.openhack.com
10
+ # inference: https://api.openhack.com/v1
11
+ # OPENHACK_DEV=0
@@ -0,0 +1,29 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.11", "3.12", "3.13"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v4
21
+
22
+ - name: Set up Python ${{ matrix.python-version }}
23
+ run: uv python install ${{ matrix.python-version }}
24
+
25
+ - name: Install dependencies
26
+ run: uv sync --dev
27
+
28
+ - name: Run tests
29
+ run: uv run python -m pytest tests/ -v
@@ -0,0 +1,36 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ venv/
8
+ env/
9
+ ENV/
10
+ .venv/
11
+ *.egg-info/
12
+ dist/
13
+ build/
14
+ .pytest_cache/
15
+ .coverage
16
+ htmlcov/
17
+ .mypy_cache/
18
+ .dmypy.json
19
+ dmypy.json
20
+
21
+ # Env files
22
+ .env*
23
+ !.env.example
24
+
25
+ # OS
26
+ .DS_Store
27
+
28
+ # IDEs
29
+ .vscode/
30
+ .idea/
31
+ *.swp
32
+ *.swo
33
+ *~
34
+
35
+ # CodeQL databases
36
+ .codeql-dbs/