strix-agent 0.1.12__tar.gz → 0.1.13__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 (98) hide show
  1. {strix_agent-0.1.12 → strix_agent-0.1.13}/PKG-INFO +1 -1
  2. {strix_agent-0.1.12 → strix_agent-0.1.13}/pyproject.toml +1 -1
  3. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/StrixAgent/system_prompt.jinja +8 -0
  4. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/agents_graph/agents_graph_actions.py +3 -0
  5. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/terminal/terminal_actions_schema.xml +5 -4
  6. {strix_agent-0.1.12 → strix_agent-0.1.13}/LICENSE +0 -0
  7. {strix_agent-0.1.12 → strix_agent-0.1.13}/README.md +0 -0
  8. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/__init__.py +0 -0
  9. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/StrixAgent/__init__.py +0 -0
  10. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/StrixAgent/strix_agent.py +0 -0
  11. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/__init__.py +0 -0
  12. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/base_agent.py +0 -0
  13. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/agents/state.py +0 -0
  14. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/__init__.py +0 -0
  15. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/app.py +0 -0
  16. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/assets/cli.tcss +0 -0
  17. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/main.py +0 -0
  18. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/__init__.py +0 -0
  19. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/agents_graph_renderer.py +0 -0
  20. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/base_renderer.py +0 -0
  21. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/browser_renderer.py +0 -0
  22. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/file_edit_renderer.py +0 -0
  23. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/finish_renderer.py +0 -0
  24. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/notes_renderer.py +0 -0
  25. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/proxy_renderer.py +0 -0
  26. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/python_renderer.py +0 -0
  27. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/registry.py +0 -0
  28. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/reporting_renderer.py +0 -0
  29. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/scan_info_renderer.py +0 -0
  30. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/terminal_renderer.py +0 -0
  31. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/thinking_renderer.py +0 -0
  32. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/user_message_renderer.py +0 -0
  33. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tool_components/web_search_renderer.py +0 -0
  34. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/cli/tracer.py +0 -0
  35. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/__init__.py +0 -0
  36. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/config.py +0 -0
  37. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/llm.py +0 -0
  38. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/memory_compressor.py +0 -0
  39. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/request_queue.py +0 -0
  40. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/llm/utils.py +0 -0
  41. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/__init__.py +0 -0
  42. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/coordination/root_agent.jinja +0 -0
  43. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/authentication_jwt.jinja +0 -0
  44. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/business_logic.jinja +0 -0
  45. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/csrf.jinja +0 -0
  46. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/idor.jinja +0 -0
  47. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/race_conditions.jinja +0 -0
  48. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/rce.jinja +0 -0
  49. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/sql_injection.jinja +0 -0
  50. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/ssrf.jinja +0 -0
  51. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/xss.jinja +0 -0
  52. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/prompts/vulnerabilities/xxe.jinja +0 -0
  53. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/runtime/__init__.py +0 -0
  54. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/runtime/docker_runtime.py +0 -0
  55. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/runtime/runtime.py +0 -0
  56. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/runtime/tool_server.py +0 -0
  57. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/__init__.py +0 -0
  58. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/agents_graph/__init__.py +0 -0
  59. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/agents_graph/agents_graph_actions_schema.xml +0 -0
  60. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/argument_parser.py +0 -0
  61. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/browser/__init__.py +0 -0
  62. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/browser/browser_actions.py +0 -0
  63. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/browser/browser_actions_schema.xml +0 -0
  64. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/browser/browser_instance.py +0 -0
  65. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/browser/tab_manager.py +0 -0
  66. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/executor.py +0 -0
  67. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/file_edit/__init__.py +0 -0
  68. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/file_edit/file_edit_actions.py +0 -0
  69. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/file_edit/file_edit_actions_schema.xml +0 -0
  70. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/finish/__init__.py +0 -0
  71. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/finish/finish_actions.py +0 -0
  72. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/finish/finish_actions_schema.xml +0 -0
  73. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/notes/__init__.py +0 -0
  74. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/notes/notes_actions.py +0 -0
  75. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/notes/notes_actions_schema.xml +0 -0
  76. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/proxy/__init__.py +0 -0
  77. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/proxy/proxy_actions.py +0 -0
  78. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/proxy/proxy_actions_schema.xml +0 -0
  79. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/proxy/proxy_manager.py +0 -0
  80. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/python/__init__.py +0 -0
  81. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/python/python_actions.py +0 -0
  82. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/python/python_actions_schema.xml +0 -0
  83. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/python/python_instance.py +0 -0
  84. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/python/python_manager.py +0 -0
  85. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/registry.py +0 -0
  86. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/reporting/__init__.py +0 -0
  87. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/reporting/reporting_actions.py +0 -0
  88. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/reporting/reporting_actions_schema.xml +0 -0
  89. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/terminal/__init__.py +0 -0
  90. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/terminal/terminal_actions.py +0 -0
  91. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/terminal/terminal_manager.py +0 -0
  92. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/terminal/terminal_session.py +0 -0
  93. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/thinking/__init__.py +0 -0
  94. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/thinking/thinking_actions.py +0 -0
  95. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/thinking/thinking_actions_schema.xml +0 -0
  96. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/web_search/__init__.py +0 -0
  97. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/web_search/web_search_actions.py +0 -0
  98. {strix_agent-0.1.12 → strix_agent-0.1.13}/strix/tools/web_search/web_search_actions_schema.xml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strix-agent
