strix-agent 0.1.18__py3-none-any.whl → 0.3.1__py3-none-any.whl
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.
Potentially problematic release.
This version of strix-agent might be problematic. Click here for more details.
- strix/agents/StrixAgent/strix_agent.py +49 -39
- strix/agents/StrixAgent/system_prompt.jinja +23 -10
- strix/agents/base_agent.py +90 -10
- strix/agents/state.py +23 -2
- strix/interface/cli.py +171 -0
- strix/interface/main.py +482 -0
- strix/{cli → interface}/tool_components/base_renderer.py +2 -2
- strix/{cli → interface}/tool_components/reporting_renderer.py +2 -1
- strix/{cli → interface}/tool_components/scan_info_renderer.py +17 -12
- strix/{cli/app.py → interface/tui.py} +107 -31
- strix/interface/utils.py +435 -0
- strix/prompts/README.md +64 -0
- strix/prompts/__init__.py +1 -1
- strix/prompts/cloud/.gitkeep +0 -0
- strix/prompts/custom/.gitkeep +0 -0
- strix/prompts/frameworks/fastapi.jinja +142 -0
- strix/prompts/frameworks/nextjs.jinja +126 -0
- strix/prompts/protocols/graphql.jinja +215 -0
- strix/prompts/reconnaissance/.gitkeep +0 -0
- strix/prompts/technologies/firebase_firestore.jinja +177 -0
- strix/prompts/technologies/supabase.jinja +189 -0
- strix/prompts/vulnerabilities/authentication_jwt.jinja +133 -115
- strix/prompts/vulnerabilities/broken_function_level_authorization.jinja +146 -0
- strix/prompts/vulnerabilities/business_logic.jinja +146 -118
- strix/prompts/vulnerabilities/csrf.jinja +137 -131
- strix/prompts/vulnerabilities/idor.jinja +149 -118
- strix/prompts/vulnerabilities/insecure_file_uploads.jinja +188 -0
- strix/prompts/vulnerabilities/mass_assignment.jinja +141 -0
- strix/prompts/vulnerabilities/path_traversal_lfi_rfi.jinja +142 -0
- strix/prompts/vulnerabilities/race_conditions.jinja +135 -165
- strix/prompts/vulnerabilities/rce.jinja +128 -180
- strix/prompts/vulnerabilities/sql_injection.jinja +128 -192
- strix/prompts/vulnerabilities/ssrf.jinja +118 -151
- strix/prompts/vulnerabilities/xss.jinja +144 -196
- strix/prompts/vulnerabilities/xxe.jinja +151 -243
- strix/runtime/docker_runtime.py +28 -7
- strix/runtime/runtime.py +4 -1
- strix/telemetry/__init__.py +4 -0
- strix/{cli → telemetry}/tracer.py +21 -9
- strix/tools/agents_graph/agents_graph_actions.py +17 -12
- strix/tools/agents_graph/agents_graph_actions_schema.xml +10 -14
- strix/tools/executor.py +1 -1
- strix/tools/finish/finish_actions.py +1 -1
- strix/tools/registry.py +1 -1
- strix/tools/reporting/reporting_actions.py +1 -1
- {strix_agent-0.1.18.dist-info → strix_agent-0.3.1.dist-info}/METADATA +95 -15
- strix_agent-0.3.1.dist-info/RECORD +115 -0
- strix_agent-0.3.1.dist-info/entry_points.txt +3 -0
- strix/cli/main.py +0 -702
- strix_agent-0.1.18.dist-info/RECORD +0 -99
- strix_agent-0.1.18.dist-info/entry_points.txt +0 -3
- /strix/{cli → interface}/__init__.py +0 -0
- /strix/{cli/assets/cli.tcss → interface/assets/tui_styles.tcss} +0 -0
- /strix/{cli → interface}/tool_components/__init__.py +0 -0
- /strix/{cli → interface}/tool_components/agents_graph_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/browser_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/file_edit_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/finish_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/notes_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/proxy_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/python_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/registry.py +0 -0
- /strix/{cli → interface}/tool_components/terminal_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/thinking_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/user_message_renderer.py +0 -0
- /strix/{cli → interface}/tool_components/web_search_renderer.py +0 -0
- {strix_agent-0.1.18.dist-info → strix_agent-0.3.1.dist-info}/LICENSE +0 -0
- {strix_agent-0.1.18.dist-info → strix_agent-0.3.1.dist-info}/WHEEL +0 -0
|
@@ -199,11 +199,11 @@ def create_agent(
|
|
|
199
199
|
if prompt_modules:
|
|
200
200
|
module_list = [m.strip() for m in prompt_modules.split(",") if m.strip()]
|
|
201
201
|
|
|
202
|
-
if len(module_list) >
|
|
202
|
+
if len(module_list) > 5:
|
|
203
203
|
return {
|
|
204
204
|
"success": False,
|
|
205
205
|
"error": (
|
|
206
|
-
"Cannot specify more than
|
|
206
|
+
"Cannot specify more than 5 prompt modules for an agent "
|
|
207
207
|
"(use comma-separated format)"
|
|
208
208
|
),
|
|
209
209
|
"agent_id": None,
|
|
@@ -228,15 +228,19 @@ def create_agent(
|
|
|
228
228
|
from strix.agents.state import AgentState
|
|
229
229
|
from strix.llm.config import LLMConfig
|
|
230
230
|
|
|
231
|
-
state = AgentState(task=task, agent_name=name, parent_id=parent_id, max_iterations=
|
|
231
|
+
state = AgentState(task=task, agent_name=name, parent_id=parent_id, max_iterations=300)
|
|
232
232
|
|
|
233
233
|
llm_config = LLMConfig(prompt_modules=module_list)
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
234
|
+
|
|
235
|
+
parent_agent = _agent_instances.get(parent_id)
|
|
236
|
+
agent_config = {
|
|
237
|
+
"llm_config": llm_config,
|
|
238
|
+
"state": state,
|
|
239
|
+
}
|
|
240
|
+
if parent_agent and hasattr(parent_agent, "non_interactive"):
|
|
241
|
+
agent_config["non_interactive"] = parent_agent.non_interactive
|
|
242
|
+
|
|
243
|
+
agent = StrixAgent(agent_config)
|
|
240
244
|
|
|
241
245
|
inherited_messages = []
|
|
242
246
|
if inherit_context:
|
|
@@ -487,7 +491,7 @@ def stop_agent(agent_id: str) -> dict[str, Any]:
|
|
|
487
491
|
agent_node["status"] = "stopping"
|
|
488
492
|
|
|
489
493
|
try:
|
|
490
|
-
from strix.
|
|
494
|
+
from strix.telemetry.tracer import get_global_tracer
|
|
491
495
|
|
|
492
496
|
tracer = get_global_tracer()
|
|
493
497
|
if tracer:
|
|
@@ -565,7 +569,7 @@ def send_user_message_to_agent(agent_id: str, message: str) -> dict[str, Any]:
|
|
|
565
569
|
@register_tool(sandbox_execution=False)
|
|
566
570
|
def wait_for_message(
|
|
567
571
|
agent_state: Any,
|
|
568
|
-
reason: str = "Waiting for messages from other agents
|
|
572
|
+
reason: str = "Waiting for messages from other agents",
|
|
569
573
|
) -> dict[str, Any]:
|
|
570
574
|
try:
|
|
571
575
|
agent_id = agent_state.agent_id
|
|
@@ -578,7 +582,7 @@ def wait_for_message(
|
|
|
578
582
|
_agent_graph["nodes"][agent_id]["waiting_reason"] = reason
|
|
579
583
|
|
|
580
584
|
try:
|
|
581
|
-
from strix.
|
|
585
|
+
from strix.telemetry.tracer import get_global_tracer
|
|
582
586
|
|
|
583
587
|
tracer = get_global_tracer()
|
|
584
588
|
if tracer:
|
|
@@ -603,5 +607,6 @@ def wait_for_message(
|
|
|
603
607
|
"Message from another agent",
|
|
604
608
|
"Message from user",
|
|
605
609
|
"Direct communication",
|
|
610
|
+
"Waiting timeout reached",
|
|
606
611
|
],
|
|
607
612
|
}
|
|
@@ -80,7 +80,7 @@ Only create a new agent if no existing agent is handling the specific task.</des
|
|
|
80
80
|
<description>Whether the new agent should inherit parent's conversation history and context</description>
|
|
81
81
|
</parameter>
|
|
82
82
|
<parameter name="prompt_modules" type="string" required="false">
|
|
83
|
-
<description>Comma-separated list of prompt modules to use for the agent (MAXIMUM
|
|
83
|
+
<description>Comma-separated list of prompt modules to use for the agent (MAXIMUM 5 modules allowed). Most agents should have at least one module in order to be useful. Agents should be highly specialized - use 1-3 related modules; up to 5 for complex contexts. {{DYNAMIC_MODULES_DESCRIPTION}}</description>
|
|
84
84
|
</parameter>
|
|
85
85
|
</parameters>
|
|
86
86
|
<returns type="Dict[str, Any]">
|
|
@@ -114,7 +114,7 @@ Only create a new agent if no existing agent is handling the specific task.</des
|
|
|
114
114
|
<parameter=prompt_modules>xss</parameter>
|
|
115
115
|
</function>
|
|
116
116
|
|
|
117
|
-
# Example of
|
|
117
|
+
# Example of up to 5 related modules (borderline acceptable)
|
|
118
118
|
<function=create_agent>
|
|
119
119
|
<parameter=task>Test for server-side vulnerabilities including SSRF, XXE, and potential
|
|
120
120
|
RCE vectors in file upload and XML processing endpoints.</parameter>
|
|
@@ -182,25 +182,26 @@ Only create a new agent if no existing agent is handling the specific task.</des
|
|
|
182
182
|
</returns>
|
|
183
183
|
</tool>
|
|
184
184
|
<tool name="wait_for_message">
|
|
185
|
-
<description>Pause the agent loop indefinitely until receiving a message from another agent
|
|
185
|
+
<description>Pause the agent loop indefinitely until receiving a message from another agent.
|
|
186
186
|
|
|
187
187
|
This tool puts the agent into a waiting state where it remains idle until it receives any form of communication. The agent will automatically resume execution when a message arrives.
|
|
188
188
|
|
|
189
189
|
IMPORTANT: This tool causes the agent to stop all activity until a message is received. Use it when you need to:
|
|
190
190
|
- Wait for subagent completion reports
|
|
191
191
|
- Coordinate with other agents before proceeding
|
|
192
|
-
- Pause for user input or decisions
|
|
193
192
|
- Synchronize multi-agent workflows
|
|
194
193
|
|
|
195
194
|
NOTE: If you are waiting for an agent that is NOT your subagent, you first tell it to message you with updates before waiting for it. Otherwise, you will wait forever!
|
|
196
195
|
</description>
|
|
197
|
-
<details>When this tool is called, the agent enters a waiting state and will not continue execution until:
|
|
198
|
-
- Another agent sends
|
|
199
|
-
-
|
|
200
|
-
-
|
|
196
|
+
<details>When this tool is called, the agent (you) enters a waiting state and will not continue execution until:
|
|
197
|
+
- Another agent sends a message via send_message_to_agent
|
|
198
|
+
- Any other form of inter-agent communication occurs
|
|
199
|
+
- Waiting timeout is reached
|
|
201
200
|
|
|
202
201
|
The agent will automatically resume from where it left off once a message is received.
|
|
203
|
-
This is particularly useful for parent agents waiting for subagent results or for coordination points in multi-agent workflows
|
|
202
|
+
This is particularly useful for parent agents waiting for subagent results or for coordination points in multi-agent workflows.
|
|
203
|
+
NOTE: If you finished your task, and you do NOT have any child agents running, you should NEVER use this tool, and just call finish tool instead.
|
|
204
|
+
</details>
|
|
204
205
|
<parameters>
|
|
205
206
|
<parameter name="reason" type="string" required="false">
|
|
206
207
|
<description>Explanation for why the agent is waiting (for logging and monitoring purposes)</description>
|
|
@@ -215,11 +216,6 @@ NOTE: If you are waiting for an agent that is NOT your subagent, you first tell
|
|
|
215
216
|
<parameter=reason>Waiting for subdomain enumeration and port scanning subagents to complete their tasks and report findings</parameter>
|
|
216
217
|
</function>
|
|
217
218
|
|
|
218
|
-
# Wait for user input on next steps
|
|
219
|
-
<function=wait_for_message>
|
|
220
|
-
<parameter=reason>Waiting for user decision on whether to proceed with exploitation of discovered SQL injection vulnerability</parameter>
|
|
221
|
-
</function>
|
|
222
|
-
|
|
223
219
|
# Coordinate with other agents
|
|
224
220
|
<function=wait_for_message>
|
|
225
221
|
<parameter=reason>Waiting for vulnerability assessment agent to share discovered attack vectors before proceeding with exploitation phase</parameter>
|
strix/tools/executor.py
CHANGED
|
@@ -240,7 +240,7 @@ async def _execute_single_tool(
|
|
|
240
240
|
|
|
241
241
|
def _get_tracer_and_agent_id(agent_state: Any | None) -> tuple[Any | None, str]:
|
|
242
242
|
try:
|
|
243
|
-
from strix.
|
|
243
|
+
from strix.telemetry.tracer import get_global_tracer
|
|
244
244
|
|
|
245
245
|
tracer = get_global_tracer()
|
|
246
246
|
agent_id = agent_state.agent_id if agent_state else "unknown_agent"
|
|
@@ -107,7 +107,7 @@ def _check_active_agents(agent_state: Any = None) -> dict[str, Any] | None:
|
|
|
107
107
|
|
|
108
108
|
def _finalize_with_tracer(content: str, success: bool) -> dict[str, Any]:
|
|
109
109
|
try:
|
|
110
|
-
from strix.
|
|
110
|
+
from strix.telemetry.tracer import get_global_tracer
|
|
111
111
|
|
|
112
112
|
tracer = get_global_tracer()
|
|
113
113
|
if tracer:
|
strix/tools/registry.py
CHANGED
|
@@ -33,7 +33,7 @@ def _process_dynamic_content(content: str) -> str:
|
|
|
33
33
|
logger.warning("Could not import prompts utilities for dynamic schema generation")
|
|
34
34
|
content = content.replace(
|
|
35
35
|
"{{DYNAMIC_MODULES_DESCRIPTION}}",
|
|
36
|
-
"List of prompt modules to load for this agent (max
|
|
36
|
+
"List of prompt modules to load for this agent (max 5). Module discovery failed.",
|
|
37
37
|
)
|
|
38
38
|
|
|
39
39
|
return content
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: strix-agent
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Open-source AI Hackers for your apps
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: cybersecurity,security,vulnerability,scanner,pentest,agent,ai,cli
|
|
@@ -44,10 +44,11 @@ Description-Content-Type: text/markdown
|
|
|
44
44
|
|
|
45
45
|
### Open-source AI hackers for your apps
|
|
46
46
|
|
|
47
|
+
[](https://usestrix.com)
|
|
47
48
|
[](LICENSE)
|
|
48
|
-
[](https://discord.gg/J48Fzuh7)
|
|
50
|
+
[](https://pepy.tech/projects/strix-agent)
|
|
51
|
+
[](https://github.com/usestrix/strix)
|
|
51
52
|
</div>
|
|
52
53
|
|
|
53
54
|
<div align="center">
|
|
@@ -60,8 +61,30 @@ Description-Content-Type: text/markdown
|
|
|
60
61
|
|
|
61
62
|
Strix are autonomous AI agents that act just like real hackers - they run your code dynamically, find vulnerabilities, and validate them through actual exploitation. Built for developers and security teams who need fast, accurate security testing without the overhead of manual pentesting or the false positives of static analysis tools.
|
|
62
63
|
|
|
64
|
+
- **Full hacker toolkit** out of the box
|
|
65
|
+
- **Teams of agents** that collaborate and scale
|
|
66
|
+
- **Real validation** via exploitation and PoC, not false positives
|
|
67
|
+
- **Developer‑first** CLI with actionable reports
|
|
68
|
+
- **Auto‑fix & reporting** to accelerate remediation
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### 🎯 Use Cases
|
|
73
|
+
|
|
74
|
+
- Detect and validate critical vulnerabilities in your applications.
|
|
75
|
+
- Get penetration tests done in hours, not weeks, with compliance reports.
|
|
76
|
+
- Automate bug bounty research and generate PoCs for faster reporting.
|
|
77
|
+
- Run tests in CI/CD to block vulnerabilities before reaching production.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
63
81
|
### 🚀 Quick Start
|
|
64
82
|
|
|
83
|
+
Prerequisites:
|
|
84
|
+
- Docker (running)
|
|
85
|
+
- Python 3.12+
|
|
86
|
+
- An LLM provider key (or a local LLM)
|
|
87
|
+
|
|
65
88
|
```bash
|
|
66
89
|
# Install
|
|
67
90
|
pipx install strix-agent
|
|
@@ -74,12 +97,11 @@ export LLM_API_KEY="your-api-key"
|
|
|
74
97
|
strix --target ./app-directory
|
|
75
98
|
```
|
|
76
99
|
|
|
77
|
-
|
|
100
|
+
First run pulls the sandbox Docker image. Results are saved under `agent_runs/<run-name>`.
|
|
101
|
+
|
|
102
|
+
### ☁️ Cloud Hosted
|
|
78
103
|
|
|
79
|
-
|
|
80
|
-
- **Real Validation** - Dynamic testing and actual exploitation, thus much fewer false positives
|
|
81
|
-
- **Developer-First** - Seamlessly integrates into existing development workflows
|
|
82
|
-
- **Auto-Fix & Reporting** - Automated patching with detailed remediation and security reports
|
|
104
|
+
Want to skip the setup? Try our cloud-hosted version: **[usestrix.com](https://usestrix.com)**
|
|
83
105
|
|
|
84
106
|
## ✨ Features
|
|
85
107
|
|
|
@@ -122,8 +144,17 @@ strix --target https://github.com/org/repo
|
|
|
122
144
|
# Web application assessment
|
|
123
145
|
strix --target https://your-app.com
|
|
124
146
|
|
|
125
|
-
#
|
|
147
|
+
# Multi-target white-box testing (source code + deployed app)
|
|
148
|
+
strix -t https://github.com/org/app -t https://your-app.com
|
|
149
|
+
|
|
150
|
+
# Test multiple environments simultaneously
|
|
151
|
+
strix -t https://dev.your-app.com -t https://staging.your-app.com -t https://prod.your-app.com
|
|
152
|
+
|
|
153
|
+
# Focused testing with instructions
|
|
126
154
|
strix --target api.your-app.com --instruction "Prioritize authentication and authorization testing"
|
|
155
|
+
|
|
156
|
+
# Testing with credentials
|
|
157
|
+
strix --target https://your-app.com --instruction "Test with credentials: testuser/testpass. Focus on privilege escalation and access control bypasses."
|
|
127
158
|
```
|
|
128
159
|
|
|
129
160
|
### ⚙️ Configuration
|
|
@@ -139,6 +170,41 @@ export PERPLEXITY_API_KEY="your-api-key" # for search capabilities
|
|
|
139
170
|
|
|
140
171
|
[📚 View supported AI models](https://docs.litellm.ai/docs/providers)
|
|
141
172
|
|
|
173
|
+
### 🤖 Headless Mode
|
|
174
|
+
|
|
175
|
+
Run Strix programmatically without interactive UI using the `-n/--non-interactive` flag—perfect for servers and automated jobs. The CLI prints real-time vulnerability findings, and the final report before exiting. Exits with non-zero code when vulnerabilities are found.
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
strix -n --target https://your-app.com --instruction "Focus on authentication and authorization vulnerabilities"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### 🔄 CI/CD (GitHub Actions)
|
|
182
|
+
|
|
183
|
+
Strix can be added to your pipeline to run a security test on pull requests with a lightweight GitHub Actions workflow:
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
name: strix-penetration-test
|
|
187
|
+
|
|
188
|
+
on:
|
|
189
|
+
pull_request:
|
|
190
|
+
|
|
191
|
+
jobs:
|
|
192
|
+
security-scan:
|
|
193
|
+
runs-on: ubuntu-latest
|
|
194
|
+
steps:
|
|
195
|
+
- uses: actions/checkout@v4
|
|
196
|
+
|
|
197
|
+
- name: Install Strix
|
|
198
|
+
run: pipx install strix-agent
|
|
199
|
+
|
|
200
|
+
- name: Run Strix
|
|
201
|
+
env:
|
|
202
|
+
STRIX_LLM: ${{ secrets.STRIX_LLM }}
|
|
203
|
+
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
204
|
+
|
|
205
|
+
run: strix -n -t ./
|
|
206
|
+
```
|
|
207
|
+
|
|
142
208
|
## 🏆 Enterprise Platform
|
|
143
209
|
|
|
144
210
|
Our managed platform provides:
|
|
@@ -150,26 +216,40 @@ Our managed platform provides:
|
|
|
150
216
|
- **🔌 Third-Party Integrations**
|
|
151
217
|
- **🎯 Enterprise Support**
|
|
152
218
|
|
|
153
|
-
[**Get Enterprise Demo →**](https://
|
|
219
|
+
[**Get Enterprise Demo →**](https://usestrix.com)
|
|
154
220
|
|
|
155
221
|
## 🔒 Security Architecture
|
|
156
222
|
|
|
157
223
|
- **Container Isolation** - All testing in sandboxed Docker environments
|
|
158
224
|
- **Local Processing** - Testing runs locally, no data sent to external services
|
|
159
225
|
|
|
160
|
-
> [!NOTE]
|
|
161
|
-
> Strix is currently in Alpha. Expect rapid updates and improvements.
|
|
162
|
-
|
|
163
226
|
> [!WARNING]
|
|
164
227
|
> Only test systems you own or have permission to test. You are responsible for using Strix ethically and legally.
|
|
165
228
|
|
|
229
|
+
## 🤝 Contributing
|
|
230
|
+
|
|
231
|
+
We welcome contributions from the community! There are several ways to contribute:
|
|
232
|
+
|
|
233
|
+
### Code Contributions
|
|
234
|
+
See our [Contributing Guide](CONTRIBUTING.md) for details on:
|
|
235
|
+
- Setting up your development environment
|
|
236
|
+
- Running tests and quality checks
|
|
237
|
+
- Submitting pull requests
|
|
238
|
+
- Code style guidelines
|
|
239
|
+
|
|
240
|
+
### Prompt Modules Collection
|
|
241
|
+
Help expand our collection of specialized prompt modules for AI agents:
|
|
242
|
+
- Advanced testing techniques for vulnerabilities, frameworks, and technologies
|
|
243
|
+
- See [Prompt Modules Documentation](strix/prompts/README.md) for guidelines
|
|
244
|
+
- Submit via [pull requests](https://github.com/usestrix/strix/pulls) or [issues](https://github.com/usestrix/strix/issues)
|
|
245
|
+
|
|
166
246
|
## 🌟 Support the Project
|
|
167
247
|
|
|
168
248
|
**Love Strix?** Give us a ⭐ on GitHub!
|
|
169
249
|
|
|
170
250
|
## 👥 Join Our Community
|
|
171
251
|
|
|
172
|
-
Have questions? Found a bug? Want to contribute? **[Join our Discord!](https://discord.gg/
|
|
252
|
+
Have questions? Found a bug? Want to contribute? **[Join our Discord!](https://discord.gg/J48Fzuh7)**
|
|
173
253
|
|
|
174
254
|
</div>
|
|
175
255
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
strix/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
strix/agents/StrixAgent/__init__.py,sha256=VORJn9aPTJyNn2-QAv6DbTxO1P9wBQoSZlAw-YuTJhQ,63
|
|
3
|
+
strix/agents/StrixAgent/strix_agent.py,sha256=2_A8vLzIOB7WC8svNVVzij4isw09LNcAslvAgd9EiHo,2796
|
|
4
|
+
strix/agents/StrixAgent/system_prompt.jinja,sha256=W48gWtCalN7fu_SURJEpbX4YVbKP8iEj7YN2qwHfa8c,20088
|
|
5
|
+
strix/agents/__init__.py,sha256=F64zhlv4XZIvYJSL9eSSuKUsIVGPLG3ycpQBhZwvE6A,168
|
|
6
|
+
strix/agents/base_agent.py,sha256=0oWy779P3ZzqCP_kuN9Okq0UQNzFf9oS0zYhXIDawtc,20220
|
|
7
|
+
strix/agents/state.py,sha256=3A4wOewNYyzqnCCBbzpSc35OrgTfObzxIwZpJDW_rag,5720
|
|
8
|
+
strix/interface/__init__.py,sha256=ww23sFOQhICEIrIo0MtwWv2qHW5qUprvPj8QVjv3SM0,44
|
|
9
|
+
strix/interface/assets/tui_styles.tcss,sha256=y7N_l8sJhDeflwqjmGz_Zm6xhVzpKUPJ6zcci-3qesE,11914
|
|
10
|
+
strix/interface/cli.py,sha256=9-kcS_x-15sXL3jUCz5Fi2s1RLNXdMh82okEb2eTD7M,5485
|
|
11
|
+
strix/interface/main.py,sha256=712U3e49vj02YleqNr-QIm1Vjj9uNVA7T1sOkOz1SVg,16431
|
|
12
|
+
strix/interface/tool_components/__init__.py,sha256=Dz5ci3VMzvhlPOwQ2x9Nd11cmFzx1OP7sdlpZPMTT4k,935
|
|
13
|
+
strix/interface/tool_components/agents_graph_renderer.py,sha256=eVFRqmJ-TxyxZ-hssLTweDAio4UvsZZgxo2dKky0N1U,4399
|
|
14
|
+
strix/interface/tool_components/base_renderer.py,sha256=P0zYeRnbkr2NYoE8KDQmj1TzrAGX6r7qLMb4Sw7AoTI,1905
|
|
15
|
+
strix/interface/tool_components/browser_renderer.py,sha256=_dj5VSNtuyJSH24SyORB466H8bpa7aD4_hNiFmqxtFs,4526
|
|
16
|
+
strix/interface/tool_components/file_edit_renderer.py,sha256=DfV8l4o3ssipXO_-uIrTS674h_9kALFLkuCb3ry0T0s,3612
|
|
17
|
+
strix/interface/tool_components/finish_renderer.py,sha256=Q5Jp-irOqh0rfdoG_wzEiNhDqLDkdP-NwhYoag4N_Kw,984
|
|
18
|
+
strix/interface/tool_components/notes_renderer.py,sha256=ZykNe589yXR9D9mm5rSHfdppZs65STVr356EDh7GaT0,3736
|
|
19
|
+
strix/interface/tool_components/proxy_renderer.py,sha256=cK1mG3r0QhlVd_jbdKGiWuw5MJNLs0sTZCkOMZRRbJw,10224
|
|
20
|
+
strix/interface/tool_components/python_renderer.py,sha256=2jlD6J9PpL-rOUq8uQiny54KLr45yVPO24Q-Tn_6VxM,1208
|
|
21
|
+
strix/interface/tool_components/registry.py,sha256=o7KnSfuIR4NYAZ5EGk11YThrTdCmbb7pMBhxr1o6Fec,2370
|
|
22
|
+
strix/interface/tool_components/reporting_renderer.py,sha256=mfVadTe5IbWBc9lV-rCJ29BxwXcFhaY1aON4_0qzglM,1762
|
|
23
|
+
strix/interface/tool_components/scan_info_renderer.py,sha256=BWeWJ-Whm-MOM_CKSR59SKTq1tKbUh2kqi1cdOkUorQ,2223
|
|
24
|
+
strix/interface/tool_components/terminal_renderer.py,sha256=-ORL2vBH5XImUZrIfk_K3fij3QQks2ejiJgcU11OB0E,3349
|
|
25
|
+
strix/interface/tool_components/thinking_renderer.py,sha256=-MQLkKCgOJksrustULFf2jhAjJrP5bbfS2BQ6zgNKCc,927
|
|
26
|
+
strix/interface/tool_components/user_message_renderer.py,sha256=6gHJ1hG-pwcTsxLM7JuYZuaDu8cZ2MeOuUDF3LGy-4I,1432
|
|
27
|
+
strix/interface/tool_components/web_search_renderer.py,sha256=JnJa22ACIcRksfxxdenesUo8Th9cHSxo-fej9YcuYHs,911
|
|
28
|
+
strix/interface/tui.py,sha256=xCwmRqdIg8KOcrqijcMoacKx-O2XHCKJhuwLMo4P3l4,43872
|
|
29
|
+
strix/interface/utils.py,sha256=oEGc5WyXiV65OBEpUKMub0w7lOqSk_UPvNL_MKdf3jw,14899
|
|
30
|
+
strix/llm/__init__.py,sha256=WqYE3Xc2e1D3z4QyjwN_jZPTdqsSDX6ODYsu-dcufSk,230
|
|
31
|
+
strix/llm/config.py,sha256=iBv1tuUOUDcP2gVQWhjtN8wtO5lWOipsER7Rnc3p6k4,603
|
|
32
|
+
strix/llm/llm.py,sha256=lsjNAXDGikhI2EGrtQHolqRtr5KC4Zi4-2sCUF3n9ZE,15604
|
|
33
|
+
strix/llm/memory_compressor.py,sha256=RFJWirlK39ZkoDc42eNicJUR8nMVbxSsviWvfJ4kRgs,6953
|
|
34
|
+
strix/llm/request_queue.py,sha256=P8YStE3qe8X1H0PkIaZ7_FNokWgDlgrrZrRj0TWHbKo,2595
|
|
35
|
+
strix/llm/utils.py,sha256=0Z0r6qo9IfUSOJt5FJsq3X-veXrA8A09frc2VIy-aS4,2540
|
|
36
|
+
strix/prompts/README.md,sha256=m81jqGbsmYMzuvBQ7jrftqTv1qGuUvpKH09XYCpRV4A,2983
|
|
37
|
+
strix/prompts/__init__.py,sha256=cysOM59WT-BVsGrGc09a8Dkcog2Ky08fDZJXXHZ8iJg,3490
|
|
38
|
+
strix/prompts/cloud/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
+
strix/prompts/coordination/root_agent.jinja,sha256=Z34uffB-lIt6Oei307dtD7oyXSmX2DSApeoRcA3LcnM,1902
|
|
40
|
+
strix/prompts/custom/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
strix/prompts/frameworks/fastapi.jinja,sha256=zXa08RDG9tVQu6MZetKCcOUPuDDKJJF1anTei7_2TZg,10200
|
|
42
|
+
strix/prompts/frameworks/nextjs.jinja,sha256=AhfKOUl2bQzRWqqCw5lrjrXaKIkZ3CEEjVJwPJF8nP8,8175
|
|
43
|
+
strix/prompts/protocols/graphql.jinja,sha256=Tm538OmlFOJvuOwd4MXYQ4KYR7k4bJ4r-z4yoFcF6-8,10454
|
|
44
|
+
strix/prompts/reconnaissance/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
strix/prompts/technologies/firebase_firestore.jinja,sha256=J2yBQ3CvX8V0DV9hebmS1tdMyQhWHTRXIAe0bNYGAdM,11365
|
|
46
|
+
strix/prompts/technologies/supabase.jinja,sha256=ib2B_OLRLrutr1f8ez8paiXQcLBKS8_LU3iJBnO_vK4,11751
|
|
47
|
+
strix/prompts/vulnerabilities/authentication_jwt.jinja,sha256=XVil5YMvjo4DyDWdpAxrclMTh-0JELU9G4PFK6SHA6c,8388
|
|
48
|
+
strix/prompts/vulnerabilities/broken_function_level_authorization.jinja,sha256=DTFi_M9_edDprotnRaUoCjUvPztnafXD7NMsF6wfd38,7204
|
|
49
|
+
strix/prompts/vulnerabilities/business_logic.jinja,sha256=hz7oOzJWNFjj_DZndzqahzU5ckOrJMCpnIy3GxzmzCA,9857
|
|
50
|
+
strix/prompts/vulnerabilities/csrf.jinja,sha256=ZOkFB-u2qWi1wYq_vTJzINi9eOyHh6rUsOgJguGvutk,8739
|
|
51
|
+
strix/prompts/vulnerabilities/idor.jinja,sha256=8XE24uCCyJXBPZj6JIhcwPx3mx9_NE2mr5XAfhq8yTE,10785
|
|
52
|
+
strix/prompts/vulnerabilities/insecure_file_uploads.jinja,sha256=1qLkfQoOyyTwbafJknmDJ_tjV9fzJInfLNc3eeagWos,10972
|
|
53
|
+
strix/prompts/vulnerabilities/mass_assignment.jinja,sha256=9RTI_waQPvXBBEhzHCzytlbU7zF2Y-B3HuYHeUs7iO8,7176
|
|
54
|
+
strix/prompts/vulnerabilities/path_traversal_lfi_rfi.jinja,sha256=5Zfr424yM2LyFxt9A6q18RhbIjdq1MB6mpjWbG_FA7o,7916
|
|
55
|
+
strix/prompts/vulnerabilities/race_conditions.jinja,sha256=ZHxdZc7v7yvhmUWJK3P3kIzOz3oaYRb2OJEzG1momcg,8372
|
|
56
|
+
strix/prompts/vulnerabilities/rce.jinja,sha256=tgmocWH3Y9FJ3fBeR9DTR7ViBcuH5salGis8vywJ2h8,8425
|
|
57
|
+
strix/prompts/vulnerabilities/sql_injection.jinja,sha256=tdFjkbu5p_di0Zui95o2Eh1v-Ulvwg1qcENDNLswv1Q,8426
|
|
58
|
+
strix/prompts/vulnerabilities/ssrf.jinja,sha256=XMRAclYIyq0JhVSXopTsbZAm-wRxz-zZfDHdaFgVeiw,7899
|
|
59
|
+
strix/prompts/vulnerabilities/xss.jinja,sha256=GG1egKjGw9onilu1azEhU2Hfxu9XjQfBA2j4P4KQRzE,8675
|
|
60
|
+
strix/prompts/vulnerabilities/xxe.jinja,sha256=yyWl5i74YiFZIhQknMPWXLKL0C5gwL6Ra_YB4xddJsc,7841
|
|
61
|
+
strix/runtime/__init__.py,sha256=v2oQ1JnfZXOTU8N3NOEI_MbxNp8BfNj8hTgvjCsNGvY,445
|
|
62
|
+
strix/runtime/docker_runtime.py,sha256=cUkx2S3h7d9lOXGHBb5Sz0tjY178QuVZB6dGcxSwBMY,15595
|
|
63
|
+
strix/runtime/runtime.py,sha256=PRYByipRG9OhtIphIruGBSe4k-glVnYAXH68mikqt78,730
|
|
64
|
+
strix/runtime/tool_server.py,sha256=pKI_cL1aSEFC8b6Dqaz9bRfh0LvcCKwb6ZCN-v6OYls,6618
|
|
65
|
+
strix/telemetry/__init__.py,sha256=8QLHMvrVNLlGKezWTf3mTSmTOLIvDS5xVciry1KVS1Y,130
|
|
66
|
+
strix/telemetry/tracer.py,sha256=DkCD3m3dqely_of6EcYKko3hJDZKgfFE_O4towdqzWA,11586
|
|
67
|
+
strix/tools/__init__.py,sha256=_uTsOImNlJ-q5FFuQBTIYpIAgTETNI7Pm2hkaLE-Z5Y,1743
|
|
68
|
+
strix/tools/agents_graph/__init__.py,sha256=FLJ2kGxXICY2pRKrC0sgIc3w3KhZo7VID7hbwYcgBfM,278
|
|
69
|
+
strix/tools/agents_graph/agents_graph_actions.py,sha256=vftFb1haz3ZZMVBVR8N99aGqhBSPfLEAQCR4L9PLkpQ,20818
|
|
70
|
+
strix/tools/agents_graph/agents_graph_actions_schema.xml,sha256=lgnjltVyDog5T-uW4oFll1RksRfXdLmQyjUVVtFBXoE,12511
|
|
71
|
+
strix/tools/argument_parser.py,sha256=FA9LY0UBtMqDRJ9yHHUzQCbGmpTQvo4xTtLiNRYG2FU,3861
|
|
72
|
+
strix/tools/browser/__init__.py,sha256=7azA1td3CfwCVqMYIIzT0vGM0-JUNq3sZBYB0QnwFDk,75
|
|
73
|
+
strix/tools/browser/browser_actions.py,sha256=ZmHdPoow9R-rkSjopYsY1-56fL7Tm-WDCaIPvs1_hys,7037
|
|
74
|
+
strix/tools/browser/browser_actions_schema.xml,sha256=zZQD8sZWsNnxxnlY3QYDrfKHFu0x6i1vtfSOlIGyiho,9573
|
|
75
|
+
strix/tools/browser/browser_instance.py,sha256=vgb-dJP20SLaBOhFExn-uwfjdISBrHJpG7ewfiKQkYU,18605
|
|
76
|
+
strix/tools/browser/tab_manager.py,sha256=SMkDFOgEr3ADK2rP5Ko2uK-A24-8p0VsbjoxEj5eU-Y,13011
|
|
77
|
+
strix/tools/executor.py,sha256=ED7P7LLCuZk12jO4t8UvB6Ms-xm4kVeu6F4WHetETnM,10223
|
|
78
|
+
strix/tools/file_edit/__init__.py,sha256=8f6VlEoGP627hGtcdLkr63vdrTmdb8uyPIqB0qVgZd8,141
|
|
79
|
+
strix/tools/file_edit/file_edit_actions.py,sha256=Aq-LwzmmfUJrBZWy5TeP9Pxz9TlmeqOSqemD4jBkt2s,3951
|
|
80
|
+
strix/tools/file_edit/file_edit_actions_schema.xml,sha256=tt0_QgSjOtTEy8ordsXUcEiVTePiybgn4aisZJ_qnbc,5477
|
|
81
|
+
strix/tools/finish/__init__.py,sha256=QIMaHYusly8YaFR3zjYsy_CFawwgtTZvOU7gsEumFrw,68
|
|
82
|
+
strix/tools/finish/finish_actions.py,sha256=_M8mmJzPAwSJCG0NOGAhhON24OQMJV16dqZEa_s8HuM,5702
|
|
83
|
+
strix/tools/finish/finish_actions_schema.xml,sha256=CS6Vq3ByyNxv2spRWS4oJcmUzWQRB7jvUAOS8aiWd8o,2294
|
|
84
|
+
strix/tools/notes/__init__.py,sha256=DUpkZUWN21tb9AXCWfJLrKrgLz9YEBVU8KQy1J6cyxU,189
|
|
85
|
+
strix/tools/notes/notes_actions.py,sha256=Y4b7DYJzh7XwwlMTdwThOLuIuuj46m6KiMrMKekTMCE,5771
|
|
86
|
+
strix/tools/notes/notes_actions_schema.xml,sha256=nzirWDyzbPRxaG3jdSjmSCjfY-ggDy1kH7oxAuj-osw,6264
|
|
87
|
+
strix/tools/proxy/__init__.py,sha256=K3BFmT6QWw9heB7l7DnmI-Yj-DOI3BAow6g0GLWsA0c,329
|
|
88
|
+
strix/tools/proxy/proxy_actions.py,sha256=KM4m7pVpbkpx_Srgj9kUiAPZyfMpLI_p-_gCxq6Ojfg,2545
|
|
89
|
+
strix/tools/proxy/proxy_actions_schema.xml,sha256=d87SUKD2J16KQCCFpI5w2y-Ax1NgwOuGO3crr1bFPDw,11567
|
|
90
|
+
strix/tools/proxy/proxy_manager.py,sha256=rmy8c_7jcYl9WeeA3O2lcZBnN7hESpTYxoLCM24VhVE,28933
|
|
91
|
+
strix/tools/python/__init__.py,sha256=l5mFWKbtis61S8lOQY-gFn-vIlc13lu1K-pqqRywOCk,72
|
|
92
|
+
strix/tools/python/python_actions.py,sha256=pXnyvspsV3nh2qNWJTY7m4rzoXYfYQ7mpsVIXd7NC68,1432
|
|
93
|
+
strix/tools/python/python_actions_schema.xml,sha256=XcIUjz5uEoI7J3VFcby0O-0ovm9r9cIoADfpqDGJXlU,7122
|
|
94
|
+
strix/tools/python/python_instance.py,sha256=x8ARTRAmAjdotD3TbtN0O4Q3nKNjfOzxTMN7aGU99H8,5547
|
|
95
|
+
strix/tools/python/python_manager.py,sha256=C_k8C8uQ6ESpAgzhbf3km9jeFyI52SGd2m36mD1ErhM,4235
|
|
96
|
+
strix/tools/registry.py,sha256=LhByebT-OiIfc2g-hxlSopzHoNIPiKfPJRvTAK37TOQ,6025
|
|
97
|
+
strix/tools/reporting/__init__.py,sha256=_cYxb3OP0vZtCwO_ExLBjhAn1ECaG-SH1Z4wfGDyT1Y,110
|
|
98
|
+
strix/tools/reporting/reporting_actions.py,sha256=1d0QfWWqjaamErfQk5Fms3FxdSJoi3vuZ0e17V2Nh_Y,2192
|
|
99
|
+
strix/tools/reporting/reporting_actions_schema.xml,sha256=y_g0iuyBuCh79fvA0ri8fOPlXY7uUd-P-mdzXLUyIJg,1629
|
|
100
|
+
strix/tools/terminal/__init__.py,sha256=xvflcrbLQ31o_K3cWFsIhTm7gxY5JF0nVnhOIadwFV0,80
|
|
101
|
+
strix/tools/terminal/terminal_actions.py,sha256=9BGsK7Io7PyW8YGpJfXHeJTP3AVqBAgaKZl-1YziF8Y,888
|
|
102
|
+
strix/tools/terminal/terminal_actions_schema.xml,sha256=L7dzjvKNZpJA0qDGp1gCBuwXiY4mtjOq7T2tNDmUPA4,7257
|
|
103
|
+
strix/tools/terminal/terminal_manager.py,sha256=cTWosczkMoSRSjQ-xPR56D5cIYcylA3NAZb4FSi32Ko,4838
|
|
104
|
+
strix/tools/terminal/terminal_session.py,sha256=peHQrYCty-KHYECbT8jOww06ayGUK_rAcnTlYIfQe00,16008
|
|
105
|
+
strix/tools/thinking/__init__.py,sha256=-v4fG4fyFkqsTSWspDtCT6IRlyRM8zeUwEM-kscaxDE,58
|
|
106
|
+
strix/tools/thinking/thinking_actions.py,sha256=Ll96ZjlnOS5zSRSCmGzi7hcgyURBlCdq4xcstEhdRao,564
|
|
107
|
+
strix/tools/thinking/thinking_actions_schema.xml,sha256=otD4dOhQx4uyudLnjA_HIP6EmUS5NvKG4l3CVFrg8go,2756
|
|
108
|
+
strix/tools/web_search/__init__.py,sha256=m5PCHXqeNVraLRLNIbh54Z2N4Y_75d-ftqwyq3dbCd0,70
|
|
109
|
+
strix/tools/web_search/web_search_actions.py,sha256=LRS3AjGO4JLIyu_B6-ogfWOsnENwqrrCa8Rz0vxuuGQ,3107
|
|
110
|
+
strix/tools/web_search/web_search_actions_schema.xml,sha256=Ihc3Gv4LaPI_MzBbwZOt3y4pwg9xmtl8KfPNvFihEP4,4805
|
|
111
|
+
strix_agent-0.3.1.dist-info/LICENSE,sha256=fblpcTQlHjFL2NOSV_4XDJiz4q2bLtZ-l6yvlhPnueM,11345
|
|
112
|
+
strix_agent-0.3.1.dist-info/METADATA,sha256=NwABK0FvzSF3eysmrNZXF1CHymAOOjddgVQXYMtLSLM,9066
|
|
113
|
+
strix_agent-0.3.1.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
|
114
|
+
strix_agent-0.3.1.dist-info/entry_points.txt,sha256=F_Uflti5ggiBHZ9wUHTqacARQavQDiditz0mRN0qnAA,51
|
|
115
|
+
strix_agent-0.3.1.dist-info/RECORD,,
|