Tracecat is an open-source automation platform aimed at enhancing security team operations by providing AI-assisted workflows, alert orchestration, and case management. Managed by TracecatHQ, the project is in its public alpha stage and exhibits active development with a focus on expanding its capabilities and refining user experience. It leverages technologies like TypeScript, Next.js, and FastAPI, supporting both cloud-based and self-hosted deployments.
UI Enhancements:
frontend/src/components/workspace/panel/action/form.tsx
).frontend/src/components/workspace/panel/workflow/form.tsx
).Build Configurations:
/Dockerfile
).Documentation Updates:
/docs/installation.md
).backend/integrations/aws_guardduty.py
).react-query
, react-hook-form
, and Next.js
, which positions it well for future scalability but also requires keeping up with frequent updates and changes in these libraries.Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Chris Lo | ![]() |
2 | 4/3/1 | 17 | 73 | 15439 |
Daryl Lim | ![]() |
1 | 0/0/0 | 1 | 1 | 2 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Tracecat is an open-source automation platform designed for security teams, providing an alternative to Tines and Splunk SOAR. It facilitates the building of AI-assisted workflows, orchestration of alerts, and case management to expedite the resolution process. The project is managed by TracecatHQ and is currently in public alpha, indicating it is in the early stages of development but available for public use and feedback. Tracecat is built using robust technologies such as TypeScript, Next.js, and FastAPI, and leverages open-source AI infrastructure to enhance its capabilities.
The project's repository on GitHub shows active development with 802 commits across 4 branches, managed under the Apache License 2.0. The platform supports both cloud-based and self-hosted deployments, providing flexibility depending on the user's infrastructure preference.
UI Enhancements:
Build Configurations:
Documentation:
Overall, the development team at TracecatHQ is making significant strides in enhancing the platform's functionality and usability, driven by community feedback and a clear roadmap for future features.
The TracecatHQ/tracecat repository currently has 21 open GitHub issues. Recent activity indicates a focus on integrating third-party services, improving security measures, and enhancing the user experience through better UI and logging functionalities.
Notably, issues such as #136 and #132 suggest an active community contributing ideas for integrating external mail services and large language models (LLMs), respectively. The discussion in these issues reveals a collaborative effort between contributors and maintainers to evaluate and implement these suggestions.
A common theme among the issues is the enhancement of the project's infrastructure to support more robust features, such as webhook support (#14), integration with security services like CrowdStrike (#7), and improvements in secrets management (#122). These enhancements indicate a drive towards making TracecatHQ/tracecat a more secure and versatile platform.
Issue #136: [Feature Request | Q&A] Use of alternative mail services
Issue #132: Suggestion for this task - Bring-your-own LLM (OpenAI, Mistral, Anthropic etc.)
Issue #14: Webhook support get request method
Issue #7: CrowdStrike Integration
These issues highlight ongoing efforts to expand the project’s capabilities and address user needs effectively. The active discussions and recent updates suggest a responsive and engaged community and development team.
ENABLE_TELEMETRY
environment variable. Given its draft status and the duration it has been open, it might require follow-up or review to move forward.PR #145: This PR was merged successfully 5 days ago. It focused on minimizing the action form in the UI, suggesting a simplification or streamlining of user interactions.
PR #142: Another UI improvement that organizes workflow form sections into accordions was merged 6 days ago. This change likely enhances the user interface by making it more organized and possibly improving user experience.
PR #141: Merged 8 days ago, this PR aimed at reducing noise in the onboarding flow and replacing workflows dropdown with breadcrumbs, which could help new users navigate the platform more effectively.
PR #140: Notably, this PR was closed without being merged 8 days ago. It attempted to set up an nginx reverse proxy to address Docker networking issues reported by Linux users. The closure comment indicates an inability to reproduce the issue, hence not risking changes that might affect existing setups. This decision leaves potential networking issues unresolved, which could be critical depending on their impact on users.
PR #139: A dependency update for Next.js was merged 16 days ago. Regular dependency updates are crucial for security and performance but typically don't introduce significant changes to functionality.
PR #137 and PR #135: Both PRs involved backend fixes and improvements, such as removing multiprocessing from run integration actions and splitting runner URL into private/public environment variables, respectively. These were merged around 18 days ago.
PR #134: Merged 18 days ago, this PR upgraded logging capabilities by introducing structured logging and disk logging, which can significantly aid in debugging and monitoring.
Networking Issues: PR #140 attempted to address Docker networking inconsistencies but was closed without merging. This unresolved issue could affect users depending on their setup.
Logging Improvements: PR #134's enhancements in logging are significant as they improve the observability and debuggability of the application.
UI Enhancements: Several merged PRs (e.g., #145, #142) focused on improving the user interface, which is crucial for user retention and satisfaction.
The most critical observation is the closure of PR #140 without merging, which leaves potential Docker networking issues unaddressed. This could be problematic for Linux users or others in similar environments. The project seems active with recent improvements in both backend functionality and frontend UI enhancements. However, attention might be needed to ensure that open drafts like PR #58 are either progressed or closed to maintain momentum in project development.
frontend/src/components/workspace/panel/action/form.tsx
This React component file defines a form for configuring actions within a workflow. It uses various UI components and hooks to manage form state, validation, and submission.
react-hook-form
with Zod for schema validation, which is a good choice for robust form handling and validation.Accordion
, Button
, Input
, and Textarea
which are likely part of a design system, ensuring UI consistency.react-query
for fetching and mutating data, which is effective for managing server state and caching.cn
for conditional class names, which helps in managing dynamic styles.frontend/src/components/workspace/panel/workflow/controls.tsx
This file defines controls for triggering workflows. It includes components for selecting actions and specifying payloads.
Accordion
, Button
, and Select
, maintaining consistency in the user interface.frontend/src/components/workspace/panel/workflow/form.tsx
This component handles the form used for editing workflow properties such as title and description.
react-hook-form
integrated with Zod for schema validation, which simplifies form state management and validation.react-query
mutation to update workflow details, providing built-in handling for loading states and errors.frontend/src/components/workspace/panel/workflow/runs.tsx
This file displays past runs of a workflow, including their status and results. It provides a detailed view into each run's actions.
react-query
for fetching data about workflow runs, leveraging its caching and background updating features.Accordion
, Popover
, and Card
.frontend/src/components/nav/workflow-nav.tsx
This component provides navigation specific to workflows, including links to different sections of a workflow and a toggle switch for enabling/disabling the workflow.
useWorkflowMetadata
to manage state related to the current workflow.Tabs
, Switch
, and Breadcrumb
.The codebase demonstrates good use of modern React patterns and libraries such as react-query, react-hook-form, and Zod. There is consistent use of a UI component library which helps maintain consistency across the application. However, there are opportunities to improve error handling, user feedback, and code organization to enhance maintainability and user experience.