3
- Version: 0.1.12
3
+ Version: 0.1.13
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "strix-agent"
3
- version = "0.1.12"
3
+ version = "0.1.13"
4
4
  description = "Open-source AI Hackers for your apps"
5
5
  authors = ["Strix <hi@usestrix.com>"]
6
6
  readme = "README.md"
@@ -24,6 +24,8 @@ USER INTERACTION:
24
24
  - NEVER be redundant or repeat information - say it once and move on
25
25
  - If you need user input, IMMEDIATELY call wait_for_message tool
26
26
  - Never ask questions without calling wait_for_message in the same response
27
+ - Minimize user messaging: avoid redundancy and repetition; consolidate updates into a single concise message
28
+ - If there is nothing to execute and no user query to answer any more: do NOT send filler/repetitive text — either call wait_for_message or finish your work (subagents: agent_finish; root: finish_scan)
27
29
  </communication_rules>
28
30
 
29
31
  <execution_guidelines>
@@ -114,6 +116,8 @@ VALIDATION REQUIREMENTS:
114
116
  - Independent verification through subagent
115
117
  - Document complete attack chain
116
118
  - Keep going until you find something that matters
119
+ - A vulnerability is ONLY considered reported when a reporting agent uses create_vulnerability_report with full details. Mentions in agent_finish, finish_scan, or messages to the user are NOT sufficient
120
+ - Do NOT patch/fix before reporting: first create the vulnerability report via create_vulnerability_report (by the reporting agent). Only after reporting is completed should fixing/patching proceed
117
121
  </execution_guidelines>
118
122
 
119
123
  <vulnerability_focus>
@@ -193,6 +197,10 @@ SIMPLE WORKFLOW RULES:
193
197
  4. **MULTIPLE VULNS = MULTIPLE CHAINS** - Each vulnerability finding gets its own validation chain
194
198
  5. **CREATE AGENTS AS YOU GO** - Don't create all agents at start, create them when you discover new attack surfaces
195
199
  6. **ONE JOB PER AGENT** - Each agent has ONE specific task only
200
+ 7. **VIEW THE AGENT GRAPH BEFORE ACTING** - Always call view_agent_graph before creating or messaging agents to avoid duplicates and to target correctly
201
+ 8. **SCALE AGENT COUNT TO SCOPE** - Number of agents should correlate with target size and difficulty; avoid both agent sprawl and under-staffing
202
+ 9. **CHILDREN ARE MEANINGFUL SUBTASKS** - Child agents must be focused subtasks that directly support their parent's task; do NOT create unrelated children
203
+ 10. **UNIQUENESS** - Do not create two agents with the same task; ensure clear, non-overlapping responsibilities for every agent
196
204
 
197
205
  WHEN TO CREATE NEW AGENTS:
198
206
 
@@ -53,6 +53,9 @@ def _run_agent_in_thread(
53
53
  <instructions>
54
54
  - You have {context_status}
55
55
  - Inherited context is for BACKGROUND ONLY - don't continue parent's work
56
+ - Maintain strict self-identity: never speak as or for your parent
57
+ - Do not merge your conversation with the parent's;
58
+ - Do not claim parent's actions or messages as your own
56
59
  - Focus EXCLUSIVELY on your delegated task above
57
60
  - Work independently with your own approach
58
61
  - Use agent_finish when complete to report back to parent
@@ -25,7 +25,7 @@
25
25
  Use is_input=true for regular text input to running processes.</description>
26
26
  </parameter>
27
27
  <parameter name="timeout" type="number" required="false">
28
- <description>Optional timeout in seconds for command execution. If not provided, uses default timeout behavior. Set to higher values for long-running commands like installations or tests. Default is 10 seconds.</description>
28
+ <description>Optional timeout in seconds for command execution. CAPPED AT 60 SECONDS. If not provided, uses default wait (30s). On timeout, the command keeps running and the tool returns with status 'running'. For truly long-running tasks, prefer backgrounding with '&'.</description>
29
29
  </parameter>
30
30
  <parameter name="terminal_id" type="string" required="false">
31
31
  <description>Identifier for the terminal session. Defaults to "default". Use different IDs to manage multiple concurrent terminal sessions.</description>
@@ -63,14 +63,15 @@
63
63
  3. LONG-RUNNING COMMANDS:
64
64
  - Commands never get killed automatically - they keep running in background
65
65
  - Set timeout to control how long to wait for output before returning
66
+ - For daemons/servers or very long jobs, append '&' to run in background
66
67
  - Use empty command "" to check progress (waits for timeout period to collect output)
67
68
  - Use C-c, C-d, C-z to interrupt processes (works automatically, no is_input needed)
68
69
 
69
70
  4. TIMEOUT HANDLING:
70
- - Timeout controls how long to wait before returning current output
71
+ - Timeout controls how long to wait before returning current output (max 60s cap)
71
72
  - Commands are NEVER killed on timeout - they keep running
72
73
  - After timeout, you can run new commands or check progress with empty command
73
- - All commands return status "completed" - you have full control
74
+ - On timeout, status is 'running'; on completion, status is 'completed'
74
75
 
75
76
  5. MULTIPLE TERMINALS: Use different terminal_id values to run multiple concurrent sessions.
76
77
 
@@ -97,7 +98,7 @@
97
98
  # Run a command with custom timeout
98
99
  <function=terminal_execute>
99
100
  <parameter=command>npm install</parameter>
100
- <parameter=timeout>120</parameter>
101
+ <parameter=timeout>60</parameter>
101
102
  </function>
102
103
 
103
104
  # Check progress of running command (waits for timeout to collect output)
File without changes
File without changes