openhack 0.1.0__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.
- openhack-0.1.0/.env.example +11 -0
- openhack-0.1.0/.github/workflows/tests.yml +29 -0
- openhack-0.1.0/.gitignore +36 -0
- openhack-0.1.0/LICENSE +661 -0
- openhack-0.1.0/PKG-INFO +189 -0
- openhack-0.1.0/README.md +148 -0
- openhack-0.1.0/openhack/__init__.py +2 -0
- openhack-0.1.0/openhack/__main__.py +225 -0
- openhack-0.1.0/openhack/agents/__init__.py +30 -0
- openhack-0.1.0/openhack/agents/base.py +230 -0
- openhack-0.1.0/openhack/agents/browser_verifier.py +679 -0
- openhack-0.1.0/openhack/agents/browser_verifier_swarm.py +256 -0
- openhack-0.1.0/openhack/agents/checkpoint.py +89 -0
- openhack-0.1.0/openhack/agents/context_manager.py +356 -0
- openhack-0.1.0/openhack/agents/coordinator.py +1105 -0
- openhack-0.1.0/openhack/agents/endpoint_analyst.py +307 -0
- openhack-0.1.0/openhack/agents/feature_hunter.py +93 -0
- openhack-0.1.0/openhack/agents/hunter.py +481 -0
- openhack-0.1.0/openhack/agents/hunter_swarm.py +385 -0
- openhack-0.1.0/openhack/agents/llm.py +334 -0
- openhack-0.1.0/openhack/agents/recon.py +19 -0
- openhack-0.1.0/openhack/agents/sandbox_verifier.py +396 -0
- openhack-0.1.0/openhack/agents/sandbox_verifier_swarm.py +250 -0
- openhack-0.1.0/openhack/agents/session.py +286 -0
- openhack-0.1.0/openhack/agents/validator.py +217 -0
- openhack-0.1.0/openhack/agents/validator_swarm.py +106 -0
- openhack-0.1.0/openhack/auth.py +175 -0
- openhack-0.1.0/openhack/browser/__init__.py +12 -0
- openhack-0.1.0/openhack/browser/runner.py +385 -0
- openhack-0.1.0/openhack/categories.py +130 -0
- openhack-0.1.0/openhack/config.py +201 -0
- openhack-0.1.0/openhack/deterministic_recon.py +464 -0
- openhack-0.1.0/openhack/entry_points.py +745 -0
- openhack-0.1.0/openhack/framework_classifier.py +515 -0
- openhack-0.1.0/openhack/framework_detection.py +269 -0
- openhack-0.1.0/openhack/headless_scan.py +179 -0
- openhack-0.1.0/openhack/prompts/__init__.py +108 -0
- openhack-0.1.0/openhack/prompts/browser_verifier.py +171 -0
- openhack-0.1.0/openhack/prompts/coordinator.py +31 -0
- openhack-0.1.0/openhack/prompts/django/__init__.py +32 -0
- openhack-0.1.0/openhack/prompts/django/auth_bypass.py +76 -0
- openhack-0.1.0/openhack/prompts/django/csrf.py +62 -0
- openhack-0.1.0/openhack/prompts/django/data_exposure.py +67 -0
- openhack-0.1.0/openhack/prompts/django/idor.py +74 -0
- openhack-0.1.0/openhack/prompts/django/injection.py +67 -0
- openhack-0.1.0/openhack/prompts/django/misconfiguration.py +70 -0
- openhack-0.1.0/openhack/prompts/django/ssrf.py +64 -0
- openhack-0.1.0/openhack/prompts/endpoint_analyst.py +122 -0
- openhack-0.1.0/openhack/prompts/express/__init__.py +29 -0
- openhack-0.1.0/openhack/prompts/express/auth_bypass.py +71 -0
- openhack-0.1.0/openhack/prompts/express/data_exposure.py +77 -0
- openhack-0.1.0/openhack/prompts/express/idor.py +69 -0
- openhack-0.1.0/openhack/prompts/express/injection.py +75 -0
- openhack-0.1.0/openhack/prompts/express/misconfiguration.py +72 -0
- openhack-0.1.0/openhack/prompts/express/ssrf.py +63 -0
- openhack-0.1.0/openhack/prompts/feature_hunter.py +140 -0
- openhack-0.1.0/openhack/prompts/flask/__init__.py +29 -0
- openhack-0.1.0/openhack/prompts/flask/auth_bypass.py +86 -0
- openhack-0.1.0/openhack/prompts/flask/data_exposure.py +78 -0
- openhack-0.1.0/openhack/prompts/flask/idor.py +83 -0
- openhack-0.1.0/openhack/prompts/flask/injection.py +77 -0
- openhack-0.1.0/openhack/prompts/flask/misconfiguration.py +73 -0
- openhack-0.1.0/openhack/prompts/flask/ssrf.py +65 -0
- openhack-0.1.0/openhack/prompts/hunter.py +362 -0
- openhack-0.1.0/openhack/prompts/hunter_continuation_loop.py +12 -0
- openhack-0.1.0/openhack/prompts/hunter_continuation_no_findings.py +19 -0
- openhack-0.1.0/openhack/prompts/hunter_continuation_no_progress.py +22 -0
- openhack-0.1.0/openhack/prompts/hunter_tool_instructions.py +55 -0
- openhack-0.1.0/openhack/prompts/nextjs/__init__.py +42 -0
- openhack-0.1.0/openhack/prompts/nextjs/auth_bypass.py +80 -0
- openhack-0.1.0/openhack/prompts/nextjs/csrf.py +71 -0
- openhack-0.1.0/openhack/prompts/nextjs/data_exposure.py +88 -0
- openhack-0.1.0/openhack/prompts/nextjs/idor.py +64 -0
- openhack-0.1.0/openhack/prompts/nextjs/injection.py +65 -0
- openhack-0.1.0/openhack/prompts/nextjs/middleware_bypass.py +75 -0
- openhack-0.1.0/openhack/prompts/nextjs/misconfiguration.py +92 -0
- openhack-0.1.0/openhack/prompts/nextjs/server_actions.py +97 -0
- openhack-0.1.0/openhack/prompts/nextjs/ssrf.py +66 -0
- openhack-0.1.0/openhack/prompts/nextjs/xss.py +69 -0
- openhack-0.1.0/openhack/prompts/pr_analysis_system.py +80 -0
- openhack-0.1.0/openhack/prompts/pr_analysis_user.py +11 -0
- openhack-0.1.0/openhack/prompts/project_context.py +89 -0
- openhack-0.1.0/openhack/prompts/recon.py +199 -0
- openhack-0.1.0/openhack/prompts/reporter.py +88 -0
- openhack-0.1.0/openhack/prompts/researchers.py +434 -0
- openhack-0.1.0/openhack/prompts/sandbox_verifier.py +128 -0
- openhack-0.1.0/openhack/prompts/supabase/__init__.py +39 -0
- openhack-0.1.0/openhack/prompts/supabase/auth_tokens.py +131 -0
- openhack-0.1.0/openhack/prompts/supabase/edge_functions.py +150 -0
- openhack-0.1.0/openhack/prompts/supabase/graphql.py +102 -0
- openhack-0.1.0/openhack/prompts/supabase/postgrest.py +99 -0
- openhack-0.1.0/openhack/prompts/supabase/realtime.py +93 -0
- openhack-0.1.0/openhack/prompts/supabase/rls.py +110 -0
- openhack-0.1.0/openhack/prompts/supabase/rpc_functions.py +127 -0
- openhack-0.1.0/openhack/prompts/supabase/storage.py +110 -0
- openhack-0.1.0/openhack/prompts/supabase/tenant_isolation.py +118 -0
- openhack-0.1.0/openhack/prompts/validator.py +319 -0
- openhack-0.1.0/openhack/prompts/validator_continuation_incomplete.py +12 -0
- openhack-0.1.0/openhack/prompts/validator_tool_instructions.py +29 -0
- openhack-0.1.0/openhack/quality.py +231 -0
- openhack-0.1.0/openhack/sandbox/__init__.py +12 -0
- openhack-0.1.0/openhack/sandbox/orchestrator.py +517 -0
- openhack-0.1.0/openhack/sandbox/runner.py +177 -0
- openhack-0.1.0/openhack/scan_session.py +245 -0
- openhack-0.1.0/openhack/setup.py +452 -0
- openhack-0.1.0/openhack/static_validator.py +612 -0
- openhack-0.1.0/openhack/tools/__init__.py +1 -0
- openhack-0.1.0/openhack/tools/ast_tools.py +307 -0
- openhack-0.1.0/openhack/tools/coverage.py +1078 -0
- openhack-0.1.0/openhack/tools/filesystem.py +404 -0
- openhack-0.1.0/openhack/tools/nextjs.py +258 -0
- openhack-0.1.0/openhack/tools/registry.py +52 -0
- openhack-0.1.0/openhack/tui.py +3450 -0
- openhack-0.1.0/openhack/updates.py +170 -0
- openhack-0.1.0/pyproject.toml +76 -0
- openhack-0.1.0/scripts/run_browser_verify.py +124 -0
- openhack-0.1.0/scripts/run_browser_verify_live.py +167 -0
- openhack-0.1.0/scripts/run_feature_hunt.py +295 -0
- openhack-0.1.0/scripts/run_sandbox_verify.py +108 -0
- openhack-0.1.0/scripts/run_sandbox_verify_live.py +155 -0
- openhack-0.1.0/tests/__init__.py +0 -0
- openhack-0.1.0/tests/conftest.py +28 -0
- openhack-0.1.0/tests/test_categories.py +64 -0
- openhack-0.1.0/tests/test_checkpoint.py +126 -0
- openhack-0.1.0/tests/test_config.py +53 -0
- openhack-0.1.0/tests/test_coverage.py +84 -0
- openhack-0.1.0/tests/test_deterministic_recon.py +55 -0
- openhack-0.1.0/tests/test_entry_points.py +86 -0
- openhack-0.1.0/tests/test_filesystem_tools.py +87 -0
- openhack-0.1.0/tests/test_framework_classifier.py +84 -0
- openhack-0.1.0/tests/test_quality.py +84 -0
- openhack-0.1.0/tests/test_scan_session.py +79 -0
- openhack-0.1.0/uv.lock +1937 -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/
|