Open-source AI hackers to find and fix your app’s vulnerabilities.
233 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | strix/interface/__init__.py | 1 | |
| LOW | strix/interface/tui/live_view.py | 3 | |
| LOW | strix/interface/tui/__init__.py | 3 | |
| LOW | strix/interface/tui/__init__.py | 3 | |
| LOW | strix/interface/tui/messages.py | 3 | |
| LOW | strix/interface/tui/history.py | 3 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 1 | |
| LOW | strix/interface/tui/renderers/__init__.py | 14 | |
| LOW | strix/interface/tui/renderers/filesystem_renderer.py | 1 | |
| LOW | strix/tools/reporting/tool.py | 3 | |
| LOW | strix/tools/web_search/tool.py | 3 | |
| LOW | strix/tools/proxy/tools.py | 3 | |
| LOW | strix/tools/proxy/caido_api.py | 3 | |
| LOW | strix/tools/todo/tools.py | 3 | |
| LOW | strix/tools/notes/tools.py | 3 | |
| LOW | strix/tools/thinking/tool.py | 3 | |
| LOW | strix/tools/finish/tool.py | 3 | |
| LOW | strix/tools/load_skill/tool.py | 3 | |
| LOW | strix/tools/agents_graph/tools.py | 3 | |
| LOW | strix/core/sessions.py | 3 | |
| LOW | strix/core/sessions.py | 13 | |
| LOW | strix/core/runner.py | 3 | |
| LOW | strix/core/hooks.py | 3 | |
| LOW | strix/core/execution.py | 3 | |
| LOW | strix/core/execution.py | 23 | |
| LOW | strix/core/paths.py | 3 | |
| LOW | strix/core/agents.py | 3 | |
| LOW | strix/core/inputs.py | 3 | |
| LOW | strix/config/models.py | 3 | |
| LOW | strix/config/__init__.py | 14 | |
| LOW | strix/config/__init__.py | 14 | |
| LOW | strix/config/__init__.py | 14 | |
| LOW | strix/config/__init__.py | 19 | |
| LOW | strix/config/__init__.py | 19 | |
| LOW | strix/config/__init__.py | 19 | |
| LOW | strix/config/__init__.py | 19 | |
| LOW | strix/config/__init__.py | 19 | |
| LOW | strix/config/loader.py | 3 | |
| LOW | strix/config/settings.py | 3 | |
| LOW | strix/runtime/session_manager.py | 3 | |
| LOW | strix/runtime/backends.py | 3 | |
| LOW | strix/runtime/docker_client.py | 23 | |
| LOW | strix/runtime/caido_bootstrap.py | 10 | |
| LOW | strix/agents/factory.py | 3 | |
| LOW | strix/agents/prompt.py | 3 | |
| LOW | strix/report/dedupe.py | 3 | |
| LOW | strix/report/__init__.py | 3 | |
| LOW | strix/report/__init__.py | 4 | |
| LOW | strix/report/__init__.py | 4 | |
| LOW | strix/report/__init__.py | 4 | |
| 8 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | strix/interface/cli.py | 167 | except Exception: |
| LOW | strix/interface/cli.py | 193 | except Exception as e: |
| LOW | strix/interface/utils.py | 423 | except Exception: |
| LOW | strix/interface/utils.py | 439 | except Exception: |
| LOW | strix/interface/main.py | 236 | except Exception as e: |
| LOW | strix/interface/main.py | 264 | except Exception: |
| LOW | strix/interface/main.py | 416 | except Exception as e: |
| LOW | strix/interface/main.py | 733 | except Exception as e: |
| MEDIUM | strix/interface/main.py | 259 | def get_version() -> str: |
| LOW | strix/interface/tui/messages.py | 39 | except Exception: |
| MEDIUM | strix/interface/tui/app.py | 1162 | def _update_agent_status_display(self) -> None: |
| LOW | strix/interface/tui/app.py | 924 | except Exception: |
| LOW | strix/interface/tui/app.py | 1383 | except Exception as e: |
| LOW | strix/interface/tui/app.py | 1394 | except Exception: |
| LOW | strix/interface/tui/app.py | 1820 | except Exception: |
| LOW | strix/interface/tui/app.py | 1831 | except Exception: |
| LOW | strix/tools/reporting/tool.py | 135 | except Exception: |
| LOW | strix/tools/web_search/tool.py | 107 | except Exception: |
| LOW | strix/tools/proxy/tools.py | 54 | except Exception: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 209 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 288 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 389 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 452 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 477 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/tools.py | 595 | except Exception as exc: # noqa: BLE001 |
| LOW | strix/tools/proxy/caido_api.py | 208 | except Exception: # noqa: BLE001 - tolerate any malformed raw bytes; None signals "unparseable" to the caller. |
| LOW | strix/tools/todo/tools.py | 99 | except Exception: |
| LOW | strix/tools/notes/tools.py | 81 | except Exception: |
| LOW | strix/tools/agents_graph/tools.py | 440 | except Exception as e: |
| LOW | strix/core/hooks.py | 53 | except Exception: |
| LOW | strix/core/execution.py | 253 | except Exception: |
| LOW | strix/core/execution.py | 356 | except Exception: |
| LOW | strix/core/execution.py | 362 | except Exception as exc: |
| LOW | strix/core/execution.py | 370 | except Exception: |
| LOW | strix/core/agents.py | 125 | except Exception: |
| LOW | strix/core/agents.py | 301 | except Exception: |
| LOW | strix/runtime/session_manager.py | 123 | except Exception: # noqa: BLE001 |
| LOW | strix/runtime/session_manager.py | 129 | except Exception: |
| LOW | strix/agents/factory.py | 116 | except Exception as exc: # noqa: BLE001 - tool errors should be model-visible results. |
| LOW | strix/agents/factory.py | 131 | except Exception as exc: # noqa: BLE001 - matches SDK CustomTool error-as-result behavior. |
| LOW | strix/agents/prompt.py | 97 | except Exception: |
| LOW | strix/report/dedupe.py | 231 | except Exception as e: |
| LOW | strix/report/usage.py | 90 | except Exception: |
| LOW | strix/report/usage.py | 107 | except Exception: |
| LOW | strix/report/usage.py | 184 | except Exception: # noqa: BLE001 - LiteLLM raises plain Exception for unknown model prices. |
| LOW | strix/skills/custom/source_aware_sast.md | 39 | except Exception: |
| LOW | strix/telemetry/_common.py | 38 | except Exception: # noqa: BLE001, S110 |
| MEDIUM | strix/telemetry/_common.py | 19 | def get_version() -> str: |
| LOW | strix/telemetry/posthog.py | 47 | except Exception: # noqa: BLE001 |
| LOW | strix/telemetry/scarf.py | 48 | except Exception: # noqa: BLE001 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | strix/interface/utils.py | 58 | def format_vulnerability_report(report: dict[str, Any]) -> Text: # noqa: PLR0915 |
| LOW | strix/interface/utils.py | 206 | def _build_vulnerability_stats(stats_text: Text, report_state: Any) -> None: |
| LOW | strix/interface/utils.py | 409 | def _derive_target_label_for_run_name(targets_info: list[dict[str, Any]] | None) -> str: # noqa: PLR0911 |
| LOW | strix/interface/utils.py | 629 | def _resolve_default_branch_name(repo_path: Path, env: dict[str, str]) -> str | None: |
| LOW | strix/interface/utils.py | 803 | def build_diff_scope_instruction(scopes: list[RepoDiffScope]) -> str: |
| LOW | strix/interface/utils.py | 872 | def _should_activate_auto_scope( |
| LOW | strix/interface/utils.py | 965 | def resolve_diff_scope_context( |
| LOW | strix/interface/utils.py | 1232 | def rewrite_localhost_targets(targets_info: list[dict[str, Any]], host_gateway: str) -> None: |
| LOW | strix/interface/main.py | 530 | def display_completion_message(args: argparse.Namespace, results_path: Path) -> None: |
| LOW | strix/interface/tui/live_view.py | 50 | def _hydrate_sdk_session_history(self, run_dir: Path, agent_ids: Any) -> None: |
| LOW | strix/interface/tui/live_view.py | 123 | def _ingest_raw_response_event(self, agent_id: str, data: Any) -> None: |
| LOW | strix/interface/tui/live_view.py | 130 | def _ingest_session_history_item( |
| LOW | strix/interface/tui/live_view.py | 177 | def _record_assistant_message(self, agent_id: str, content: str, *, final: bool) -> None: |
| LOW | strix/interface/tui/messages.py | 13 | def send_user_message_to_agent( |
| LOW | strix/interface/tui/app.py | 1022 | def _get_chat_placeholder_content( |
| LOW | strix/interface/tui/app.py | 1081 | def _get_rendered_events_content(self, events: list[dict[str, Any]]) -> Any: |
| LOW | strix/interface/tui/app.py | 1108 | def _get_status_display_content( |
| LOW | strix/interface/tui/app.py | 1162 | def _update_agent_status_display(self) -> None: |
| LOW | strix/interface/tui/app.py | 1221 | def _update_vulnerabilities_panel(self) -> None: |
| LOW | strix/interface/tui/app.py | 1329 | def _agent_vulnerability_count(self, agent_id: str) -> int: |
| LOW | strix/interface/tui/app.py | 1500 | def _reorganize_orphaned_agents(self, new_parent_id: str) -> None: |
| LOW | strix/interface/tui/app.py | 1565 | def handle_tree_node_selected(self, event: Tree.NodeSelected) -> None: |
| LOW | strix/interface/tui/app.py | 1651 | def action_stop_selected_agent(self) -> None: |
| LOW | strix/interface/tui/app.py | 1673 | def _validate_agent_for_stopping(self) -> tuple[str, bool]: |
| LOW | strix/interface/tui/app.py | 1696 | def action_confirm_stop_agent(self, agent_id: str) -> None: |
| LOW | strix/interface/tui/renderers/registry.py | 42 | def _render_default_tool_widget(tool_data: dict[str, Any]) -> Static: |
| LOW | strix/interface/tui/renderers/agent_message_renderer.py | 120 | def _process_inline_formatting(line: str) -> Text: |
| LOW | strix/tools/reporting/tool.py | 51 | def _normalize_code_locations( |
| LOW | strix/tools/reporting/tool.py | 302 | async def create_vulnerability_report( |
| LOW | strix/tools/proxy/tools.py | 393 | def _format_replay_tool_result(replay: dict[str, Any]) -> str: |
| LOW | strix/tools/proxy/caido_api.py | 102 | async def list_requests_with_client( |
| LOW | strix/tools/proxy/caido_api.py | 529 | def _clean_sitemap_request_summary(req: dict[str, Any] | None) -> dict[str, Any] | None: |
| LOW | strix/tools/proxy/caido_api.py | 609 | async def view_sitemap_entry_with_client( |
| LOW | strix/tools/agents_graph/tools.py | 29 | def _render_completion_report( |
| LOW | strix/core/sessions.py | 25 | async def strip_latest_image_from_session(session: Session) -> bool: |
| LOW | strix/core/execution.py | 259 | async def _run_noninteractive_until_lifecycle( |
| LOW | strix/core/execution.py | 433 | async def _append_noninteractive_tool_required_message( |
| LOW | strix/core/agents.py | 190 | async def cancel_descendants_graceful(self, agent_id: str) -> None: |
| LOW | strix/config/models.py | 39 | def configure_sdk_model_defaults(settings: Settings) -> None: |
| LOW | strix/config/models.py | 59 | def _configure_litellm_compatibility() -> None: |
| LOW | strix/config/models.py | 67 | def _configure_litellm_default(name: str, value: str) -> None: |
| LOW | strix/config/models.py | 95 | def uses_chat_completions_tool_schema(model_name: str, settings: Settings) -> bool: |
| LOW | strix/agents/factory.py | 110 | def _function_tool_with_error_result(tool: FunctionTool) -> FunctionTool: |
| LOW | strix/agents/factory.py | 124 | def _custom_tool_as_function_tool(tool: CustomTool) -> FunctionTool: |
| LOW | strix/agents/factory.py | 162 | def _configure_chat_completions_filesystem_tools(toolset: Any) -> None: |
| LOW | strix/agents/factory.py | 269 | def _lifecycle_tool_completed(tool_name: str, output: Any) -> bool: |
| LOW | strix/agents/factory.py | 300 | def _finish_tool_use_behavior( |
| LOW | strix/report/dedupe.py | 94 | def _prepare_report_for_comparison(report: dict[str, Any]) -> dict[str, Any]: |
| LOW | strix/report/usage.py | 153 | def _estimate_litellm_entry_cost(entry: Any, model: str) -> float | None: |
| LOW | strix/report/state.py | 213 | def get_existing_vulnerabilities(self) -> list[dict[str, Any]]: |
| LOW | strix/report/state.py | 301 | def _format_final_scan_result(self, scan_results: dict[str, Any]) -> str: |
| LOW | strix/skills/__init__.py | 41 | def validate_requested_skills(skill_list: list[str], max_skills: int = 5) -> str | None: |
| LOW | strix/telemetry/logging.py | 67 | def configure_dependency_logging() -> None: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | strix/interface/cli.py | 38 | |
| LOW | strix/interface/utils.py | 58 | |
| LOW | strix/interface/utils.py | 803 | |
| LOW | strix/interface/utils.py | 1232 | |
| LOW | strix/interface/utils.py | 1365 | |
| LOW | strix/interface/utils.py | 1378 | |
| LOW | strix/interface/main.py | 60 | |
| LOW | strix/interface/main.py | 268 | |
| LOW | strix/interface/tui/app.py | 176 | |
| LOW | strix/interface/tui/app.py | 306 | |
| LOW | strix/interface/tui/app.py | 459 | |
| LOW | strix/interface/tui/app.py | 911 | |
| LOW | strix/interface/tui/app.py | 1065 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 44 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 121 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 208 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 306 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 390 | |
| LOW | strix/interface/tui/renderers/proxy_renderer.py | 455 | |
| LOW | strix/interface/tui/renderers/reporting_renderer.py | 89 | |
| LOW | strix/interface/tui/renderers/filesystem_renderer.py | 82 | |
| LOW | strix/interface/tui/renderers/notes_renderer.py | 98 | |
| LOW | strix/interface/tui/renderers/agent_message_renderer.py | 64 | |
| LOW | strix/interface/tui/renderers/agent_message_renderer.py | 120 | |
| LOW | strix/tools/reporting/tool.py | 51 | |
| LOW | strix/tools/reporting/tool.py | 81 | |
| LOW | strix/tools/proxy/tools.py | 87 | |
| LOW | strix/tools/proxy/caido_api.py | 246 | |
| LOW | strix/tools/proxy/caido_api.py | 427 | |
| LOW | strix/tools/notes/tools.py | 226 | |
| LOW | strix/core/runner.py | 53 | |
| LOW | strix/core/execution.py | 323 | |
| LOW | strix/core/inputs.py | 21 | |
| LOW | strix/config/loader.py | 56 | |
| LOW | strix/config/loader.py | 92 | |
| LOW | strix/runtime/caido_bootstrap.py | 33 | |
| LOW | strix/report/writer.py | 117 | |
| LOW | strix/skills/__init__.py | 61 | |
| LOW | strix/telemetry/logging.py | 80 | |
| LOW | strix/telemetry/logging.py | 134 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | README.md | 85 | export LLM_API_KEY="your-api-key" |
| HIGH | README.md | 229 | export LLM_API_KEY="your-api-key" |
| HIGH | README.md | 233 | export PERPLEXITY_API_KEY="your-api-key" # for search capabilities |
| HIGH | CONTRIBUTING.md | 34 | export LLM_API_KEY="your-api-key" |
| HIGH | strix/interface/main.py | 146 | "export LLM_API_KEY='your-api-key-here' " |
| HIGH | scripts/install.sh | 339 | echo -e " ${MUTED}export LLM_API_KEY='your-api-key'${NC}" |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pyproject.toml | 67 | # ============================================================================ |
| MEDIUM | pyproject.toml | 69 | # ============================================================================ |
| MEDIUM | pyproject.toml | 107 | # ============================================================================ |
| MEDIUM | pyproject.toml | 109 | # ============================================================================ |
| MEDIUM | pyproject.toml | 247 | # ============================================================================ |
| MEDIUM | pyproject.toml | 249 | # ============================================================================ |
| MEDIUM | pyproject.toml | 277 | # ============================================================================ |
| MEDIUM | pyproject.toml | 279 | # ============================================================================ |
| MEDIUM | pyproject.toml | 299 | # ============================================================================ |
| MEDIUM | pyproject.toml | 301 | # ============================================================================ |
| MEDIUM | pyproject.toml | 314 | # ============================================================================ |
| MEDIUM | pyproject.toml | 316 | # ============================================================================ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | strix/tools/proxy/tools.py | 96 | List captured HTTP requests from the Caido proxy with HTTPQL filtering. Caido HTTPQL syntax (operators differ by fi |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pyproject.toml | 125 | # Enable comprehensive rule sets |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | strix/tools/proxy/caido_api.py | 292 | # Create an empty replay session, then dispatch via ``send()``. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | strix/skills/tooling/agent_browser.md | 181 | agent-browser fill @e3 "user@example.com" |