You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ You can find a detailed overview of the taskflow grammar [here](https://github.c
20
20
21
21
## Use Cases and Examples
22
22
23
-
The Seclab Taskflow Agent framework was primarily designed to fit the iterative feedback loop driven work involved in Agentic security research workflows and vulnerability triage tasks.
23
+
The Seclab Taskflow Agent framework was primarily designed to fit the iterative feedback loop driven work involved in Agentic security research workflows and vulnerability triage tasks.
24
24
25
25
Its design philosophy is centered around the belief that a prompt level focus of capturing vulnerability patterns will greatly improve and scale security research results as frontier model capabilities evolve over time.
26
26
@@ -76,15 +76,15 @@ python main.py -t example
76
76
77
77
## Deploying from Docker
78
78
79
-
You can deploy the Taskflow Agent via its Docker image using `docker/run.sh`.
79
+
You can deploy the Taskflow Agent via its Docker image using `docker/run.sh`.
80
80
81
81
WARNING: the Agent Docker image is _NOT_ intended as a security boundary but strictly a deployment convenience.
82
82
83
83
The image entrypoint is `main.py` and thus it operates the same as invoking the Agent from source directly.
84
84
85
85
You can find the Docker image for the Seclab Taskflow Agent [here](https://github.com/GitHubSecurityLab/seclab-taskflow-agent/pkgs/container/seclab-taskflow-agent) and how it is built [here](release_tools/).
86
86
87
-
Note that this image is based on a public release of the Taskflow Agent, and you will have to mount any custom taskflows, personalities, or prompts into the image for them to be available to the Agent.
87
+
Note that this image is based on a public release of the Taskflow Agent, and you will have to mount any custom taskflows, personalities, or prompts into the image for them to be available to the Agent.
88
88
89
89
Optional image mount points to supply custom data are configured via the environment:
90
90
@@ -107,6 +107,12 @@ Example: deploying a custom taskflow (custom_taskflow.yaml):
For more advanced scenarios like e.g. making custom MCP server code available, you can alter the run script to mount your custom code into the image and configure your toolboxes to use said code accordingly.
111
117
112
118
Example: a custom MCP server deployment via Docker image:
@@ -163,7 +169,7 @@ personality: |
163
169
164
170
task: |
165
171
Echo user inputs using the echo tools.
166
-
172
+
167
173
# personality toolboxes map to mcp servers made available to this Agent
168
174
toolboxes:
169
175
- echo
@@ -210,13 +216,13 @@ taskflow:
210
216
`vulnerable_c_example`memory key and explain why `strcpy`
211
217
is insecure in the C programming language. Do this before handing off
212
218
to any other agent.
213
-
219
+
214
220
Then provide a summary of a high impact CVE ID that involved a `strcpy`
215
221
based buffer overflow based on your GHSA knowledge as an additional
216
222
example.
217
223
218
224
Finally, why are apples and oranges healthy to eat?
219
-
225
+
220
226
# taskflows can set temporary environment variables, these support the general
221
227
# "{{ env FROM_EXISTING_ENVIRONMENT }" pattern we use elsewhere as well
222
228
# these environment variables can then be made available to any stdio mcp server
@@ -252,11 +258,11 @@ Taskflows support [Agent handoffs](https://openai.github.io/openai-agents-python
252
258
253
259
See the [taskflow examples](taskflows/examples) for other useful Taskflow patterns such as repeatable and asynchronous templated prompts.
254
260
255
-
## License
261
+
## License
256
262
257
263
This project is licensed under the terms of the MIT open source license. Please refer to the [LICENSE](./LICENSE) file for the full terms.
0 commit comments