[{"data":1,"prerenderedAt":7080},["ShallowReactive",2],{"blog-posts":3},[4,225,980,1169,1732,2420,2511,3069,3552,3911,4146,4260,4655,4741,5084,5316,5512,5566,5675,5748,5927,6063,6238,6411,6561,6844,7043],{"id":5,"title":6,"author":7,"body":8,"coverImage":208,"createdAt":209,"description":210,"excerpt":211,"extension":212,"meta":213,"navigation":214,"path":215,"readingTime":216,"seo":221,"stem":222,"subtitle":211,"useFirstImageAsCover":223,"__hash__":224},"blog\u002Fblog\u002F2026-04-10-release-v0-56-0.md","Caido v0.56.0","Ian Bouchard",{"type":9,"value":10,"toc":194},"minimark",[11,15,20,23,27,30,34,37,41,44,48,53,63,67,151,155],[12,13,14],"p",{},"This release adds many QoL improvements including Match & Replace in Replay, connecting to remote instances via HTTPS, and collection\u002Fsession re-ordering in Replay.",[16,17,19],"h2",{"id":18},"match-replace-in-replay","🔥 Match & Replace in Replay",[12,21,22],{},"You can now use Match & Replace functionality directly within Replay sessions, allowing you to modify requests on-the-fly during replay operations.",[16,24,26],{"id":25},"https-remote-instance-connection","🌐 HTTPS Remote Instance Connection",[12,28,29],{},"The desktop application now supports connecting to remote Caido instances over HTTPS, providing secure connections to your remote deployments.",[16,31,33],{"id":32},"collection-and-session-reordering","📋 Collection and Session Reordering",[12,35,36],{},"Replay collections and sessions can now be reordered, giving you better organization and control over your testing workflows.",[16,38,40],{"id":39},"websocket-message-management","🔗 WebSocket Message Management",[12,42,43],{},"You now have the ability to delete WebSocket messages and history, helping keep your workspace clean and organized.",[16,45,47],{"id":46},"developer-features","👩‍💻 Developer Features",[49,50,52],"h3",{"id":51},"️-backend-sdk","🛠️ Backend SDK",[54,55,56,60],"ul",{},[57,58,59],"li",{},"Added file subscription functionality for plugins",[57,61,62],{},"Enhanced environment SDK to retrieve variables from all environments",[16,64,66],{"id":65},"features","🔥 Features",[54,68,69,79,87,95,103,111,119,127,135,143],{},[57,70,71,78],{},[72,73,77],"a",{"href":74,"rel":75},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1981",[76],"nofollow","#1981",": Add subscription for files",[57,80,81,86],{},[72,82,85],{"href":83,"rel":84},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1502",[76],"#1502",": Enable Reordering Collections in Replay",[57,88,89,94],{},[72,90,93],{"href":91,"rel":92},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F620",[76],"#620",": Allow reordering the rows inside collection in repeater",[57,96,97,102],{},[72,98,101],{"href":99,"rel":100},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1488",[76],"#1488",": Enable M&R in Replay",[57,104,105,110],{},[72,106,109],{"href":107,"rel":108},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1542",[76],"#1542",": Enable Deletion of WebSockets Messages\u002FHistory",[57,112,113,118],{},[72,114,117],{"href":115,"rel":116},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F708",[76],"#708",": Allow creating pre-auth instances",[57,120,121,126],{},[72,122,125],{"href":123,"rel":124},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2058",[76],"#2058",": Add an onboarding screen for labs.caido.io",[57,128,129,134],{},[72,130,133],{"href":131,"rel":132},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2059",[76],"#2059",": Add an onboarding screen for docs",[57,136,137,142],{},[72,138,141],{"href":139,"rel":140},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2079",[76],"#2079",": Add environment sdk to retrieve variables from all environments",[57,144,145,150],{},[72,146,149],{"href":147,"rel":148},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2116",[76],"#2116",": Allow https for remote Caido instance in desktop",[16,152,154],{"id":153},"bug-fixes","🐛 Bug Fixes",[54,156,157,165,173,181],{},[57,158,159,164],{},[72,160,163],{"href":161,"rel":162},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2073",[76],"#2073",": Text color badge",[57,166,167,172],{},[72,168,171],{"href":169,"rel":170},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1536",[76],"#1536",": Deletion of a Sitemap Node Still Displays the Corresponding items",[57,174,175,180],{},[72,176,179],{"href":177,"rel":178},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1768",[76],"#1768",": Remove the ability to load a Simple List from a file in Automate",[57,182,183,188,189,193],{},[72,184,187],{"href":185,"rel":186},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1814",[76],"#1814",": Text Overflow in the ",[190,191,192],"code",{},"Target"," Column of the Log Panel",{"title":195,"searchDepth":196,"depth":196,"links":197},"",2,[198,199,200,201,202,206,207],{"id":18,"depth":196,"text":19},{"id":25,"depth":196,"text":26},{"id":32,"depth":196,"text":33},{"id":39,"depth":196,"text":40},{"id":46,"depth":196,"text":47,"children":203},[204],{"id":51,"depth":205,"text":52},3,{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2026-04-10-release-v0-56-0\u002Fog.png","2026-04-10","Release Notes",null,"md",{},true,"\u002Fblog\u002F2026-04-10-release-v0-56-0",{"text":217,"minutes":218,"time":219,"words":220},"2 min read",1.125,67500,225,{"title":6,"description":210},"blog\u002F2026-04-10-release-v0-56-0",false,"pTgR-9ZGZvbhg5551og-yGpoGFtvrVqBSWgOizMDGdY",{"id":226,"title":227,"author":228,"body":229,"coverImage":967,"createdAt":968,"description":195,"excerpt":211,"extension":212,"meta":969,"navigation":214,"path":970,"readingTime":971,"seo":976,"stem":977,"subtitle":978,"useFirstImageAsCover":223,"__hash__":979},"blog\u002Fblog\u002F2026-03-24-ai-enhanced-hacking.md","The Practitioner’s Guide to AI-Enhanced Hacking","Andrew Pratt",{"type":9,"value":230,"toc":957},[231,234,237,240,284,287,290,311,314,317,361,381,385,388,391,394,397,400,403,418,421,424,433,436,456,459,462,471,497,504,513,516,519,567,570,578,585,647,654,657,666,669,718,727,730,733,736,739,769,772,780,783,786,789,792,818,821,824,827,836,862,865,873,898,904,926,930,933,936,939,942,953],[12,232,233],{},"For decades, security researchers have sought to optimize the efficacy and efficiency of their workflows by carefully curating and orchestrating a combination of tools such as vulnerability scanners, web crawlers, and other automation scripts. However, even the most curated toolkits and configurations are inherently constrained by the functionality of each individual component.",[12,235,236],{},"Advancements in the field of AI have provided a dynamic solution. With the ability to understand natural language and gain a contextual understanding of the task at hand, AI acts as an intelligent collaborator rather than a fixed utility.",[12,238,239],{},"In this article, we will explore the various ways in which AI can be leveraged to enhance your hacking workflow.",[54,241,242,248,254,260,266,272,278],{},[57,243,244],{},[72,245,247],{"href":246},"#chat-bots","Chat Bots",[57,249,250],{},[72,251,253],{"href":252},"#ai-agents","AI Agents",[57,255,256],{},[72,257,259],{"href":258},"#mcp-servers","MCP Servers",[57,261,262],{},[72,263,265],{"href":264},"#skills","Skills",[57,267,268],{},[72,269,271],{"href":270},"#local-models","Local Models",[57,273,274],{},[72,275,277],{"href":276},"#ai-frameworks","AI Frameworks",[57,279,280],{},[72,281,283],{"href":282},"#ai-extensions","AI Extensions",[16,285,247],{"id":286},"chat-bots",[12,288,289],{},"Modern chat bots are powered by large language models (LLMs), which enable natural, human-like conversations with AI and are the most accessible way to get started with AI-enhanced hacking.",[12,291,292,293,298,299,304,305,310],{},"The web applications of AI providers such as ",[72,294,297],{"href":295,"rel":296},"https:\u002F\u002Fclaude.ai\u002F",[76],"Claude",", ",[72,300,303],{"href":301,"rel":302},"https:\u002F\u002Fchatgpt.com\u002F",[76],"ChatGPT",", and ",[72,306,309],{"href":307,"rel":308},"https:\u002F\u002Fgemini.google.com\u002F",[76],"Gemini"," load a user-friendly interface for entering discussions with chat bots.",[12,312,313],{},"Chat bots can act as knowledgeable tutors to help you gain a better understanding of concepts and techniques you are trying to learn - including those related to cybersecurity.",[12,315,316],{},"However, their true power lies in their ability to proficiently read and write code at machine speed with prompts similar to:",[54,318,319,325,330,335,340],{},[57,320,321],{},[322,323,324],"em",{},"\"Discover sources and sinks for user input and check for insufficient validation, sanitization, encoding, or faulty regex checks.\"",[57,326,327],{},[322,328,329],{},"\"Identify any referenced endpoints and request parameters.\"",[57,331,332],{},[322,333,334],{},"\"Check for any exposed secrets such as credentials, API keys, or authentication tokens that have accidentally been left in these files\".",[57,336,337],{},[322,338,339],{},"\"Identify feature flags or toggles that could expose additional functionality.\"",[57,341,342],{},[322,343,344,345,348,349,352,353,356,357,360],{},"\"Write a Python 3 script that will make the following request to ",[190,346,347],{},"https:\u002F\u002Fapi.example.com\u002Fendpoint",", parse the JSON body data of the response and collect every string value where the key is ",[190,350,351],{},"\"uuid\""," and the value starts with ",[190,354,355],{},"platform:org:",", and write the values to a ",[190,358,359],{},"uuid-wordlist.txt"," file.\"",[12,362,363,364,368,369,374,375,380],{},"As a demonstration, by providing the HTML document returned in the response to the ",[365,366,367],"strong",{},"GET \u002F?name=test HTTP\u002F1.1"," request from ",[72,370,373],{"href":371,"rel":372},"https:\u002F\u002Flabs.caido.io\u002Fhubs\u002Freflected-xss",[76],"Caido's Reflected XSS lab"," to the chatbot of the AI-integrated, developer-focused IDE ",[72,376,379],{"href":377,"rel":378},"https:\u002F\u002Fcursor.com\u002F",[76],"Cursor",", the model is able to identify both XSS vulnerabilities and provide working payloads.",[382,383],"img",{"src":384},"\u002Fimages\u002Fblog\u002F2026-03-24-ai-enhanced-hacking\u002Fcursor-xss.webp",[12,386,387],{},"Code snippet review and generation, tasks that previously required time and effort to manually complete, can now be accomplished by an AI companion, freeing you to focus on other workloads. The time saved affords the luxury of iterating through code specific to individual targets instead of relying on generic, one-size-fits-all solutions.",[12,389,390],{},"This can be the difference between a vulnerability report being passed to a security team rather than being marked as a duplicate.",[16,392,253],{"id":393},"ai-agents",[12,395,396],{},"Although chat bots are a powerful tool, their capabilities are limited by the back and forth nature of conversation-based interactions. Manually obtaining and providing content so an agent can gain the context it needs to achieve a desired outcome can be time-consuming and, therefore, inefficient.",[12,398,399],{},"To address this limitation, LLMs can be configured to carry out sequences of actions to accomplish multi-step workflows with a high degree of independence. Once a model is equipped with the necessary resources to execute a workflow autonomously, it becomes an AI \"agent\".",[12,401,402],{},"In contrast to automation solutions of the past, AI agents are more capable of adjusting to the variable parameters of a workflow and are able to make intelligent decisions based on the specific context of the task at hand.",[12,404,405,406,411,412,417],{},"In addition to Cursor, other AI tools like ",[72,407,410],{"href":408,"rel":409},"https:\u002F\u002Fclaude.com\u002Fproduct\u002Fclaude-code",[76],"Claude Code"," and ",[72,413,416],{"href":414,"rel":415},"https:\u002F\u002Fopenai.com\u002Fcodex\u002F",[76],"Codex"," can be easily configured with agentic properties.",[12,419,420],{},"In the remainder of this article, we will explore the various ways LLMs can be extended to become AI agents.",[16,422,259],{"id":423},"mcp-servers",[12,425,426,427,432],{},"The recent introduction of the ",[72,428,431],{"href":429,"rel":430},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fdocs\u002Fgetting-started\u002Fintro",[76],"Model Context Protocol (MCP)"," has provided a standardization for connecting AI agents to external systems.",[12,434,435],{},"Based on the client-server architecture model, the key participants of the protocol are the:",[54,437,438,444,450],{},[57,439,440,443],{},[365,441,442],{},"MCP Host",": The AI application that coordinates and manages one or multiple MCP clients.",[57,445,446,449],{},[365,447,448],{},"MCP Client",": A component that maintains a connection to an MCP server and obtains context from an MCP server for the MCP host to use.",[57,451,452,455],{},[365,453,454],{},"MCP Server",": A program that provides context to MCP clients.",[382,457],{"src":458},"\u002Fimages\u002Fblog\u002F2026-03-24-ai-enhanced-hacking\u002Fmcp-diagram.webp",[12,460,461],{},"Once a connection is established, the resources\u002Ffunctionality made available by the MCP server can be accessed by the AI agent of the MCP host.",[12,463,464,465,470],{},"For instance, the community-developed ",[72,466,469],{"href":467,"rel":468},"https:\u002F\u002Fgithub.com\u002Fc0tton-fluff\u002Fcaido-mcp-server",[76],"Caido MCP Server"," allows AI agents to instantiate authenticated client connections to your Caido instance. Once connected, the agent gains controlled access to project data and a suite of tools it can use to control Caido when instructed to do so with prompts similar to:",[54,472,473,482,487,492],{},[57,474,475],{},[322,476,477,478,481],{},"\"List all POST requests to the ",[190,479,480],{},"\u002Fapi"," endpoint.\"",[57,483,484],{},[322,485,486],{},"\"Send this request in Replay with a modified user ID.\"",[57,488,489],{},[322,490,491],{},"\"Show fuzzing results from the first Automate session.\"",[57,493,494],{},[322,495,496],{},"\"Is request interception currently enabled?\"",[12,498,499],{},[72,500,503],{"href":501,"rel":502},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Ftutorials\u002Fmcp.html",[76],"Learn how to connect an AI agent to Caido with the Caido MCP Server.",[12,505,506,507,512],{},"Currently, there are 27,518 MCP servers listed on ",[72,508,511],{"href":509,"rel":510},"https:\u002F\u002Fmcpmarket.com\u002F",[76],"MCP Market",", a combination of both official and community contributions.",[12,514,515],{},"MCP servers allow you to extend the capabilities of your AI agents in a modular manner. With such a vast selection, it is likely that you will be able to customize your agents with exactly what they need to automate sizable portions of your security assessment workflows.",[12,517,518],{},"Some security-centric servers that are available include:",[54,520,521,541,559],{},[57,522,523,528,529,534,535,540],{},[72,524,527],{"href":525,"rel":526},"https:\u002F\u002Fgithub.com\u002F0xKoda\u002FWireMCP",[76],"WireMCP",": An MCP server for ",[72,530,533],{"href":531,"rel":532},"https:\u002F\u002Fwww.wireshark.org\u002F",[76],"Wireshark","\u002F",[72,536,539],{"href":537,"rel":538},"https:\u002F\u002Fwww.wireshark.org\u002Fdocs\u002Fman-pages\u002Ftshark.html",[76],"TShark",".",[57,542,543,548,549,411,554,540],{},[72,544,547],{"href":545,"rel":546},"https:\u002F\u002Fgithub.com\u002FBurtTheCoder\u002Fmcp-shodan",[76],"Shodan MCP Server",": An MCP server for querying the ",[72,550,553],{"href":551,"rel":552},"https:\u002F\u002Fshodan.io\u002F",[76],"Shodan API",[72,555,558],{"href":556,"rel":557},"https:\u002F\u002Fcvedb.shodan.io\u002F",[76],"Shodan CVEDB",[57,560,561,566],{},[72,562,565],{"href":563,"rel":564},"https:\u002F\u002Fgithub.com\u002Fccq1\u002Fawsome_kali_mcpservers",[76],"Awesome Kali MCP Servers",": A collection of MCP servers designed specifically for Kali Linux.",[16,568,265],{"id":569},"skills",[12,571,572,577],{},[72,573,576],{"href":574,"rel":575},"https:\u002F\u002Fagentskills.io\u002Fhome",[76],"Agent Skills"," is an open standard for extending the capabilities of AI agents that is supported by leading AI providers. Compared to MCP servers, configuring skills gives you more fine-grained control over how an agent operates and lets you expand the knowledge base of AI models beyond their training dataset.",[12,579,580,581,584],{},"At its most basic, a skill is a folder that contains a ",[365,582,583],{},"SKILL.md"," file that provides an agent with metadata such as the skill name, a description, and when it should be used, as well as instructions to follow. A skill folder can also include optional, categorical sub-folders for additional content to provide an agent with like scripts, references, and assets.",[586,587,591],"pre",{"className":588,"code":589,"language":590,"meta":195,"style":195},"language-txt shiki shiki-themes github-light github-dark","my-skill\u002F\n├── SKILL.md\n├── scripts\u002F\n    ├── script.py\n├── references\u002F\n    ├── documentation.md\n└── assets\u002F\n    ├── template.md\n    ├── diagram.png\n","txt",[190,592,593,601,606,611,617,623,629,635,641],{"__ignoreMap":195},[594,595,598],"span",{"class":596,"line":597},"line",1,[594,599,600],{},"my-skill\u002F\n",[594,602,603],{"class":596,"line":196},[594,604,605],{},"├── SKILL.md\n",[594,607,608],{"class":596,"line":205},[594,609,610],{},"├── scripts\u002F\n",[594,612,614],{"class":596,"line":613},4,[594,615,616],{},"    ├── script.py\n",[594,618,620],{"class":596,"line":619},5,[594,621,622],{},"├── references\u002F\n",[594,624,626],{"class":596,"line":625},6,[594,627,628],{},"    ├── documentation.md\n",[594,630,632],{"class":596,"line":631},7,[594,633,634],{},"└── assets\u002F\n",[594,636,638],{"class":596,"line":637},8,[594,639,640],{},"    ├── template.md\n",[594,642,644],{"class":596,"line":643},9,[594,645,646],{},"    ├── diagram.png\n",[12,648,649],{},[72,650,653],{"href":651,"rel":652},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills\u002Ftree\u002Fmain\u002Fskills",[76],"View examples of skill folders.",[12,655,656],{},"While skills can be custom, pre-written skills are also available from various providers.",[12,658,659,660,665],{},"Currently, there are 90,121 skills listed on ",[72,661,664],{"href":662,"rel":663},"https:\u002F\u002Fskills.sh\u002F",[76],"skills.sh",", a repository managed by Vercel.",[12,667,668],{},"Some security-centric skills available include:",[54,670,671,689,697,705],{},[57,672,673,678,679,684,685],{},[72,674,677],{"href":675,"rel":676},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Ftutorials\u002Fskills.html#caido-skills",[76],"Caido Skills",": Our official skill built on the ",[72,680,683],{"href":681,"rel":682},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fsdk-js\u002Ftree\u002Fmain\u002Fpackages\u002Fsdk-client",[76],"@caido\u002Fsdk-client"," package, that gives AI agents complete coverage of Caido's API. ",[72,686,688],{"href":687},"\u002Fblog\u002F2026-03-06-caido-skill","Check out our other blog post on Caido Skills to learn how security researcher Joseph Thacker leverages AI to discover real-world vulnerabilities.",[57,690,691,696],{},[72,692,695],{"href":693,"rel":694},"https:\u002F\u002Fgithub.com\u002Ftrailofbits\u002Fskills",[76],"Trail of Bits",": A collection of skills for smart contract security, code auditing, malware analysis, reverse engineering, mobile security, and more, with Burp Suite support.",[57,698,699,704],{},[72,700,703],{"href":701,"rel":702},"https:\u002F\u002Fgithub.com\u002Ftrilwu\u002Fsecskills",[76],"SecSkills",": Multiple skills that equip six AI agents with the tooling they need to conduct reconnaissance and security testing against web\u002Fmobile applications, cloud environments, and smart contracts.",[57,706,707,712,713,717],{},[72,708,711],{"href":709,"rel":710},"https:\u002F\u002Fgithub.com\u002Fagamm\u002Fclaude-code-owasp",[76],"OWASP",": A skill that provides agents with comprehensive documentation covering all 2025 and 2026 ",[72,714,711],{"href":715,"rel":716},"https:\u002F\u002Fowasp.org\u002F",[76]," standards.",[12,719,720,721,726],{},"To learn more about the structure of a skill and how to get started with creating your own, check out Anthropic's ",[72,722,725],{"href":723,"rel":724},"https:\u002F\u002Fresources.anthropic.com\u002Fhubfs\u002FThe-Complete-Guide-to-Building-Skill-for-Claude.pdf",[76],"The Complete Guide to Building Skill for Claude"," guide.",[16,728,271],{"id":729},"local-models",[12,731,732],{},"AI models can also be ran locally on your own device. This option provides offline availability and avoids any data from being sent to a third-party.",[12,734,735],{},"Locally ran models also aren't subject to rate limits and costs which can be a significant advantage when working with large datasets or complex tasks.",[12,737,738],{},"Some popular local model series include:",[54,740,741,748,755,762],{},[57,742,743],{},[72,744,747],{"href":745,"rel":746},"https:\u002F\u002Fgithub.com\u002Fmeta-llama\u002Fllama-models\u002Ftree\u002Fmain",[76],"Llama",[57,749,750],{},[72,751,754],{"href":752,"rel":753},"https:\u002F\u002Fgithub.com\u002FQwenLM",[76],"Qwen",[57,756,757],{},[72,758,761],{"href":759,"rel":760},"https:\u002F\u002Fmistral.ai\u002F",[76],"Mistral",[57,763,764],{},[72,765,768],{"href":766,"rel":767},"https:\u002F\u002Fwww.deepseek.com\u002Fen\u002F",[76],"DeepSeek",[12,770,771],{},"However, local models also come with operational trade-offs. Your device needs to be capable of running the model as they are hardware intensive. You are also responsible for managing dependencies and updates on your own. They are also typically not as capable as proprietary, hosted models which can lead to slower response times and reduced accuracy.",[12,773,774,775,540],{},"To get started with local models, check out ",[72,776,779],{"href":777,"rel":778},"https:\u002F\u002Fmachinelearningmastery.com\u002Fbuilding-ai-agents-with-local-small-language-models\u002F",[76],"Building AI Agents with Local Small Language Models",[16,781,277],{"id":782},"ai-frameworks",[12,784,785],{},"If you want more structure than improvising in chat, wiring MCP servers yourself, and maintaining scattered one-off scripts, full AI frameworks package workflows, reusable task patterns, and integrations into a single stack.",[12,787,788],{},"With the ability to deploy sub-agents, schedule tasks, and communicate across a variety of channels, frameworks are out-of-the-box solutions that you can adopt immediately.",[12,790,791],{},"Some exemplary frameworks are:",[54,793,794,802,810],{},[57,795,796,801],{},[72,797,800],{"href":798,"rel":799},"https:\u002F\u002Fgithub.com\u002Fdanielmiessler\u002FPersonal_AI_Infrastructure?utm_source=executiveoffense.beehiiv.com&utm_medium=referral&utm_campaign=killer-agent-framework-features",[76],"PAI",": Developed by security researcher Daniel Miessler, this framework centers on your real-world goals, refines outputs against full context, and learns iteratively.",[57,803,804,809],{},[72,805,808],{"href":806,"rel":807},"https:\u002F\u002Fgithub.com\u002FGH05TCREW\u002Fpentestagent",[76],"PentestAgent",": An AI agent framework for black-box security testing, supporting bug bounty, red-team, and penetration testing workflows.",[57,811,812,817],{},[72,813,816],{"href":814,"rel":815},"https:\u002F\u002Fgithub.com\u002Fbugbasesecurity\u002Fpentest-copilot",[76],"Pentest Copilot",": An AI-powered browser based ethical hacking assistant tool designed to streamline security assessments.",[12,819,820],{},"Setup and configuration can very greatly depending on the framework you choose to use, so be sure to read the README.md file or documentation to get started.",[16,822,283],{"id":823},"ai-extensions",[12,825,826],{},"Instead of manually providing context of your workload to an external chatbot\u002Fagent application, a number of extensions are available that integrate AI directly in the user interfaces of security applications.",[12,828,829,830,835],{},"In addition to the ",[72,831,834],{"href":832,"rel":833},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Fquickstart\u002Fassistant.html",[76],"Assistant",", Caido's native AI feature, there are currently three AI-related Caido plugins available for installation:",[54,837,838,846,854],{},[57,839,840,845],{},[72,841,844],{"href":842,"rel":843},"https:\u002F\u002Fdocs.caido.io\u002Fapp\u002Ftutorials\u002Fshift.html#configuration",[76],"Shift",": The official AI plugin that implements a floating prompt window, agentic capabilities, and skills in Caido.",[57,847,848,853],{},[72,849,852],{"href":850,"rel":851},"https:\u002F\u002Fgithub.com\u002FSlonser\u002FEbka-Caido-AI\u002Ftree\u002Fmain",[76],"Ebka AI Assistant",": A plugin that provides AI agents with over 30 tools for operating Caido.",[57,855,856,861],{},[72,857,860],{"href":858,"rel":859},"https:\u002F\u002Fgithub.com\u002Fvvvvvvvvvvel\u002FVibeHacking",[76],"Vibe Hacking",": A plugin that gives you the ability to launch an MCP server directly from Caido's user-interface that exposes tools on a permissive basis.",[382,863],{"src":864},"\u002Fimages\u002Fblog\u002F2026-03-24-ai-enhanced-hacking\u002Fshift.webp",[12,866,867,872],{},[72,868,871],{"href":869,"rel":870},"https:\u002F\u002Fportswigger.net\u002Fburp\u002Fai",[76],"Burp AI"," is the native Burp Suite integration, built into the Repeater interface. The BApp store, Burp Suite's extension repository, also includes:",[54,874,875,882,890],{},[57,876,877,881],{},[72,878,454],{"href":879,"rel":880},"https:\u002F\u002Fgithub.com\u002FPortSwigger\u002Fmcp-server",[76],": An official PortSwigger plugin that exposes Burp Suite functionality through an MCP server.",[57,883,884,889],{},[72,885,888],{"href":886,"rel":887},"https:\u002F\u002Fgithub.com\u002Fportswigger\u002Freport-lm",[76],"ReportLM",": Another official plugin that leverages Burp AI to generate custom reports from identified security issues.",[57,891,892,897],{},[72,893,896],{"href":894,"rel":895},"https:\u002F\u002Fgithub.com\u002Fportswigger\u002Fai-prompt-fuzzer",[76],"AI Prompt Fuzzer",": A plugin that automates prompt injection vulnerability testing against other AI applications.",[12,899,900,903],{},[365,901,902],{},"As with any integration, ensure to take the security of MCP servers, skills, and extensions into consideration",":",[54,905,906,911,916,921],{},[57,907,908],{},[365,909,910],{},"Only install servers from trusted sources.",[57,912,913],{},[365,914,915],{},"Review the code before installation.",[57,917,918],{},[365,919,920],{},"Follow the principle of least privilege when granting an agent access to filesystem locations and permissions to run commands.",[57,922,923],{},[365,924,925],{},"Version pin packages to avoid potential supply chain attacks.",[16,927,929],{"id":928},"a-new-era","A New Era",[12,931,932],{},"The mass adoption of AI is reshaping the technology industry as a whole and security is one of the first domains feeling its full impact.",[12,934,935],{},"More than a new tool, AI introduces a new working model: workflows are no longer constrained to rigid, single-purpose automation, but can be adapted to context, refined through feedback, and tailored to each individual's objectives.",[12,937,938],{},"That flexibility means no two implementations will look the same. The quality of outcomes now depends less on access to one \"perfect\" toolkit and more on your ability to think clearly, break problems into logical steps, and communicate intent precisely to an AI agent.",[12,940,941],{},"Those that develop these skills early will be able to keep pace with the industry as automation becomes increasingly prevalent and reliable.",[12,943,944],{},[322,945,946,947,952],{},"If you have unique insights or experience in using AI to hack that weren't covered in this post, get in touch with us on ",[72,948,951],{"href":949,"rel":950},"https:\u002F\u002Flinks.caido.io\u002Fwww-discord",[76],"Discord"," so we can share it with the community!",[954,955,956],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":195,"searchDepth":196,"depth":196,"links":958},[959,960,961,962,963,964,965,966],{"id":286,"depth":196,"text":247},{"id":393,"depth":196,"text":253},{"id":423,"depth":196,"text":259},{"id":569,"depth":196,"text":265},{"id":729,"depth":196,"text":271},{"id":782,"depth":196,"text":277},{"id":823,"depth":196,"text":283},{"id":928,"depth":196,"text":929},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2026-03-24-ai-enhanced-hacking\u002Fog.png","2026-03-24",{},"\u002Fblog\u002F2026-03-24-ai-enhanced-hacking",{"text":972,"minutes":973,"time":974,"words":975},"9 min read",8.99,539400,1798,{"title":227,"description":195},"blog\u002F2026-03-24-ai-enhanced-hacking","Learn how AI can elevate your hacking workflows.","A9PxWHnqTBdXNETWaL52Q6dnpzExmQRHaEpcfhDvKz4",{"id":981,"title":982,"author":983,"body":984,"coverImage":1157,"createdAt":1158,"description":1159,"excerpt":211,"extension":212,"meta":1160,"navigation":214,"path":687,"readingTime":1161,"seo":1166,"stem":1167,"subtitle":1159,"useFirstImageAsCover":223,"__hash__":1168},"blog\u002Fblog\u002F2026-03-06-caido-skill.md","Announcing AI-driven Caido","Joseph Thacker",{"type":9,"value":985,"toc":1148},[986,989,996,999,1003,1021,1024,1027,1031,1034,1037,1041,1044,1050,1054,1060,1066,1073,1077,1083,1086,1090,1097,1127,1130,1137,1145],[12,987,988],{},"Everyone I know in the security space is experimenting with coding agents and autonomous testing tools.",[12,990,991,992,995],{},"The ",[365,993,994],{},"biggest issue"," is that most of these companies are building their own HTTP proxy\u002Fintercept functionality from scratch when there's already a premier proxy sitting right there to be tapped-into.",[12,997,998],{},"And many individual operators are using coding agents as \"homegrown\" hackbots which are using curl or writing custom scripts to make, edit, and send requests. This makes human reproduction and validation much harder.",[16,1000,1002],{"id":1001},"introducing-the-caido-skill","Introducing the Caido Skill",[12,1004,1005,1006,1011,1012,1015,1016,540],{},"As a solution to both of these problems, I've been working with the Caido team on a new ",[72,1007,1010],{"href":1008,"rel":1009},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fskills",[76],"skill"," that gives AI agents ",[322,1013,1014],{},"full control"," over Caido's capabilities using Caido's new ",[72,1017,1020],{"href":1018,"rel":1019},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@caido\u002Fsdk-client",[76],"Caido SDK client",[12,1022,1023],{},"You get a clean interface for replay sessions, findings, requests, etc. All the stuff you'd normally click through manually. Your agent can now do it programmatically with a few lines of code.",[12,1025,1026],{},"This streamlines writing raw GraphQL queries, snagging auth tokens from one request and plopping them into another one for IDOR testing, etc. The SDK makes it 10x faster to hack.",[16,1028,1030],{"id":1029},"why-use-it","Why use it?",[12,1032,1033],{},"Using this skill in my personal hackbot, I've found 15 vulnerabilities in the last 6 weeks. All but a couple are High and Critical vulnerabilities. It's a huge part of my AI Hacking success.",[12,1035,1036],{},"Vulnerabilities aside, there are several reasons why this is the ideal solution for how agents should hack things.",[49,1038,1040],{"id":1039},"human-in-the-loop","Human-in-the-loop",[12,1042,1043],{},"I think for most orgs, the real killer feature is the human-in-the-loop angle. Your agent does its thing, populates findings, creates replay sessions. Then you pop open Caido and everything's right there in the same interface you already know. You can manually verify what the agent found, tweak requests, dig deeper.",[12,1045,1046,1047,540],{},"The fact all of the agent's request editing show up in the replay tab (and it can name the replay tabs appropriately!) means ",[365,1048,1049],{},"human-in-the-loop is ALWAYS an option",[49,1051,1053],{"id":1052},"token-efficiency","Token Efficiency",[12,1055,1056,1059],{},[365,1057,1058],{},"Minimal token use",": AI Agents writing cookies and processing huge responses eats up tokens and increases costs massively. The SDK is very malleable and precise with how it can be used by agents so that it never bloats the context.",[12,1061,1062,1063,540],{},"It's extremely well documented so ",[365,1064,1065],{},"smaller models like sonnet and haiku can even use it",[12,1067,1068,1069,1072],{},"This skill can also be used by ",[365,1070,1071],{},"subagents"," so the \"main\" session doesn't run out of context.",[49,1074,1076],{"id":1075},"portability","Portability",[12,1078,1079,1082],{},[365,1080,1081],{},"Caido's client\u002Fserver architecture"," means you can run workers anywhere and they can access your Caido instance to pull latest cookies\u002Fauth, edit requests, search for juicy endpoints.",[12,1084,1085],{},"This also means you have a workspace file you can give clients of all the traffic requests, scopes, filters, findings, and match\u002Freplace rules.",[16,1087,1089],{"id":1088},"how-to-use-it","How to use it?",[12,1091,1092,1093,1096],{},"The skill can be found here: ",[72,1094,1008],{"href":1008,"rel":1095},[76],". You also snag it with the Vercel skills cli:",[586,1098,1102],{"className":1099,"code":1100,"language":1101,"meta":195,"style":195},"language-bash shiki shiki-themes github-light github-dark","pnpx skills add caido\u002Fskills --skill='*'\n","bash",[190,1103,1104],{"__ignoreMap":195},[594,1105,1106,1110,1114,1117,1120,1124],{"class":596,"line":597},[594,1107,1109],{"class":1108},"sScJk","pnpx",[594,1111,1113],{"class":1112},"sZZnC"," skills",[594,1115,1116],{"class":1112}," add",[594,1118,1119],{"class":1112}," caido\u002Fskills",[594,1121,1123],{"class":1122},"sj4cs"," --skill=",[594,1125,1126],{"class":1112},"'*'\n",[12,1128,1129],{},"Give it a star if you like it and send us some suggestions!",[12,1131,1132,1133,540],{},"I think there are some exciting partnership opportunities between Caido and autonomous pentesting companies or even internal security teams. If you're interested in hearing more, reach out to them at ",[72,1134,1136],{"href":1135},"mailto:info@caido.io","info@caido.io",[12,1138,1139,1140,540],{},"If you want to learn more about how I leverage AI in Bug Bounty, check out my ",[72,1141,1144],{"href":1142,"rel":1143},"https:\u002F\u002Fjosephthacker.com\u002Fhacking\u002F2026\u002F03\u002F06\u002Fthe-agentic-hacking-era.html",[76],"blog post on the agentic hacking era",[954,1146,1147],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":195,"searchDepth":196,"depth":196,"links":1149},[1150,1151,1156],{"id":1001,"depth":196,"text":1002},{"id":1029,"depth":196,"text":1030,"children":1152},[1153,1154,1155],{"id":1039,"depth":205,"text":1040},{"id":1052,"depth":205,"text":1053},{"id":1075,"depth":205,"text":1076},{"id":1088,"depth":196,"text":1089},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2026-03-06-caido-skill\u002Fog.png","2026-03-06","Introducing the new Client SDK and AI Skill",{},{"text":1162,"minutes":1163,"time":1164,"words":1165},"3 min read",2.53,151800,506,{"title":982,"description":1159},"blog\u002F2026-03-06-caido-skill","1cgitbLjlU4oRpHry5KyJlLYheDD-B6bvCMI0Dlj_Aw",{"id":1170,"title":1171,"author":7,"body":1172,"coverImage":1721,"createdAt":1722,"description":210,"excerpt":211,"extension":212,"meta":1723,"navigation":214,"path":1724,"readingTime":1725,"seo":1729,"stem":1730,"subtitle":211,"useFirstImageAsCover":223,"__hash__":1731},"blog\u002Fblog\u002F2026-01-23-release-v0-55-0.md","Caido v0.55.0",{"type":9,"value":1173,"toc":1709},[1174,1181,1185,1192,1195,1203,1207,1213,1217,1220,1222,1226,1348,1350,1402,1404,1526,1528,1626,1630],[12,1175,1176,1177,1180],{},"This release introduces workflow string interpolation, a new ",[190,1178,1179],{},"extra"," field to pass data to JS workflow nodes, import\u002Fexport capabilities for Match & Replace and Findings, and more SDK functionality for better plugin integration.",[16,1182,1184],{"id":1183},"workflow-string-interpolation","🔥 Workflow String Interpolation",[12,1186,1187,1188,1191],{},"Workflows now support string interpolation using ",[190,1189,1190],{},"\u003C% %>"," syntax, allowing you to dynamically insert values into workflow node text fields.",[12,1193,1194],{},"Example: You can use this syntax to inject the HTTP method from a previous step directly into a Finding description:",[586,1196,1201],{"className":1197,"code":1199,"language":1200},[1198],"language-text","The server returns 200 when passing the HTTP method: \u003C% my_node_alias.request.getMethod() %>\n","text",[190,1202,1199],{"__ignoreMap":195},[16,1204,1206],{"id":1205},"️-new-extra-input-in-javascript-nodes","🛠️ New Extra Input in Javascript Nodes",[12,1208,1209,1210,1212],{},"JavaScript nodes now support an ",[190,1211,1179],{}," input field. This allows you to easily pass multiple inputs into the JS node and perform more complex operations.",[16,1214,1216],{"id":1215},"importexport-match-replace-rules-and-findings","📤 Import\u002FExport Match & Replace Rules and Findings",[12,1218,1219],{},"You can now import and export Match & Replace collections and Findings to share rules and findings with your team, between instances and between projects.",[16,1221,47],{"id":46},[49,1223,1225],{"id":1224},"frontend-sdk","🎨 Frontend SDK",[54,1227,1228],{},[57,1229,1230,1231],{},"Added the following functionality:\n",[54,1232,1233,1238,1243,1248,1253,1258,1263,1268,1273,1278,1283,1288,1293,1298,1303,1308,1313,1318,1323,1328,1333,1338,1343],{},[57,1234,1235],{},[190,1236,1237],{},"sdk.ai.getUpstreamProviders()",[57,1239,1240],{},[190,1241,1242],{},"sdk.automate.addResponseViewMode()",[57,1244,1245],{},[190,1246,1247],{},"sdk.automate.getSessions()",[57,1249,1250],{},[190,1251,1252],{},"sdk.automate.getEntries()",[57,1254,1255],{},[190,1256,1257],{},"sdk.automate.addEntryIndicator()",[57,1259,1260],{},[190,1261,1262],{},"sdk.files.onUploadedHostedFile()",[57,1264,1265],{},[190,1266,1267],{},"sdk.files.onUpdatedHostedFile()",[57,1269,1270],{},[190,1271,1272],{},"sdk.files.onDeletedHostedFile()",[57,1274,1275],{},[190,1276,1277],{},"sdk.findings.addResponseViewMode()",[57,1279,1280],{},[190,1281,1282],{},"sdk.httpHistory.addResponseViewMode()",[57,1284,1285],{},[190,1286,1287],{},"sdk.intercept.addResponseViewMode()",[57,1289,1290],{},[190,1291,1292],{},"sdk.matchReplace.addRuleIndicator()",[57,1294,1295],{},[190,1296,1297],{},"sdk.replay.addResponseViewMode()",[57,1299,1300],{},[190,1301,1302],{},"sdk.replay.addSessionIndicator()",[57,1304,1305],{},[190,1306,1307],{},"sdk.search.addResponseViewMode()",[57,1309,1310],{},[190,1311,1312],{},"sdk.settings.addToSlot()",[57,1314,1315],{},[190,1316,1317],{},"sdk.sitemap.onEntryChildStateUpdate()",[57,1319,1320],{},[190,1321,1322],{},"sdk.sitemap.getTreeEntries()",[57,1324,1325],{},[190,1326,1327],{},"sdk.sitemap.getChildren()",[57,1329,1330],{},[190,1331,1332],{},"sdk.sitemap.addResponseViewMode()",[57,1334,1335],{},[190,1336,1337],{},"sdk.sitemap.addEntryIndicator()",[57,1339,1340],{},[190,1341,1342],{},"sdk.window.getContext()",[57,1344,1345],{},[190,1346,1347],{},"sdk.window.onContextChange()",[49,1349,52],{"id":51},[54,1351,1352,1392],{},[57,1353,1354,1355],{},"Added the following functionality:",[54,1356,1357,1362,1367,1372,1377,1382,1387],{},[57,1358,1359],{},[190,1360,1361],{},"sdk.events.onUpstream()",[57,1363,1364],{},[190,1365,1366],{},"sdk.meta.id()",[57,1368,1369],{},[190,1370,1371],{},"sdk.net.connect()",[57,1373,1374],{},[190,1375,1376],{},"RequestSpec.getInfo()",[57,1378,1379],{},[190,1380,1381],{},"RequestSpec.getUrl()",[57,1383,1384],{},[190,1385,1386],{},"RequestSpecRaw.getInfo()",[57,1388,1389],{},[190,1390,1391],{},"RequestSpecRaw.toSpec()",[57,1393,1394,1395],{},"Added the following modules:",[54,1396,1397],{},[57,1398,1399],{},[190,1400,1401],{},"https",[16,1403,66],{"id":65},[54,1405,1406,1414,1422,1430,1438,1446,1454,1462,1470,1478,1486,1494,1502,1510,1518],{},[57,1407,1408,1413],{},[72,1409,1412],{"href":1410,"rel":1411},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2007",[76],"#2007",": Conditional view modes in frontend SDK",[57,1415,1416,1421],{},[72,1417,1420],{"href":1418,"rel":1419},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F457",[76],"#457",": Export\u002Fimport Match & Replace collections",[57,1423,1424,1429],{},[72,1425,1428],{"href":1426,"rel":1427},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1008",[76],"#1008",": Output from Shell node into JS Node",[57,1431,1432,1437],{},[72,1433,1436],{"href":1434,"rel":1435},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1017",[76],"#1017",": Specify a default collection for \"Send to replay\"",[57,1439,1440,1445],{},[72,1441,1444],{"href":1442,"rel":1443},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1305",[76],"#1305",": Templating Inside of Description for Create Finding Workflow Node",[57,1447,1448,1453],{},[72,1449,1452],{"href":1450,"rel":1451},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1452",[76],"#1452",": Findings - String Interpolation in Finding Description",[57,1455,1456,1461],{},[72,1457,1460],{"href":1458,"rel":1459},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1801",[76],"#1801",": Save the state of expanded nodes in the Sitemap",[57,1463,1464,1469],{},[72,1465,1468],{"href":1466,"rel":1467},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1820",[76],"#1820",": Add custom view modes for response editors",[57,1471,1472,1477],{},[72,1473,1476],{"href":1474,"rel":1475},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1887",[76],"#1887",": Add option to disable SSL verification in plugin backend fetch",[57,1479,1480,1485],{},[72,1481,1484],{"href":1482,"rel":1483},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1994",[76],"#1994",": Get the currently selected request ID",[57,1487,1488,1493],{},[72,1489,1492],{"href":1490,"rel":1491},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2000",[76],"#2000",": SDK function to add icons in replay tree view",[57,1495,1496,1501],{},[72,1497,1500],{"href":1498,"rel":1499},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2013",[76],"#2013",": Import \u002F Export Findings",[57,1503,1504,1509],{},[72,1505,1508],{"href":1506,"rel":1507},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2014",[76],"#2014",": Frontend SDK: a way to check if user has AI api keys setup & validate them",[57,1511,1512,1517],{},[72,1513,1516],{"href":1514,"rel":1515},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2041",[76],"#2041",": Allow plugins to modify upstream request and connection",[57,1519,1520,1525],{},[72,1521,1524],{"href":1522,"rel":1523},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2044",[76],"#2044",": Add optional usage analytics",[16,1527,154],{"id":153},[54,1529,1530,1538,1546,1554,1562,1570,1578,1586,1594,1602,1610,1618],{},[57,1531,1532,1537],{},[72,1533,1536],{"href":1534,"rel":1535},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1608",[76],"#1608",": Race condition when replay task is completed before startTask ends",[57,1539,1540,1545],{},[72,1541,1544],{"href":1542,"rel":1543},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1304",[76],"#1304",": Get Data Out of Shell Node",[57,1547,1548,1553],{},[72,1549,1552],{"href":1550,"rel":1551},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1553",[76],"#1553",": Sitemap slow with domains",[57,1555,1556,1561],{},[72,1557,1560],{"href":1558,"rel":1559},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1584",[76],"#1584",": Scope update fails silently",[57,1563,1564,1569],{},[72,1565,1568],{"href":1566,"rel":1567},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1892",[76],"#1892",": Missing style sanitization in finding description preview",[57,1571,1572,1577],{},[72,1573,1576],{"href":1574,"rel":1575},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1947",[76],"#1947",": Shift + enter should add a newline in httpql search bar",[57,1579,1580,1585],{},[72,1581,1584],{"href":1582,"rel":1583},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1986",[76],"#1986",": Overlap of component in findings",[57,1587,1588,1593],{},[72,1589,1592],{"href":1590,"rel":1591},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2005",[76],"#2005",": Unable to delete uploaded files with failed status",[57,1595,1596,1601],{},[72,1597,1600],{"href":1598,"rel":1599},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2020",[76],"#2020",": Broken link in login page",[57,1603,1604,1609],{},[72,1605,1608],{"href":1606,"rel":1607},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2042",[76],"#2042",": Replay History selection doesn't persist on reload",[57,1611,1612,1617],{},[72,1613,1616],{"href":1614,"rel":1615},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2050",[76],"#2050",": Client Hello with magic bytes other than 0x16 0x03 0x01 do not work",[57,1619,1620,1625],{},[72,1621,1624],{"href":1622,"rel":1623},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2052",[76],"#2052",": Placeholder range doesn't update with body",[16,1627,1629],{"id":1628},"patches","Patches",[54,1631,1632,1645,1688],{},[57,1633,1634,903,1637],{},[365,1635,1636],{},"0.55.1",[54,1638,1639,1642],{},[57,1640,1641],{},"Fixes an issue where Ctrl+F does not show the editor search pane",[57,1643,1644],{},"Fixes an issue where the user settings would be reset",[57,1646,1647,903,1650],{},[365,1648,1649],{},"0.55.2",[54,1651,1652,1664,1672,1680],{},[57,1653,1654,1659,1660,1663],{},[72,1655,1658],{"href":1656,"rel":1657},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2070",[76],"#2070",": Checkboxes for the ",[190,1661,1662],{},"Options"," in Replay Are Unresponsive",[57,1665,1666,1671],{},[72,1667,1670],{"href":1668,"rel":1669},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2071",[76],"#2071",": Command palette go to X is broken",[57,1673,1674,1679],{},[72,1675,1678],{"href":1676,"rel":1677},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2075",[76],"#2075",": Projects with secrets environment variables cannot be imported on another instance",[57,1681,1682,1687],{},[72,1683,1686],{"href":1684,"rel":1685},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2078",[76],"#2078",": Windows certificate rotation",[57,1689,1690,903,1693],{},[365,1691,1692],{},"0.55.3",[54,1694,1695,1698,1701],{},[57,1696,1697],{},"Fixed an issue with long-running instances where the sync-service would consume more resources than intended",[57,1699,1700],{},"Fixed an issue causing large responses to freeze the app",[57,1702,1703,1708],{},[72,1704,1707],{"href":1705,"rel":1706},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2072",[76],"#2072",": Replay delay when sending requests",{"title":195,"searchDepth":196,"depth":196,"links":1710},[1711,1712,1713,1714,1718,1719,1720],{"id":1183,"depth":196,"text":1184},{"id":1205,"depth":196,"text":1206},{"id":1215,"depth":196,"text":1216},{"id":46,"depth":196,"text":47,"children":1715},[1716,1717],{"id":1224,"depth":205,"text":1225},{"id":51,"depth":205,"text":52},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2026-01-23-release-v0-55-0\u002Fog.png","2026-01-23",{},"\u002Fblog\u002F2026-01-23-release-v0-55-0",{"text":1162,"minutes":1726,"time":1727,"words":1728},2.185,131100,437,{"title":1171,"description":210},"blog\u002F2026-01-23-release-v0-55-0","ZQdpr__MXsTBk5AYReLxEnOjXv45EjJeOrhCuPBqEfs",{"id":1733,"title":1734,"author":228,"body":1735,"coverImage":1739,"createdAt":2408,"description":2409,"excerpt":211,"extension":212,"meta":2410,"navigation":214,"path":2411,"readingTime":2412,"seo":2417,"stem":2418,"subtitle":211,"useFirstImageAsCover":223,"__hash__":2419},"blog\u002Fblog\u002F2026-01-01-year-in-review.md","Year in Review 2025",{"type":9,"value":1736,"toc":2389},[1737,1740,1749,1752,1755,1759,1769,1777,1785,1793,1801,1803,1807,1810,1813,1817,1820,1882,1893,1897,1900,1903,1906,2139,2142,2145,2148,2190,2203,2218,2221,2224,2228,2231,2234,2248,2251,2254,2262,2265,2268,2271,2291,2294,2303,2307,2310,2324,2328,2343,2362,2366,2369,2372,2386],[382,1738],{"src":1739},"\u002Fimages\u002Fblog\u002F2025-review\u002Fbanner.webp",[12,1741,1742,1743,1748],{},"In early 2025, we asked for ",[72,1744,1747],{"href":1745,"rel":1746},"https:\u002F\u002Fx.com\u002FCaidoIO\u002Fstatus\u002F1910815846009630861",[76],"community feedback"," in order to prioritize the implementation of the key functionality and improvements most important to you.",[12,1750,1751],{},"Thanks to your engagement, insight, and ongoing support, Caido is now more capable than ever.",[1753,1754],"hr",{},[16,1756,1758],{"id":1757},"highlights","Highlights",[49,1760,1762,1768],{"id":1761},"_10-major-releases",[1763,1764],"i",{"className":1765},[1766,1767],"fa-solid","fa-tag"," 10 Major Releases",[49,1770,1772,1776],{"id":1771},"_29-plugins-including-scanner-autorize-and-graphql-analyzer",[1763,1773],{"className":1774},[1766,1775],"fa-puzzle-piece"," +29 Plugins (including: Scanner, Autorize, and GraphQL Analyzer)",[49,1778,1780,1784],{"id":1779},"additional-learning-resources",[1763,1781],{"className":1782},[1766,1783],"fa-vial"," Additional Learning Resources",[49,1786,1788,1792],{"id":1787},"_36000-new-users",[1763,1789],{"className":1790},[1766,1791],"fa-people-group"," +36,000 New Users",[49,1794,1796,1800],{"id":1795},"ai-integration",[1763,1797],{"className":1798},[1766,1799],"fa-brain"," AI Integration",[1753,1802],{},[16,1804,1806],{"id":1805},"releases-v0450-v0540","Releases: v0.45.0 - v0.54.0",[12,1808,1809],{},"Across 10 major releases, we added core functionality, refined existing functionality, optimized performance, implemented quality-of-life features, and addressed bug reports.",[382,1811],{"src":1812},"\u002Fimages\u002Fblog\u002F2025-review\u002Freplay-interface.webp",[49,1814,1816],{"id":1815},"whats-new","What's new?",[12,1818,1819],{},"In total, we addressed 277 features and bug fixes last year, including:",[54,1821,1822,1828,1834,1840,1846,1852,1858,1864,1870,1876],{},[57,1823,1824,1827],{},[365,1825,1826],{},"HTTPQL for Intercept",": Filter out the noise to find specific requests and responses.",[57,1829,1830,1833],{},[365,1831,1832],{},"Invisible Proxying Support & DNS Overrides",": View, capture, and modify traffic generated by clients without native proxy configuration settings.",[57,1835,1836,1839],{},[365,1837,1838],{},"Guest Mode",": Caido can now be used without an account.",[57,1841,1842,1845],{},[365,1843,1844],{},"WebSocket Support",": View, capture, and modify WebSocket traffic.",[57,1847,1848,1851],{},[365,1849,1850],{},"Match & Replace Redesign",": Quickly update, remove, or add query parameters and request\u002Fresponse headers with selective targeting.",[57,1853,1854,1857],{},[365,1855,1856],{},"Workflow Testing",": Test workflows directly from the UI to ensure they achieve the intended result.",[57,1859,1860,1863],{},[365,1861,1862],{},"Jump to Row",": Return to the selected row in the traffic tables to resume your assessment.",[57,1865,1866,1869],{},[365,1867,1868],{},"HTTPQL History and Saves",": Select from recently used filter statements or save them explicitly.",[57,1871,1872,1875],{},[365,1873,1874],{},"Improved Findings",": Write descriptions in greater detail with Markdown support and export custom findings either individually or in bulk.",[57,1877,1878,1881],{},[365,1879,1880],{},"Replay History",": View a list of each request in a Replay session or search for a specific one in a new drop-down menu.",[12,1883,1884],{},[322,1885,1886,1887,1892],{},"View the ",[72,1888,1891],{"href":1889,"rel":1890},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Freleases",[76],"changelog"," for additional details (SDK updates, developer features, bug fixes, improvements, etc.).",[16,1894,1896],{"id":1895},"plugins","Plugins",[12,1898,1899],{},"A total of 42 plugins are now available, with 29 added last year alone.",[382,1901],{"src":1902},"\u002Fimages\u002Fblog\u002F2025-review\u002Fplugins.webp",[12,1904,1905],{},"Some of the most popular, new plugins of 2025 by installation count are:",[1907,1908,1909,1922],"table",{},[1910,1911,1912],"thead",{},[1913,1914,1915,1919],"tr",{},[1916,1917,1918],"th",{},"Plugin",[1916,1920,1921],{},"Description",[1923,1924,1925,1943,1959,1975,1991,2006,2022,2037,2053,2069,2091,2107,2123],"tbody",{},[1913,1926,1927,1940],{},[1928,1929,1930,1934,1935],"td",{},[1763,1931],{"className":1932},[1766,1933],"fa-shield-halved"," ",[72,1936,1939],{"href":1937,"rel":1938},"https:\u002F\u002Fdocs.caido.io\u002Ftutorials\u002Fscanner.html",[76],"Scanner",[1928,1941,1942],{},"Automatically detect vulnerabilities with Caido’s official, template-based vulnerability detection engine.",[1913,1944,1945,1956],{},[1928,1946,1947,1934,1951],{},[1763,1948],{"className":1949},[1766,1950],"fa-search",[72,1952,1955],{"href":1953,"rel":1954},"https:\u002F\u002Fgithub.com\u002Fbebiksior\u002FParamFinder",[76],"ParamFinder",[1928,1957,1958],{},"Discover hidden parameters in request queries, bodies, and headers.",[1913,1960,1961,1972],{},[1928,1962,1963,1934,1967],{},[1763,1964],{"className":1965},[1766,1966],"fa-key",[72,1968,1971],{"href":1969,"rel":1970},"https:\u002F\u002Fgithub.com\u002Famrelsagaei\u002FJWT-Analyzer",[76],"JWT Analyzer",[1928,1973,1974],{},"Detect and assess JSON Web Tokens for security issues.",[1913,1976,1977,1988],{},[1928,1978,1979,1934,1983],{},[1763,1980],{"className":1981},[1766,1982],"fa-store",[72,1984,1987],{"href":1985,"rel":1986},"https:\u002F\u002Fgithub.com\u002Fcaido-community\u002Fworkflows",[76],"Workflows Store",[1928,1989,1990],{},"Browse and install a variety of community-submitted and official workflows from a central repository to automate assessment tasks.",[1913,1992,1993,2003],{},[1928,1994,1995,1934,1998],{},[1763,1996],{"className":1997},[1766,1966],[72,1999,2002],{"href":2000,"rel":2001},"https:\u002F\u002Fdocs.caido.io\u002Ftutorials\u002Fautorize.html",[76],"Autorize",[1928,2004,2005],{},"Automatically identify authorization\u002Faccess control vulnerabilities as you interact with a target with this official Caido plugin.",[1913,2007,2008,2019],{},[1928,2009,2010,1934,2014],{},[1763,2011],{"className":2012},[1766,2013],"fa-compress",[72,2015,2018],{"href":2016,"rel":2017},"https:\u002F\u002Fgithub.com\u002Fevanconnelly\u002Fsquash",[76],"Squash",[1928,2020,2021],{},"Minimize HTTP requests through the iterative removal of non-essential data.",[1913,2023,2024,2034],{},[1928,2025,2026,1934,2029],{},[1763,2027],{"className":2028},[1766,1950],[72,2030,2033],{"href":2031,"rel":2032},"https:\u002F\u002Fgithub.com\u002Fcaido-community\u002Fdata-grep",[76],"Data Grep",[1928,2035,2036],{},"Search for, match, and extract data from requests and responses with predefined or custom regular expressions.",[1913,2038,2039,2050],{},[1928,2040,2041,1934,2045],{},[1763,2042],{"className":2043},[1766,2044],"fa-bomb",[72,2046,2049],{"href":2047,"rel":2048},"https:\u002F\u002Fgithub.com\u002Fstealthcopter\u002FCaidoExploitGenerator",[76],"Exploit Generator",[1928,2051,2052],{},"Automatically generate proof-of-concept scripts in a variety of languages and frameworks.",[1913,2054,2055,2066],{},[1928,2056,2057,1934,2061],{},[1763,2058],{"className":2059},[1766,2060],"fa-project-diagram",[72,2062,2065],{"href":2063,"rel":2064},"https:\u002F\u002Fgithub.com\u002Famrelsagaei\u002FGraphQL-Analyzer",[76],"GraphQL-Analyzer",[1928,2067,2068],{},"Automatically discover schemas, visualize relationships, and assess security risks with an integrated GraphQL testing suite.",[1913,2070,2071,2082],{},[1928,2072,2073,1934,2077],{},[1763,2074],{"className":2075},[1766,2076],"fa-code",[72,2078,2081],{"href":2079,"rel":2080},"https:\u002F\u002Fgithub.com\u002Ffrancisconeves97\u002Fjxscout-caido",[76],"JXScout",[1928,2083,2084,2085,2090],{},"Forward proxied requests to ",[72,2086,2089],{"href":2087,"rel":2088},"https:\u002F\u002Fgithub.com\u002Ffrancisconeves97\u002Fjxscout",[76],"jxscout"," for JavaScript vulnerability analysis.",[1913,2092,2093,2104],{},[1928,2094,2095,1934,2099],{},[1763,2096],{"className":2097},[1766,2098],"fa-droplet",[72,2100,2103],{"href":2101,"rel":2102},"https:\u002F\u002Fgithub.com\u002Fcaido-community\u002Fdrop",[76],"Drop",[1928,2105,2106],{},"Securely share requests, scopes, filters, and more to collaborators with a single click.",[1913,2108,2109,2120],{},[1928,2110,2111,1934,2115],{},[1763,2112],{"className":2113},[1766,2114],"fa-y",[72,2116,2119],{"href":2117,"rel":2118},"https:\u002F\u002Fgithub.com\u002Fyeswehack\u002Fyeswecaido",[76],"YesWeCaido",[1928,2121,2122],{},"View the details of both public and private programs available to you on the YesWeHack platform.",[1913,2124,2125,2136],{},[1928,2126,2127,1934,2131],{},[1763,2128],{"className":2129},[1766,2130],"fa-columns",[72,2132,2135],{"href":2133,"rel":2134},"https:\u002F\u002Fgithub.com\u002Famrelsagaei\u002FCompare",[76],"Compare",[1928,2137,2138],{},"Detect differences and similarities between requests, responses, and files in a side-by-side comparison with visual highlighting.",[16,2140,2141],{"id":1779},"Additional Learning Resources",[12,2143,2144],{},"To help users become familiar with Caido, we have made numerous revisions to our existing resources and have introduced additional material.",[12,2146,2147],{},"Our documentation has been restructured to make it easier to install, configure and use Caido:",[54,2149,2150,2158,2166,2174,2182],{},[57,2151,2152,2157],{},[72,2153,2156],{"href":2154,"rel":2155},"https:\u002F\u002Fdocs.caido.io\u002Fquickstart\u002F",[76],"Get Started",": Provides installation and configuration instructions, as well as an overview of Caido's features.",[57,2159,2160,2165],{},[72,2161,2164],{"href":2162,"rel":2163},"https:\u002F\u002Fdocs.caido.io\u002Fguides\u002F",[76],"Guides",": Addresses common tasks with step-by-step instructions.",[57,2167,2168,2173],{},[72,2169,2172],{"href":2170,"rel":2171},"https:\u002F\u002Fdocs.caido.io\u002Ftutorials\u002F",[76],"Tutorials",": Features hands-on learning experiences that teach you how to use Caido through practical examples.",[57,2175,2176,2181],{},[72,2177,2180],{"href":2178,"rel":2179},"https:\u002F\u002Fdocs.caido.io\u002Freference\u002F",[76],"Reference",": Provides detailed technical information on Caido's features and capabilities.",[57,2183,2184,2189],{},[72,2185,2188],{"href":2186,"rel":2187},"https:\u002F\u002Fdocs.caido.io\u002Fconcepts\u002F",[76],"Concepts",": Explains key principles to help you understand how Caido operates.",[12,2191,2192,2193,2198,2199,2202],{},"For those that learn best visually, we have uploaded several ",[72,2194,2197],{"href":2195,"rel":2196},"https:\u002F\u002Fwww.youtube.com\u002F@CaidoIO\u002Fvideos",[76],"videos"," that demonstrate Caido in action in our ",[322,2200,2201],{},"Mastering Caido"," series.",[12,2204,2205,2206,2211,2212,2217],{},"In October, we launched our very own collection of ",[72,2207,2210],{"href":2208,"rel":2209},"https:\u002F\u002Flabs.caido.io\u002Fhubs\u002F",[76],"labs"," and have partnered with the ",[72,2213,2216],{"href":2214,"rel":2215},"https:\u002F\u002Fwww.hackinghub.io\u002F",[76],"HackingHub"," platform to make them accessible to anyone interested in web security.",[382,2219],{"src":2220},"\u002Fimages\u002Fblog\u002F2025-review\u002Flabs.webp",[12,2222,2223],{},"Certain labs already have accompanying tutorials and we plan to write tutorials for the rest in the near future.",[16,2225,2227],{"id":2226},"localized-pricing","Localized Pricing",[12,2229,2230],{},"This year, the Caido community doubled in size, and we're excited to see users around the globe using Caido to assist in digital security.",[12,2232,2233],{},"To make Caido more accessible to users regardless of location, we've begun adjusting subscription costs based on purchasing power parity relative to US pricing.",[12,2235,2236,2237,411,2242,2247],{},"This pricing model is currently available to our users in ",[72,2238,2241],{"href":2239,"rel":2240},"https:\u002F\u002Fcaido.io\u002Fblog\u002F2025-08-21-localized-pricing",[76],"Brazil",[72,2243,2246],{"href":2244,"rel":2245},"https:\u002F\u002Fx.com\u002FCaidoIO\u002Fstatus\u002F1980237869886153169",[76],"India",", resulting in an approximate 50% and 65% price reduction respectively.",[12,2249,2250],{},"We plan to expand this approach to reflect economic conditions for users worldwide.",[16,2252,844],{"id":2253},"shift",[12,2255,2256,2257,2261],{},"In July, we acquired the ",[72,2258,844],{"href":2259,"rel":2260},"https:\u002F\u002Fshiftplugin.com\u002F",[76]," plugin.",[12,2263,2264],{},"Shift integrates agentic AI models directly within Caido. With access to a variety of tools, these context-aware agents can carry out tasks in your security assessments while you investigate other leads.",[382,2266],{"src":2267},"\u002Fimages\u002Fblog\u002F2025-review\u002Fshift.webp",[12,2269,2270],{},"By submitting prompts, written in natural language, Shift can be instructed to:",[54,2272,2273,2276,2279,2282,2285,2288],{},[57,2274,2275],{},"Generate wordlists.",[57,2277,2278],{},"Brute force values and monitor response changes.",[57,2280,2281],{},"Modify requests and responses.",[57,2283,2284],{},"Create match and replace rules against selected text.",[57,2286,2287],{},"Find similar requests.",[57,2289,2290],{},"And more!",[12,2292,2293],{},"Since the acquisition, we have implemented support for external LLM providers. You can now use your own API keys to select a model that best suits your immediate needs.",[12,2295,2296],{},[322,2297,2298],{},[72,2299,2302],{"href":2300,"rel":2301},"https:\u002F\u002Fdocs.caido.io\u002Ftutorials\u002Fshift.html",[76],"View the tutorial on how to operate Shift for additional details.",[16,2304,2306],{"id":2305},"team","Team",[12,2308,2309],{},"To better address the needs of both new and existing users, we added five new members to the Caido team in 2025:",[54,2311,2312,2315,2318,2321],{},[57,2313,2314],{},"+1 support and quality assurance officer: Kodai Kubono (@Kodaichodai)",[57,2316,2317],{},"+1 documentation author: Andrew Pratt (@Ninjeeter)",[57,2319,2320],{},"+2 plugin developers: Łukasz Tlałka (@bebiks) & Amr Elsagaei (@amrelsagaei)",[57,2322,2323],{},"+1 frontend developer: Dorian Gauron (@michel_le_dev)",[16,2325,2327],{"id":2326},"partnerships","Partnerships",[12,2329,2330,2331,2336,2337,2342],{},"At the beginning of the year, we were excited to announce our partnership with ",[72,2332,2335],{"href":2333,"rel":2334},"https:\u002F\u002Fdocs.caido.io\u002Fguides\u002Fparrot_os.html",[76],"ParrotOS",". You can now use Caido in the Pwnbox environment on the ",[72,2338,2341],{"href":2339,"rel":2340},"https:\u002F\u002Fwww.hackthebox.com\u002F",[76],"Hack The Box"," platform.",[12,2344,2345,2346,298,2351,2356,2357,540],{},"Caido is now also native to ",[72,2347,2350],{"href":2348,"rel":2349},"https:\u002F\u002Fdocs.caido.io\u002Fguides\u002Fathena_os.html",[76],"Athena OS",[72,2352,2355],{"href":2353,"rel":2354},"https:\u002F\u002Fdocs.caido.io\u002Fguides\u002Fexegol.html",[76],"Exegol",", and is included in the rolling distribution of ",[72,2358,2361],{"href":2359,"rel":2360},"https:\u002F\u002Fdocs.caido.io\u002Fguides\u002Fkali_linux.html",[76],"Kali Linux",[16,2363,2365],{"id":2364},"_2026-our-goals-for-this-year","2026: Our Goals for This Year",[12,2367,2368],{},"In 2026, our focus is on completing the remaining core features users have consistently asked for and continuing to improve overall stability.",[12,2370,2371],{},"Planned work includes:",[54,2373,2374,2377,2380,2383],{},[57,2375,2376],{},"Parallel request sending and race condition testing",[57,2378,2379],{},"HTTP\u002F2 support",[57,2381,2382],{},"WebSocket replay",[57,2384,2385],{},"Crawler functionality",[12,2387,2388],{},"Alongside these additions, we’ll be prioritizing stabilization to address our most impactful bugs and improve day-to-day reliability.",{"title":195,"searchDepth":196,"depth":196,"links":2390},[2391,2398,2401,2402,2403,2404,2405,2406,2407],{"id":1757,"depth":196,"text":1758,"children":2392},[2393,2394,2395,2396,2397],{"id":1761,"depth":205,"text":1768},{"id":1771,"depth":205,"text":1776},{"id":1779,"depth":205,"text":1784},{"id":1787,"depth":205,"text":1792},{"id":1795,"depth":205,"text":1800},{"id":1805,"depth":196,"text":1806,"children":2399},[2400],{"id":1815,"depth":205,"text":1816},{"id":1895,"depth":196,"text":1896},{"id":1779,"depth":196,"text":2141},{"id":2226,"depth":196,"text":2227},{"id":2253,"depth":196,"text":844},{"id":2305,"depth":196,"text":2306},{"id":2326,"depth":196,"text":2327},{"id":2364,"depth":196,"text":2365},"2026-01-01","Caido throughout 2025.",{},"\u002Fblog\u002F2026-01-01-year-in-review",{"text":2413,"minutes":2414,"time":2415,"words":2416},"5 min read",4.66,279600,932,{"title":1734,"description":2409},"blog\u002F2026-01-01-year-in-review","R4ehKAyLLJLWDm4uTzNNw89dqq_J9zZvSYjZaV5CJ28",{"id":2421,"title":2422,"author":2423,"body":2424,"coverImage":2428,"createdAt":2499,"description":2500,"excerpt":211,"extension":212,"meta":2501,"navigation":214,"path":2502,"readingTime":2503,"seo":2508,"stem":2509,"subtitle":211,"useFirstImageAsCover":223,"__hash__":2510},"blog\u002Fblog\u002F2025-12-12-hackinghub-labs.md","Partnering with HackingHub","Emile Fugulin",{"type":9,"value":2425,"toc":2495},[2426,2429,2442,2446,2460,2463,2467,2470,2484],[382,2427],{"src":2428},"\u002Fimages\u002Fblog\u002F2025-12-12-hackinghub-labs\u002Fcover.webp",[12,2430,2431,2432,2437,2438,2441],{},"A couple of months ago we launched the first iteration of our labs platform on ",[72,2433,2436],{"href":2434,"rel":2435},"https:\u002F\u002Flabs.cai.do",[76],"labs.cai.do",". This allowed us to quickly iterate on the concept but our setup was fairly limited. We found a natural fit with ",[72,2439,2216],{"href":2214,"rel":2440},[76]," to build the next iteration.",[16,2443,2445],{"id":2444},"the-new-platform","The new platform",[12,2447,2448,2449,2454,2455,2459],{},"The new platform is available right now at ",[72,2450,2453],{"href":2451,"rel":2452},"https:\u002F\u002Flabs.caido.io",[76],"labs.caido.io",". You can easily login using your Caido account to launch the machines. If you are a user of ",[72,2456,2458],{"href":2214,"rel":2457},[76],"Hackinghub"," you will recognize the layout but themed with Caido's color. Note that your HackingHub account is separate from your Caido Labs account.",[12,2461,2462],{},"This new setup will allow us to build more complex labs without interference between users and on a secure environment.",[16,2464,2466],{"id":2465},"our-vision","Our vision",[12,2468,2469],{},"In the coming months we will keep iterating on that labs platform. Here is a sample of what we want to bring to life in 2026:",[54,2471,2472,2478],{},[57,2473,2474,2477],{},[365,2475,2476],{},"Learning Paths",": We will build courses tied to specific vulnerabilities like SQL Injections to more broad topics like Caido 101 and plugins",[57,2479,2480,2483],{},[365,2481,2482],{},"Easy link from the doc",": We will start linking relevant labs in our documentation so you can easily job from theory to practice",[12,2485,2486,2487,2491,2492,540],{},"If you want to be part of the discussion, join our ",[72,2488,951],{"href":2489,"rel":2490},"https:\u002F\u002Flinks.caido.io\u002Fdiscord",[76]," in the channel ",[190,2493,2494],{},"#labs",{"title":195,"searchDepth":196,"depth":196,"links":2496},[2497,2498],{"id":2444,"depth":196,"text":2445},{"id":2465,"depth":196,"text":2466},"2025-12-12","New labs experience powered by HackingHub",{},"\u002Fblog\u002F2025-12-12-hackinghub-labs",{"text":2504,"minutes":2505,"time":2506,"words":2507},"1 min read",0.985,59100,197,{"title":2422,"description":2500},"blog\u002F2025-12-12-hackinghub-labs","Jq5ipVJQsnOi7APx4JGF2SnRF3M2GqLvonUS3bs9GEo",{"id":2512,"title":2513,"author":7,"body":2514,"coverImage":3058,"createdAt":3059,"description":210,"excerpt":211,"extension":212,"meta":3060,"navigation":214,"path":3061,"readingTime":3062,"seo":3066,"stem":3067,"subtitle":211,"useFirstImageAsCover":223,"__hash__":3068},"blog\u002Fblog\u002F2025-12-09-release-v0-54-0.md","Caido v0.54.0",{"type":9,"value":2515,"toc":3045},[2516,2519,2523,2526,2529,2543,2547,2550,2553,2557,2560,2563,2571,2575,2578,2581,2583,2585,2604,2606,2692,2694,2848,2850,3009,3011],[12,2517,2518],{},"This update introduces a new way to convert body formats directly from the editor, HTTPQL history autocomplete, support for running Match & Replace rules inside Automate, the ability to launch a pre-configured Edge browser, and many QoL improvements.",[16,2520,2522],{"id":2521},"convert-body-format-right-click-menu","📝 Convert Body Format (Right-click Menu)",[12,2524,2525],{},"You can now convert request bodies between several formats with a single action.",[12,2527,2528],{},"Supported conversions:",[54,2530,2531,2534,2537,2540],{},[57,2532,2533],{},"x-www-form-urlencoded",[57,2535,2536],{},"JSON",[57,2538,2539],{},"multipart\u002Fform-data",[57,2541,2542],{},"XML",[16,2544,2546],{"id":2545},"httpql-history","📚 HTTPQL History",[12,2548,2549],{},"HTTPQL now shows autocomplete for your previous queries.",[12,2551,2552],{},"Autocomplete suggestions will surface filters you've written before, helping you refine complex expressions and reuse common patterns without retyping them.",[16,2554,2556],{"id":2555},"match-replace-in-automate","🔄 Match & Replace in Automate",[12,2558,2559],{},"Match & Replace rules can now run against requests inside Automate.",[12,2561,2562],{},"When activating a rule, you can choose which tool it applies to:",[54,2564,2565,2568],{},[57,2566,2567],{},"Intercept",[57,2569,2570],{},"Automate",[16,2572,2574],{"id":2573},"pre-configured-edge-browser","🌐 Pre-configured Edge Browser",[12,2576,2577],{},"You can now launch a pre-configured Microsoft Edge browser, in addition to Chrome and Chromium.",[12,2579,2580],{},"This expands browser-testing options and aligns with more user environments.",[16,2582,47],{"id":46},[49,2584,52],{"id":51},[54,2586,2587],{},[57,2588,1230,2589],{},[54,2590,2591,2598],{},[57,2592,2593,2594,2597],{},"New ",[190,2595,2596],{},"dns"," module",[57,2599,2593,2600,2603],{},[190,2601,2602],{},"sdk.hostedFile"," to interact with Caido's Hosted Files",[49,2605,1225],{"id":1224},[54,2607,2608],{},[57,2609,1230,2610],{},[54,2611,2612,2617,2622,2627,2632,2637,2642,2647,2652,2657,2662,2667,2672,2677,2682,2687],{},[57,2613,2614],{},[190,2615,2616],{},"sdk.filters.getCurrentFilter()",[57,2618,2619],{},[190,2620,2621],{},"sdk.filters.onCurrentFilterChange()",[57,2623,2624],{},[190,2625,2626],{},"sdk.filters.addToSlot()",[57,2628,2629],{},[190,2630,2631],{},"sdk.httpHistory.addToSlot()",[57,2633,2634],{},[190,2635,2636],{},"sdk.matchReplace.getCurrentRule()",[57,2638,2639],{},[190,2640,2641],{},"sdk.matchReplace.onCurrentRuleChange()",[57,2643,2644],{},[190,2645,2646],{},"sdk.matchReplace.addToSlot()",[57,2648,2649],{},[190,2650,2651],{},"sdk.replay.getCurrentSession()",[57,2653,2654],{},[190,2655,2656],{},"sdk.replay.showEntry()",[57,2658,2659],{},[190,2660,2661],{},"sdk.replay.getEntry()",[57,2663,2664],{},[190,2665,2666],{},"sdk.replay.onSessionCreate()",[57,2668,2669],{},[190,2670,2671],{},"sdk.replay.onCollectionCreate()",[57,2673,2674],{},[190,2675,2676],{},"sdk.scopes.getCurrentScope()",[57,2678,2679],{},[190,2680,2681],{},"sdk.scopes.onCurrentScopeChange()",[57,2683,2684],{},[190,2685,2686],{},"sdk.scopes.addToSlot()",[57,2688,2689],{},[190,2690,2691],{},"sdk.search.addToSlot()",[16,2693,66],{"id":65},[54,2695,2696,2704,2712,2720,2728,2736,2744,2752,2760,2768,2776,2784,2792,2800,2808,2816,2824,2832,2840],{},[57,2697,2698,2703],{},[72,2699,2702],{"href":2700,"rel":2701},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F99",[76],"#99",": Add \"Switch body encoding\"",[57,2705,2706,2711],{},[72,2707,2710],{"href":2708,"rel":2709},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F174",[76],"#174",": Multipart\u002FForm-data syntax highlighting",[57,2713,2714,2719],{},[72,2715,2718],{"href":2716,"rel":2717},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F547",[76],"#547",": Make collections collapsible in replay, automate, etc",[57,2721,2722,2727],{},[72,2723,2726],{"href":2724,"rel":2725},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F942",[76],"#942",": Add delete all issues button",[57,2729,2730,2735],{},[72,2731,2734],{"href":2732,"rel":2733},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F948",[76],"#948",": Add filter history in http history page",[57,2737,2738,2743],{},[72,2739,2742],{"href":2740,"rel":2741},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1601",[76],"#1601",": Allow user to mass delete in Automate",[57,2745,2746,2751],{},[72,2747,2750],{"href":2748,"rel":2749},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1751",[76],"#1751",": Enable M&R in Automate",[57,2753,2754,2759],{},[72,2755,2758],{"href":2756,"rel":2757},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1867",[76],"#1867",": Enable Creating a New Replay Collection From the Context Menu",[57,2761,2762,2767],{},[72,2763,2766],{"href":2764,"rel":2765},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1873",[76],"#1873",": When closing a replay tab it should pick the next open one",[57,2769,2770,2775],{},[72,2771,2774],{"href":2772,"rel":2773},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1875",[76],"#1875",": Add a path + query column",[57,2777,2778,2783],{},[72,2779,2782],{"href":2780,"rel":2781},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1878",[76],"#1878",": Improve UI responsiveness by getting rid of slow animations",[57,2785,2786,2791],{},[72,2787,2790],{"href":2788,"rel":2789},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1882",[76],"#1882",": Subsequent CTRL+v should continue pasting after the selection",[57,2793,2794,2799],{},[72,2795,2798],{"href":2796,"rel":2797},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1889",[76],"#1889",": Enable Adding Comments to HTTPQL Queries",[57,2801,2802,2807],{},[72,2803,2806],{"href":2804,"rel":2805},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1895",[76],"#1895",": Support Edge for auto-proxied browser",[57,2809,2810,2815],{},[72,2811,2814],{"href":2812,"rel":2813},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1898",[76],"#1898",": Allow user to choose alignment of payloads in automate",[57,2817,2818,2823],{},[72,2819,2822],{"href":2820,"rel":2821},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1900",[76],"#1900",": Right click menu on the automate editor",[57,2825,2826,2831],{},[72,2827,2830],{"href":2828,"rel":2829},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1907",[76],"#1907",": OnReplaySessionCreate and onReplayCollectionCreate events",[57,2833,2834,2839],{},[72,2835,2838],{"href":2836,"rel":2837},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1961",[76],"#1961",": sdk.replay.getCurrentSession()",[57,2841,2842,2847],{},[72,2843,2846],{"href":2844,"rel":2845},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1983",[76],"#1983",": Hosted file backend sdk",[16,2849,154],{"id":153},[54,2851,2852,2860,2868,2883,2891,2899,2910,2918,2926,2937,2945,2953,2961,2969,2977,2985,2993,3001],{},[57,2853,2854,2859],{},[72,2855,2858],{"href":2856,"rel":2857},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F806",[76],"#806",": Workflow convert end should consider empty string as missing",[57,2861,2862,2867],{},[72,2863,2866],{"href":2864,"rel":2865},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1333",[76],"#1333",": Environments require double save",[57,2869,2870,2875,2876,1934,2879,2882],{},[72,2871,2874],{"href":2872,"rel":2873},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1802",[76],"#1802",": ",[594,2877,2878],{},"M&R",[594,2880,2881],{},"BUG"," Right-click Rename of Rule Edits Collection Name",[57,2884,2885,2890],{},[72,2886,2889],{"href":2887,"rel":2888},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1813",[76],"#1813",": Code Inside Workflow Editor Gets Overwritten When Switching Between Nodes",[57,2892,2893,2898],{},[72,2894,2897],{"href":2895,"rel":2896},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1824",[76],"#1824",": Find Box in Response Pane Doesn't Persist When Selecting a Different Row",[57,2900,2901,2875,2906,2909],{},[72,2902,2905],{"href":2903,"rel":2904},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1840",[76],"#1840",[190,2907,2908],{},"Duplicate"," in Replay Creates an Empty Tab",[57,2911,2912,2917],{},[72,2913,2916],{"href":2914,"rel":2915},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1851",[76],"#1851",": Fix UI for large environment variables",[57,2919,2920,2925],{},[72,2921,2924],{"href":2922,"rel":2923},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1874",[76],"#1874",": On large screen the gap to resize columns is too small",[57,2927,2928,2875,2933,2936],{},[72,2929,2932],{"href":2930,"rel":2931},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1879",[76],"#1879",[190,2934,2935],{},"Send to Replay"," in Intercept Causes Wrong Request to be Sent",[57,2938,2939,2944],{},[72,2940,2943],{"href":2941,"rel":2942},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1888",[76],"#1888",": Color flicker when scrolled down in http history and new rows are coming in",[57,2946,2947,2952],{},[72,2948,2951],{"href":2949,"rel":2950},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1903",[76],"#1903",": Workflow pop-up panel sometimes remove references",[57,2954,2955,2960],{},[72,2956,2959],{"href":2957,"rel":2958},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1937",[76],"#1937",": reguest.getHeader split User-Agent",[57,2962,2963,2968],{},[72,2964,2967],{"href":2965,"rel":2966},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1940",[76],"#1940",": request.getHeader comma parsing issue",[57,2970,2971,2976],{},[72,2972,2975],{"href":2973,"rel":2974},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1945",[76],"#1945",": Request Pane is Not Updated with Caido.graphql.setActiveReplaySessionEntry",[57,2978,2979,2984],{},[72,2980,2983],{"href":2981,"rel":2982},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1953",[76],"#1953",": Double slash in calls to AI providers with custom URL",[57,2986,2987,2992],{},[72,2988,2991],{"href":2989,"rel":2990},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1954",[76],"#1954",": Update preview browser",[57,2994,2995,3000],{},[72,2996,2999],{"href":2997,"rel":2998},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1967",[76],"#1967",": Workflow bytes input doesnt work with text input",[57,3002,3003,3008],{},[72,3004,3007],{"href":3005,"rel":3006},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1982",[76],"#1982",": AI SDK various bugs",[16,3010,1629],{"id":1628},[54,3012,3013],{},[57,3014,3015,3018,3019],{},[365,3016,3017],{},"0.54.1",":\n",[54,3020,3021,3029,3037],{},[57,3022,3023,3028],{},[72,3024,3027],{"href":3025,"rel":3026},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1917",[76],"#1917",": Scope In-Scope and Out-of-Scope inputs cant be edited until scope is created",[57,3030,3031,3036],{},[72,3032,3035],{"href":3033,"rel":3034},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1928",[76],"#1928",": Convert Panel doesn't Auto Detect URL Encoding + Base64 Decode and fails in Chain",[57,3038,3039,3044],{},[72,3040,3043],{"href":3041,"rel":3042},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F2002",[76],"#2002",": sdk.ui.httpRequestEditor doesn't render properly",{"title":195,"searchDepth":196,"depth":196,"links":3046},[3047,3048,3049,3050,3051,3055,3056,3057],{"id":2521,"depth":196,"text":2522},{"id":2545,"depth":196,"text":2546},{"id":2555,"depth":196,"text":2556},{"id":2573,"depth":196,"text":2574},{"id":46,"depth":196,"text":47,"children":3052},[3053,3054],{"id":51,"depth":205,"text":52},{"id":1224,"depth":205,"text":1225},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-12-09-release-v0-54-0\u002Fog.png","2025-12-09",{},"\u002Fblog\u002F2025-12-09-release-v0-54-0",{"text":1162,"minutes":3063,"time":3064,"words":3065},2.2,132000,440,{"title":2513,"description":210},"blog\u002F2025-12-09-release-v0-54-0","lPcGYfmYgUrm4AO-A9RkJdjwjytdmJCjVb_qfIaIqDY",{"id":3070,"title":3071,"author":7,"body":3072,"coverImage":3541,"createdAt":3542,"description":210,"excerpt":211,"extension":212,"meta":3543,"navigation":214,"path":3544,"readingTime":3545,"seo":3549,"stem":3550,"subtitle":211,"useFirstImageAsCover":223,"__hash__":3551},"blog\u002Fblog\u002F2025-11-06-release-v0-53-0.md","Caido v0.53.0",{"type":9,"value":3073,"toc":3527},[3074,3077,3081,3084,3087,3095,3103,3107,3110,3124,3128,3131,3139,3143,3146,3150,3153,3155,3157,3166,3168,3208,3212,3421,3423,3481,3483],[12,3075,3076],{},"This update introduces shared instances for teams, a new Convert drawer for on-the-fly transformations, redirect handling in Automate, and major SDK upgrades for plugin developers.",[16,3078,3080],{"id":3079},"shared-instances-team-plan","🔥 Shared Instances (Team Plan)",[12,3082,3083],{},"Multiple users can now connect to the same Caido instance.",[12,3085,3086],{},"This opens the door to new ways of collaborating:",[54,3088,3089,3092],{},[57,3090,3091],{},"Continue an assessment where a teammate left off",[57,3093,3094],{},"Collaborate in real-time on the same instance (coming soon — still experimental in this release)",[12,3096,3097,3098,3102],{},"Visit ",[72,3099,3100],{"href":3100,"rel":3101},"https:\u002F\u002Fdashboard.caido.io\u002F",[76]," to create a team and get started.",[16,3104,3106],{"id":3105},"convert-drawer","📐 Convert Drawer",[12,3108,3109],{},"A new bottom drawer for automatic encoding detection and quick conversions.\nSupports the following conversions:",[54,3111,3112,3115,3118,3121],{},[57,3113,3114],{},"Base64",[57,3116,3117],{},"Base64 URL",[57,3119,3120],{},"URL",[57,3122,3123],{},"HTML",[16,3125,3127],{"id":3126},"️-new-right-click-menu-items","🖱️ New Right-click Menu Items",[12,3129,3130],{},"We've added two new right-click menu items:",[54,3132,3133,3136],{},[57,3134,3135],{},"You can now convert POST bodies between JSON ↔ x-www-form-urlencoded",[57,3137,3138],{},"You can now save requests to a file",[16,3140,3142],{"id":3141},"automate-follow-redirects","🔄 Automate: Follow Redirects",[12,3144,3145],{},"Automate can now follow redirects automatically, making automated testing smoother for chained requests.",[16,3147,3149],{"id":3148},"match-replace-sni-override","🔒 Match & Replace: SNI Override",[12,3151,3152],{},"Match & Replace now supports overriding the SNI (Server Name Indication) field.",[16,3154,47],{"id":46},[49,3156,52],{"id":51},[54,3158,3159],{},[57,3160,3161,3162,3165],{},"Added an option to ",[190,3163,3164],{},"sdk.requests.inScope"," to specify which scopes to match against",[49,3167,1225],{"id":1224},[54,3169,3170,3176,3182,3188],{},[57,3171,3172,3173],{},"Added ",[190,3174,3175],{},"sdk.log.info|warn|debug|error",[57,3177,3172,3178,3181],{},[190,3179,3180],{},"sdk.commandPalette.pushView"," to add custom views to the command palette",[57,3183,3184,3185],{},"You can now use ",[72,3186,3187],{}," tags to open windows in the user's default browser",[72,3189,3190,3196,3202],{},[57,3191,3172,3192,3195],{},[190,3193,3194],{},"sdk.projects.onCurrentProjectChange"," to track when a user switches project",[57,3197,3172,3198,3201],{},[190,3199,3200],{},"sdk.navigation.onPageChange"," to track when a user navigates",[57,3203,3172,3204,3207],{},[190,3205,3206],{},"sdk.replay.onCurrentSessionChange"," to track the currently selected replay session",[72,3209,3210],{},[16,3211,66],{"id":65},[54,3213,3214,3216,3226,3234,3242,3250,3258,3266,3274,3282,3293,3301,3309,3317,3325,3333,3341,3349,3357,3365,3373,3381,3389,3397,3405,3413],{},[72,3215],{},[57,3217,3218,3220,3225],{},[72,3219],{},[72,3221,3224],{"href":3222,"rel":3223},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F160",[76],"#160",": Shortcut to close\u002Fre-open replay sessions",[57,3227,3228,3233],{},[72,3229,3232],{"href":3230,"rel":3231},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F278",[76],"#278",": Allow automate to follow redirects",[57,3235,3236,3241],{},[72,3237,3240],{"href":3238,"rel":3239},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F669",[76],"#669",": 'Convert body encoding' for JSON\u002FX-www-form-urlencoded",[57,3243,3244,3249],{},[72,3245,3248],{"href":3246,"rel":3247},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F794",[76],"#794",": Option to Move Left Sidebar to Right Side of Screen",[57,3251,3252,3257],{},[72,3253,3256],{"href":3254,"rel":3255},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1019",[76],"#1019",": Set Color Workflow Node Needs Color Picker",[57,3259,3260,3265],{},[72,3261,3264],{"href":3262,"rel":3263},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1035",[76],"#1035",": Save request to file",[57,3267,3268,3273],{},[72,3269,3272],{"href":3270,"rel":3271},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1268",[76],"#1268",": Allow Match&Replace to override SNI",[57,3275,3276,3281],{},[72,3277,3280],{"href":3278,"rel":3279},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1290",[76],"#1290",": Enhancement Request: Enable Closing Command Window by Clicking Anywhere",[57,3283,3284,2875,3289,3292],{},[72,3285,3288],{"href":3286,"rel":3287},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1312",[76],"#1312",[594,3290,3291],{},"GHFB"," Resizable HTTPQL Bar",[57,3294,3295,3300],{},[72,3296,3299],{"href":3297,"rel":3298},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1348",[76],"#1348",": Add logging frontend SDK",[57,3302,3303,3308],{},[72,3304,3307],{"href":3305,"rel":3306},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1406",[76],"#1406",": Add a confirmation before upgrading a project",[57,3310,3311,3316],{},[72,3312,3315],{"href":3313,"rel":3314},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1446",[76],"#1446",": Frontend SDK: second popup API",[57,3318,3319,3324],{},[72,3320,3323],{"href":3321,"rel":3322},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1451",[76],"#1451",": Findings - Indicator for Unseen Findings in Reporters and Table Interface",[57,3326,3327,3332],{},[72,3328,3331],{"href":3329,"rel":3330},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1514",[76],"#1514",": Finding Description  Add Markdown rendering   - Description field in full screen",[57,3334,3335,3340],{},[72,3336,3339],{"href":3337,"rel":3338},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1558",[76],"#1558",": Add CTRL+S Save Keybind to Workflow Editor",[57,3342,3343,3348],{},[72,3344,3347],{"href":3345,"rel":3346},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1643",[76],"#1643",": Add SDK to Open Links in External Browser",[57,3350,3351,3356],{},[72,3352,3355],{"href":3353,"rel":3354},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1677",[76],"#1677",": Add reset all settings button",[57,3358,3359,3364],{},[72,3360,3363],{"href":3361,"rel":3362},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1679",[76],"#1679",": Backend SDK: way to list scopes & match against specific scopes",[57,3366,3367,3372],{},[72,3368,3371],{"href":3369,"rel":3370},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1698",[76],"#1698",": SDK Function: onProjectChange",[57,3374,3375,3380],{},[72,3376,3379],{"href":3377,"rel":3378},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1746",[76],"#1746",": Revert Changes in Workflow",[57,3382,3383,3388],{},[72,3384,3387],{"href":3385,"rel":3386},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1773",[76],"#1773",": Allow multiple users to connect to a Caido instance",[57,3390,3391,3396],{},[72,3392,3395],{"href":3393,"rel":3394},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1785",[76],"#1785",": Convert bottom drawer",[57,3398,3399,3404],{},[72,3400,3403],{"href":3401,"rel":3402},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1805",[76],"#1805",": Add a frontend sdk function for onPageChange",[57,3406,3407,3412],{},[72,3408,3411],{"href":3409,"rel":3410},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1806",[76],"#1806",": Add a frontend SDK function for subscribing to current replay session ID",[57,3414,3415,3420],{},[72,3416,3419],{"href":3417,"rel":3418},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1872",[76],"#1872",": Use onmousedown events rather than onmouseup in UI",[16,3422,154],{"id":153},[54,3424,3425,3433,3441,3449,3457,3473],{},[57,3426,3427,3432],{},[72,3428,3431],{"href":3429,"rel":3430},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F977",[76],"#977",": Inconsistent naming pattern for the tabs",[57,3434,3435,3440],{},[72,3436,3439],{"href":3437,"rel":3438},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1837",[76],"#1837",": Can't remove api keys from the AI settings page",[57,3442,3443,3448],{},[72,3444,3447],{"href":3445,"rel":3446},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1838",[76],"#1838",": Caido AI SDK provider doesnt handle OpenRouter model IDs",[57,3450,3451,3456],{},[72,3452,3455],{"href":3453,"rel":3454},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1870",[76],"#1870",": Side menu labels misaligned",[57,3458,3459,3464,3465,3468,3469,3472],{},[72,3460,3463],{"href":3461,"rel":3462},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1871",[76],"#1871",": Backend SDK: ",[190,3466,3467],{},"response.getHeader"," doesn't properly handle ",[190,3470,3471],{},"set-cookie"," header",[57,3474,3475,3480],{},[72,3476,3479],{"href":3477,"rel":3478},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1926",[76],"#1926",": Payload Number for Null Payload Isn't Respected",[16,3482,1629],{"id":1628},[54,3484,3485],{},[57,3486,3487,3018,3490],{},[365,3488,3489],{},"0.53.1",[54,3491,3492,3500,3508,3514,3522],{},[57,3493,3494,3499],{},[72,3495,3498],{"href":3496,"rel":3497},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1929",[76],"#1929",": Fixed an issue where httpHistory.setQuery didn't properly update the search bars",[57,3501,3502,3507],{},[72,3503,3506],{"href":3504,"rel":3505},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1931",[76],"#1931",": Navigating findings with arrow keys now correctly marks them as read — matching mouse behavior",[57,3509,3510,3513],{},[72,3511,2959],{"href":2957,"rel":3512},[76],": Resolved a header parsing issue affecting request.getHeader",[57,3515,3516,3521],{},[72,3517,3520],{"href":3518,"rel":3519},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1939",[76],"#1939",": Fixed launch failure for the Linux builds",[57,3523,3524,3513],{},[72,3525,2967],{"href":2965,"rel":3526},[76],{"title":195,"searchDepth":196,"depth":196,"links":3528},[3529,3530,3531,3532,3533,3534,3538,3539,3540],{"id":3079,"depth":196,"text":3080},{"id":3105,"depth":196,"text":3106},{"id":3126,"depth":196,"text":3127},{"id":3141,"depth":196,"text":3142},{"id":3148,"depth":196,"text":3149},{"id":46,"depth":196,"text":47,"children":3535},[3536,3537],{"id":51,"depth":205,"text":52},{"id":1224,"depth":205,"text":1225},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-11-06-release-v0-53-0\u002Fog.png","2025-11-06",{},"\u002Fblog\u002F2025-11-06-release-v0-53-0",{"text":1162,"minutes":3546,"time":3547,"words":3548},2.33,139800,466,{"title":3071,"description":210},"blog\u002F2025-11-06-release-v0-53-0","YwpisRip0becDb7eJbFqawHrUaI9U4jI-VRdd7q8BFg",{"id":3553,"title":3554,"author":7,"body":3555,"coverImage":3900,"createdAt":3901,"description":210,"excerpt":211,"extension":212,"meta":3902,"navigation":214,"path":3903,"readingTime":3904,"seo":3908,"stem":3909,"subtitle":211,"useFirstImageAsCover":223,"__hash__":3910},"blog\u002Fblog\u002F2025-09-24-release-v0-52-0.md","Caido v0.52.0",{"type":9,"value":3556,"toc":3887},[3557,3560,3564,3573,3577,3580,3584,3587,3591,3594,3598,3605,3609,3612,3616,3619,3621,3638,3640,3654,3656,3816,3818],[12,3558,3559],{},"This release introduces first-class AI support for plugins. It also brings major improvements to Replay, updates to the Plugin Store, Match & Replace, and SDKs, plus quality-of-life enhancements and bug fixes.",[16,3561,3563],{"id":3562},"replay-history","📜 Replay History",[12,3565,3566,3567,3572],{},"Replay sessions now include a searchable history. Thanks to ",[72,3568,3571],{"href":3569,"rel":3570},"https:\u002F\u002Fx.com\u002Fngalongc\u002Fstatus\u002F1955514939457810551",[76],"Ron Chan"," for the idea!",[16,3574,3576],{"id":3575},"official-plugins","🧩 Official Plugins",[12,3578,3579],{},"There's now a dedicated Store section for official Caido plugins, making it easier to find and install trusted extensions.",[16,3581,3583],{"id":3582},"collapsible-sidebar-groups","📂 Collapsible Sidebar Groups",[12,3585,3586],{},"Sidebar groups can now be collapsed, helping you keep your workspace tidy and focused.",[16,3588,3590],{"id":3589},"match-replace-raw-mode","🔍 Match & Replace: Raw Mode",[12,3592,3593],{},"You can now create Match & Replace rules directly on the raw request\u002Fresponse, giving you more flexibility when transforming traffic.",[16,3595,3597],{"id":3596},"replay-force-close-option","⚡ Replay: Force Close Option",[12,3599,3600,3601,3604],{},"Replay requests now include a \"Force close connection\" option. This speeds up responses when a request is missing the ",[190,3602,3603],{},"Connection: close"," header.",[16,3606,3608],{"id":3607},"free-project-backups-for-all","💾 Free Project Backups for All",[12,3610,3611],{},"Creating project backups is no longer limited to paid plans.",[16,3613,3615],{"id":3614},"ai-sdk","🤖 AI SDK",[12,3617,3618],{},"Plugin developers can now use the AI SDK with Caido's provider system. This lets plugins perform AI actions using the user's own API keys.",[16,3620,52],{"id":51},[54,3622,3623,3632],{},[57,3624,3172,3625,411,3628,3631],{},[190,3626,3627],{},"fs.rename",[190,3629,3630],{},"fs.renameSync"," for file system operations.",[57,3633,3172,3634,3637],{},[190,3635,3636],{},"project.getPath()"," to get the project's location on disk.",[16,3639,1225],{"id":1224},[54,3641,3642,3648],{},[57,3643,3172,3644,3647],{},[365,3645,3646],{},"custom request view modes",": plugins can now add new tabs inside the request editor (e.g., GraphQL view, Hex view).",[57,3649,3172,3650,3653],{},[190,3651,3652],{},"sdk.search.httpHistory.scrollTo(id)"," to jump directly to a request in HTTP History or Search.",[16,3655,66],{"id":65},[54,3657,3658,3666,3674,3682,3690,3698,3706,3714,3722,3730,3738,3746,3754,3762,3776,3784,3792,3800,3808],{},[57,3659,3660,3665],{},[72,3661,3664],{"href":3662,"rel":3663},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F789",[76],"#789",": Notify user when an automated task is done",[57,3667,3668,3673],{},[72,3669,3672],{"href":3670,"rel":3671},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F832",[76],"#832",": Disable autoscroll in HTTP History when not on top of the list",[57,3675,3676,3681],{},[72,3677,3680],{"href":3678,"rel":3679},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1365",[76],"#1365",": fs.rename and renameSync acces",[57,3683,3684,3689],{},[72,3685,3688],{"href":3686,"rel":3687},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1439",[76],"#1439",": Expose an AI API in the SDK",[57,3691,3692,3697],{},[72,3693,3696],{"href":3694,"rel":3695},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1549",[76],"#1549",": Add Workflow Name to Error Logs",[57,3699,3700,3705],{},[72,3701,3704],{"href":3702,"rel":3703},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1563",[76],"#1563",": Add Shortcut Options to Navigate to Installed Plugins",[57,3707,3708,3713],{},[72,3709,3712],{"href":3710,"rel":3711},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1633",[76],"#1633",": Raw request\u002Fresponse in Match&Replace",[57,3715,3716,3721],{},[72,3717,3720],{"href":3718,"rel":3719},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1700",[76],"#1700",": Separate official plugins vs third-party plugins",[57,3723,3724,3729],{},[72,3725,3728],{"href":3726,"rel":3727},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1721",[76],"#1721",": Replay: Bring Back Sidebar Collapse\u002FOverlay Option",[57,3731,3732,3737],{},[72,3733,3736],{"href":3734,"rel":3735},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1745",[76],"#1745",": Duplicate Environment",[57,3739,3740,3745],{},[72,3741,3744],{"href":3742,"rel":3743},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1756",[76],"#1756",": SDK for jump to request ID",[57,3747,3748,3753],{},[72,3749,3752],{"href":3750,"rel":3751},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1771",[76],"#1771",": Add custom view modes for request editors",[57,3755,3756,3761],{},[72,3757,3760],{"href":3758,"rel":3759},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1772",[76],"#1772",": Make backup creation free for all users",[57,3763,3764,2875,3769,1934,3772,3775],{},[72,3765,3768],{"href":3766,"rel":3767},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1774",[76],"#1774",[594,3770,3771],{},"WORKSPACE",[594,3773,3774],{},"BACKUPS"," Multi-select option for Caido backups",[57,3777,3778,3783],{},[72,3779,3782],{"href":3780,"rel":3781},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1777",[76],"#1777",": Add an option Force close connection in replay",[57,3785,3786,3791],{},[72,3787,3790],{"href":3788,"rel":3789},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1781",[76],"#1781",": Allow sdk Project to get path",[57,3793,3794,3799],{},[72,3795,3798],{"href":3796,"rel":3797},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1782",[76],"#1782",": Allow sidebar items to be collapsible",[57,3801,3802,3807],{},[72,3803,3806],{"href":3804,"rel":3805},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1783",[76],"#1783",": Make replay entries searchable inside a replay session",[57,3809,3810,3815],{},[72,3811,3814],{"href":3812,"rel":3813},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1788",[76],"#1788",": Use standard keyboard shortcut to view settings",[16,3817,154],{"id":153},[54,3819,3820,3828,3836,3844,3855,3863,3871,3879],{},[57,3821,3822,3827],{},[72,3823,3826],{"href":3824,"rel":3825},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1685",[76],"#1685",": When deleting all requests, table stay in Loading",[57,3829,3830,3835],{},[72,3831,3834],{"href":3832,"rel":3833},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1692",[76],"#1692",": Downgraded users still have access to projects above limit",[57,3837,3838,3843],{},[72,3839,3842],{"href":3840,"rel":3841},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1704",[76],"#1704",": Add \"Invalid HTTPQL query. Please check the syntax and try again.\" error message to Intercept",[57,3845,3846,2875,3851,3854],{},[72,3847,3850],{"href":3848,"rel":3849},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1724",[76],"#1724",[190,3852,3853],{},"Jump to row"," Doesn't Appear Until The Table Is Manually Scrolled",[57,3856,3857,3862],{},[72,3858,3861],{"href":3859,"rel":3860},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1728",[76],"#1728",": Race Condition Bypass Allows Installing More Than 3 Plugins in Caido Free Edition",[57,3864,3865,3870],{},[72,3866,3869],{"href":3867,"rel":3868},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1734",[76],"#1734",": Findings overflow",[57,3872,3873,3878],{},[72,3874,3877],{"href":3875,"rel":3876},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1741",[76],"#1741",": HTTPQL Ctrl-Z Missing",[57,3880,3881,3886],{},[72,3882,3885],{"href":3883,"rel":3884},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1758",[76],"#1758",": Syntax Highlighting Breaks for Consecutive Empty URI Parameters",{"title":195,"searchDepth":196,"depth":196,"links":3888},[3889,3890,3891,3892,3893,3894,3895,3896,3897,3898,3899],{"id":3562,"depth":196,"text":3563},{"id":3575,"depth":196,"text":3576},{"id":3582,"depth":196,"text":3583},{"id":3589,"depth":196,"text":3590},{"id":3596,"depth":196,"text":3597},{"id":3607,"depth":196,"text":3608},{"id":3614,"depth":196,"text":3615},{"id":51,"depth":196,"text":52},{"id":1224,"depth":196,"text":1225},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-09-24-release-v0-52-0\u002Fog.png","2025-09-24",{},"\u002Fblog\u002F2025-09-24-release-v0-52-0",{"text":1162,"minutes":3905,"time":3906,"words":3907},2.04,122400,408,{"title":3554,"description":210},"blog\u002F2025-09-24-release-v0-52-0","uGiaaxjv0Pqlrx8BD2WbTR11vQ65TzO9PsEqqjlOGXw",{"id":3912,"title":3913,"author":7,"body":3914,"coverImage":4135,"createdAt":4136,"description":210,"excerpt":211,"extension":212,"meta":4137,"navigation":214,"path":4138,"readingTime":4139,"seo":4143,"stem":4144,"subtitle":211,"useFirstImageAsCover":223,"__hash__":4145},"blog\u002Fblog\u002F2025-08-26-release-v0-51-0.md","Caido v0.51.0",{"type":9,"value":3915,"toc":4127},[3916,3919,3923,3926,3930,3933,3937,3940,3942,3984,3986,4108,4110],[12,3917,3918],{},"This release introduces workflow run history and Findings export, along with improvements to the Backend SDK and various bug fixes.",[16,3920,3922],{"id":3921},"workflow-run-history","📜 Workflow Run History",[12,3924,3925],{},"Past workflow runs can now be viewed in Convert, Passive, and Active workflows. For each run, you can see what input was received by every node and what output was produced, making it easier to understand and troubleshoot workflows.",[16,3927,3929],{"id":3928},"exporting-findings","📤 Exporting Findings",[12,3931,3932],{},"The Findings page now supports exporting in JSON format. This allows you to process findings with other tools, integrate them into your reports, or share them with your team.",[16,3934,3936],{"id":3935},"️-backend-sdk-graphql-access","🛠️ Backend SDK: GraphQL Access",[12,3938,3939],{},"Backend plugins can now perform GraphQL calls directly, giving them access to Caido's internals. This opens the door for more powerful plugins that can query and interact with your data.",[16,3941,66],{"id":65},[54,3943,3944,3952,3960,3968,3976],{},[57,3945,3946,3951],{},[72,3947,3950],{"href":3948,"rel":3949},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F932",[76],"#932",": Save the last X workflow runs",[57,3953,3954,3959],{},[72,3955,3958],{"href":3956,"rel":3957},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1345",[76],"#1345",": Export Functionality for Findings",[57,3961,3962,3967],{},[72,3963,3966],{"href":3964,"rel":3965},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1636",[76],"#1636",": sdk.meta.db subsequent calls should return the same object",[57,3969,3970,3975],{},[72,3971,3974],{"href":3972,"rel":3973},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1687",[76],"#1687",": Backend SDK: Allow to access the graphql API",[57,3977,3978,3983],{},[72,3979,3982],{"href":3980,"rel":3981},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1754",[76],"#1754",": Log package id alongside the plugin id",[16,3985,154],{"id":153},[54,3987,3988,3996,4004,4012,4020,4028,4036,4044,4052,4060,4068,4076,4084,4092,4100],{},[57,3989,3990,3995],{},[72,3991,3994],{"href":3992,"rel":3993},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F474",[76],"#474",": Assistant credits are not pulled when giving the scope",[57,3997,3998,4003],{},[72,3999,4002],{"href":4000,"rel":4001},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1073",[76],"#1073",": Unable to place adjacent placeholders in Automate",[57,4005,4006,4011],{},[72,4007,4010],{"href":4008,"rel":4009},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1218",[76],"#1218",": Display hidden characters removes the display of placeholders",[57,4013,4014,4019],{},[72,4015,4018],{"href":4016,"rel":4017},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1554",[76],"#1554",": addRequestEditorExtension and addResponseEditorExtension doesn't persist across editor resets",[57,4021,4022,4027],{},[72,4023,4026],{"href":4024,"rel":4025},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1557",[76],"#1557",": Files page isn't usable if hosted file was deleted manually",[57,4029,4030,4035],{},[72,4031,4034],{"href":4032,"rel":4033},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1569",[76],"#1569",": Badge for Counting Added Items in Replay Is Missing",[57,4037,4038,4043],{},[72,4039,4042],{"href":4040,"rel":4041},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1674",[76],"#1674",": Upstream Proxy user and password disappear after proxy disabled",[57,4045,4046,4051],{},[72,4047,4050],{"href":4048,"rel":4049},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1680",[76],"#1680",": Undo in replay will show previously clicked tabs",[57,4053,4054,4059],{},[72,4055,4058],{"href":4056,"rel":4057},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1683",[76],"#1683",": Replay placeholder preprocessor disappears after using left-right arrows to switch entries",[57,4061,4062,4067],{},[72,4063,4066],{"href":4064,"rel":4065},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1693",[76],"#1693",": Downgraded users still have access to workflows above limit",[57,4069,4070,4075],{},[72,4071,4074],{"href":4072,"rel":4073},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1699",[76],"#1699",": Reactivity of user profile\u002Fplan change",[57,4077,4078,4083],{},[72,4079,4082],{"href":4080,"rel":4081},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1712",[76],"#1712",": Traffic tables are not automatically updating with the latest proxied requests",[57,4085,4086,4091],{},[72,4087,4090],{"href":4088,"rel":4089},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1717",[76],"#1717",": Downgraded users still have access to filters above limit",[57,4093,4094,4099],{},[72,4095,4098],{"href":4096,"rel":4097},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1719",[76],"#1719",": Fix consistency in HTTPQL operators",[57,4101,4102,4107],{},[72,4103,4106],{"href":4104,"rel":4105},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1725",[76],"#1725",": Scroll position offsets when sending in replay",[16,4109,1629],{"id":1628},[54,4111,4112],{},[57,4113,4114,3018,4117],{},[365,4115,4116],{},"0.51.1",[54,4118,4119],{},[57,4120,4121,4126],{},[72,4122,4125],{"href":4123,"rel":4124},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1769",[76],"#1769",": Switching between workflow nodes do not update fields",{"title":195,"searchDepth":196,"depth":196,"links":4128},[4129,4130,4131,4132,4133,4134],{"id":3921,"depth":196,"text":3922},{"id":3928,"depth":196,"text":3929},{"id":3935,"depth":196,"text":3936},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-08-26-release-v0-51-0\u002Fog.png","2025-08-26",{},"\u002Fblog\u002F2025-08-26-release-v0-51-0",{"text":217,"minutes":4140,"time":4141,"words":4142},1.465,87900,293,{"title":3913,"description":210},"blog\u002F2025-08-26-release-v0-51-0","Kr57K0ja2hV_X__VsTcZgqh82wE00Vu5i-U7xuXKYAQ",{"id":4147,"title":4148,"author":7,"body":4149,"coverImage":4248,"createdAt":4249,"description":4250,"excerpt":211,"extension":212,"meta":4251,"navigation":214,"path":4252,"readingTime":4253,"seo":4257,"stem":4258,"subtitle":211,"useFirstImageAsCover":223,"__hash__":4259},"blog\u002Fblog\u002F2025-08-21-localized-pricing.md","Introducing Localized Pricing",{"type":9,"value":4150,"toc":4243},[4151,4157,4161,4164,4176,4180,4187,4190,4233,4237,4240],[12,4152,4153,4154],{},"Hackers use Caido in every corner of the world, and we want it to feel equally accessible no matter where you live. That’s why we’re introducing ",[365,4155,4156],{},"localized pricing.",[16,4158,4160],{"id":4159},"what-is-localized-pricing","What is Localized Pricing?",[12,4162,4163],{},"Localized pricing is a way of setting prices based on local economic conditions, so that a subscription feels fair and affordable no matter where you live.",[12,4165,4166,4167,4175],{},"To do this, we’re basing localized pricing on ",[72,4168,4172],{":target":4169,"href":4170,"rel":4171},"_blank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPurchasing_power_parity",[76],[365,4173,4174],{},"purchasing power parity (PPP)",", a way of adjusting costs so that our price feels closer to what $20\u002Fmonth or $200\u002Fyear costs in the US.",[16,4177,4179],{"id":4178},"starting-with-brazil","Starting with Brazil",[12,4181,4182,4183,4186],{},"We’re beginning this rollout step by step, starting with Brazil, our third largest community of users. With localized pricing, individual plans are dropping by about ",[365,4184,4185],{},"50%"," compared to the USD equivalent.",[12,4188,4189],{},"Here’s the change at a glance:",[1907,4191,4192,4205],{},[1910,4193,4194],{},[1913,4195,4196,4199,4202],{},[1916,4197,4198],{},"Plan",[1916,4200,4201],{},"Before (approx. BRL, based on USD)",[1916,4203,4204],{},"New Localized Price",[1923,4206,4207,4220],{},[1913,4208,4209,4212,4215],{},[1928,4210,4211],{},"Individual Monthly",[1928,4213,4214],{},"~110 BRL",[1928,4216,4217],{},[365,4218,4219],{},"55 BRL",[1913,4221,4222,4225,4228],{},[1928,4223,4224],{},"Individual Yearly",[1928,4226,4227],{},"~1,100 BRL",[1928,4229,4230],{},[365,4231,4232],{},"550 BRL",[16,4234,4236],{"id":4235},"whats-next","What’s Next",[12,4238,4239],{},"We're starting with Brazil as an experiment, and if it works well, we’ll bring localized pricing to more regions over time.",[12,4241,4242],{},"If Caido feels out of reach where you live, tell us. Your feedback will guide where localized pricing comes next.",{"title":195,"searchDepth":196,"depth":196,"links":4244},[4245,4246,4247],{"id":4159,"depth":196,"text":4160},{"id":4178,"depth":196,"text":4179},{"id":4235,"depth":196,"text":4236},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-08-21-localized-pricing\u002Fog.png","2025-08-21","Fair pricing, wherever you live.",{},"\u002Fblog\u002F2025-08-21-localized-pricing",{"text":2504,"minutes":4254,"time":4255,"words":4256},0.885,53100,177,{"title":4148,"description":4250},"blog\u002F2025-08-21-localized-pricing","f53FhgWiKF4FMorBsvOocHM3BZuNcGHYoTAlrANG3FA",{"id":4261,"title":4262,"author":7,"body":4263,"coverImage":4644,"createdAt":4645,"description":210,"excerpt":211,"extension":212,"meta":4646,"navigation":214,"path":4647,"readingTime":4648,"seo":4652,"stem":4653,"subtitle":211,"useFirstImageAsCover":223,"__hash__":4654},"blog\u002Fblog\u002F2025-07-24-release-v0-50-0.md","Caido v0.50.0",{"type":9,"value":4264,"toc":4634},[4265,4268,4271,4274,4278,4281,4285,4288,4292,4299,4303,4306,4310,4316,4318,4448,4450,4584,4586],[12,4266,4267],{},"Caido v0.50.0 introduces several quality-of-life improvements.",[12,4269,4270],{},"You can now run workflows directly from the editor, save HTTPQL queries as presets, and jump to selected rows in tables. A new vertical layout option is available for tall screens, and you can now customize the UI font to your preference.",[12,4272,4273],{},"This release also includes many smaller features, improvements, and bug fixes.",[16,4275,4277],{"id":4276},"active-passive-workflow-testing","🚀 Active & Passive Workflow Testing",[12,4279,4280],{},"You can now run active and passive workflows directly from the workflow editor. Set a sample request and response, then click \"Run\" to see the workflow in action without leaving the editor.",[16,4282,4284],{"id":4283},"jump-to-row","🧭 Jump to Row",[12,4286,4287],{},"We've added a new button in the HTTP History and Search tables to jump to the currently selected row. This is useful when you want to quickly return to the row you were focused on.",[16,4289,4291],{"id":4290},"vertical-layout","🧱 Vertical Layout",[12,4293,4294,4295,4298],{},"There's a new setting to change the layout orientation for better support on vertical screens. Head to ",[365,4296,4297],{},"Settings → Appearance"," to toggle between \"Horizontal\" and \"Vertical\" layout.",[16,4300,4302],{"id":4301},"saving-httpql-queries","💾 Saving HTTPQL Queries",[12,4304,4305],{},"You can now save your HTTPQL queries as presets more easily. Just click the \"Save\" button in any HTTPQL search bar to store your query for future use.",[16,4307,4309],{"id":4308},"changing-fonts","🔤 Changing Fonts",[12,4311,4312,4313,4315],{},"We've added a new setting to customize the UI font. Visit ",[365,4314,4297],{}," to choose from a variety of fonts. Note: some fonts may need to be installed on your system first.",[16,4317,66],{"id":65},[54,4319,4320,4328,4336,4344,4352,4360,4368,4376,4384,4392,4400,4408,4416,4424,4432,4440],{},[57,4321,4322,4327],{},[72,4323,4326],{"href":4324,"rel":4325},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F556",[76],"556",": The scope selector isn't synced between tabs",[57,4329,4330,4335],{},[72,4331,4334],{"href":4332,"rel":4333},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F664",[76],"664",": Vertical layout",[57,4337,4338,4343],{},[72,4339,4342],{"href":4340,"rel":4341},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F764",[76],"764",": Add right-click clipboard paste",[57,4345,4346,4351],{},[72,4347,4350],{"href":4348,"rel":4349},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F834",[76],"834",": Add a \"Reveal in table\" menu item",[57,4353,4354,4359],{},[72,4355,4358],{"href":4356,"rel":4357},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F837",[76],"837",": Save the settings of the automate UI columns length",[57,4361,4362,4367],{},[72,4363,4366],{"href":4364,"rel":4365},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1113",[76],"1113",": Apply Visual Indicator to Top Level Navigation Rows in HTTP History",[57,4369,4370,4375],{},[72,4371,4374],{"href":4372,"rel":4373},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1182",[76],"1182",": Add a setting to change fonts",[57,4377,4378,4383],{},[72,4379,4382],{"href":4380,"rel":4381},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1308",[76],"1308",": Select \"Development Request\" for Active Workflow Development",[57,4385,4386,4391],{},[72,4387,4390],{"href":4388,"rel":4389},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1445",[76],"1445",": \"Save as Preset\" Option from an Existing HTTPQL Query",[57,4393,4394,4399],{},[72,4395,4398],{"href":4396,"rel":4397},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1447",[76],"1447",": Edit finding notes",[57,4401,4402,4407],{},[72,4403,4406],{"href":4404,"rel":4405},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1468",[76],"1468",": Reporters Deletion & Editing in Findings",[57,4409,4410,4415],{},[72,4411,4414],{"href":4412,"rel":4413},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1505",[76],"1505",": Add a menu option to open all the tabs in a collection",[57,4417,4418,4423],{},[72,4419,4422],{"href":4420,"rel":4421},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1538",[76],"1538",": Frontend SDK: allow to modify footer",[57,4425,4426,4431],{},[72,4427,4430],{"href":4428,"rel":4429},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1546",[76],"1546",": Allow the Sending of a Replay Item within the Current Collection",[57,4433,4434,4439],{},[72,4435,4438],{"href":4436,"rel":4437},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1567",[76],"1567",": Frontend API Function to Show Modal",[57,4441,4442,4447],{},[72,4443,4446],{"href":4444,"rel":4445},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1629",[76],"1629",": Support Arrow Key Navigation in WS History",[16,4449,154],{"id":153},[54,4451,4452,4460,4468,4476,4484,4492,4500,4508,4516,4527,4535,4543,4554,4565,4576],{},[57,4453,4454,4459],{},[72,4455,4458],{"href":4456,"rel":4457},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F945",[76],"945",": Right click menu doesn't show all the workflows",[57,4461,4462,4467],{},[72,4463,4466],{"href":4464,"rel":4465},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1354",[76],"1354",": Glitch Help Menu Window Stuck on Screen After Switching Tabs",[57,4469,4470,4475],{},[72,4471,4474],{"href":4472,"rel":4473},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1483",[76],"1483",": Right-clicking on a Request in Findings Causes the UI to be Off",[57,4477,4478,4483],{},[72,4479,4482],{"href":4480,"rel":4481},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1531",[76],"1531",": Tabs Overlap Sidebar Toggle (z-index Issue)",[57,4485,4486,4491],{},[72,4487,4490],{"href":4488,"rel":4489},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1576",[76],"1576",": Error thrown in backend RPC should rethrow in the frontend",[57,4493,4494,4499],{},[72,4495,4498],{"href":4496,"rel":4497},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1587",[76],"1587",": Automate Simple List Load from File refuses to load same file twice",[57,4501,4502,4507],{},[72,4503,4506],{"href":4504,"rel":4505},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1591",[76],"1591",": Nested context menu is not properly aligned when item is near bottom",[57,4509,4510,4515],{},[72,4511,4514],{"href":4512,"rel":4513},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1626",[76],"1626",": Placeholder pop-over is kept when navigating to another page",[57,4517,4518,2875,4523,4526],{},[72,4519,4522],{"href":4520,"rel":4521},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1627",[76],"1627",[190,4524,4525],{},"Send to Findings"," Doesn't Work in Replay",[57,4528,4529,4534],{},[72,4530,4533],{"href":4531,"rel":4532},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1639",[76],"1639",": HTTP Parser uses first header as status reason when no status reason is provided in response",[57,4536,4537,4542],{},[72,4538,4541],{"href":4539,"rel":4540},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1645",[76],"1645",": Send to automate shortcut does not work on unsaved requests",[57,4544,4545,2875,4550,4553],{},[72,4546,4549],{"href":4547,"rel":4548},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1647",[76],"1647",[190,4551,4552],{},"Editor: Search"," not working for the response and WS panes in Intercept",[57,4555,4556,2875,4561,4564],{},[72,4557,4560],{"href":4558,"rel":4559},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1671",[76],"1671",[190,4562,4563],{},"New Session"," Button in Replay Overlaps with the Side Bar",[57,4566,4567,2875,4572,4575],{},[72,4568,4571],{"href":4569,"rel":4570},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1675",[76],"1675",[190,4573,4574],{},"caido.replay.openTab"," Stopped Working",[57,4577,4578,4583],{},[72,4579,4582],{"href":4580,"rel":4581},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1682",[76],"1682",": Caido docker listening is broken for the UI",[16,4585,1629],{"id":1628},[54,4587,4588,4619],{},[57,4589,4590,3018,4593],{},[365,4591,4592],{},"0.50.1",[54,4594,4595,4603,4611],{},[57,4596,4597,4602],{},[72,4598,4601],{"href":4599,"rel":4600},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1694",[76],"1694",": Unsetting two shortcuts in a row no longer resets the first one",[57,4604,4605,4610],{},[72,4606,4609],{"href":4607,"rel":4608},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1695",[76],"1695",": sdk.replay.sendRequest now works even on closed tabs",[57,4612,4613,4618],{},[72,4614,4617],{"href":4615,"rel":4616},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1707",[76],"1707",": Fixed an issue where the HTTP History table would blink when filters were updated",[57,4620,4621,3018,4624],{},[365,4622,4623],{},"0.50.2",[54,4625,4626],{},[57,4627,4628,4633],{},[72,4629,4632],{"href":4630,"rel":4631},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1714",[76],"1714",": Sending a Request to Replay Scrolls HTTP History Table Back to Top",{"title":195,"searchDepth":196,"depth":196,"links":4635},[4636,4637,4638,4639,4640,4641,4642,4643],{"id":4276,"depth":196,"text":4277},{"id":4283,"depth":196,"text":4284},{"id":4290,"depth":196,"text":4291},{"id":4301,"depth":196,"text":4302},{"id":4308,"depth":196,"text":4309},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-07-24-release-v0-50-0\u002Fog.png","2025-07-24",{},"\u002Fblog\u002F2025-07-24-release-v0-50-0",{"text":1162,"minutes":4649,"time":4650,"words":4651},2.6,156000,520,{"title":4262,"description":210},"blog\u002F2025-07-24-release-v0-50-0","Ey2zISls2UliUt6NPK04uNXYgD12sTKlbwx98kaLuRU",{"id":4656,"title":4657,"author":2423,"body":4658,"coverImage":4662,"createdAt":4731,"description":195,"excerpt":211,"extension":212,"meta":4732,"navigation":214,"path":4733,"readingTime":4734,"seo":4738,"stem":4739,"subtitle":211,"useFirstImageAsCover":223,"__hash__":4740},"blog\u002Fblog\u002F2025-07-16-shift-acquisition.md","Shift Acquisition",{"type":9,"value":4659,"toc":4726},[4660,4664,4672,4681,4685,4688,4701,4705,4708,4711,4714,4718],[382,4661],{"src":4662,"style":4663},"\u002Fimages\u002Fshift.webp","transform: scale(0.75);",[12,4665,4666,4667,4671],{},"We are super excited to share that we acquired the ",[72,4668,4670],{"href":2259,"rel":4669},[76],"Shift Plugin"," and we are making it free to Caido paid users 🚀",[12,4673,4674,4675,4680],{},"As part of the deal, ",[72,4676,4679],{"href":4677,"rel":4678},"https:\u002F\u002Fjosephthacker.com\u002F",[76],"Joseph Thacker aka Rez0"," is joining Caido as an advisor to help with our AI initiatives.",[16,4682,4684],{"id":4683},"what-is-shift","What is Shift?",[12,4686,4687],{},"Shift is a Caido plugin that is a smart AI companion for your hacking. It can craft payloads, Match&Replace rules, httpql queries and much more.",[4689,4690,4691,4692],"div",{},"\n  ",[4693,4694,4691],"iframe",{"className":4695,"src":4698,"frameBorder":4699,"webkitallowfullscreen":195,"mozallowfullscreen":195,"allowFullScreen":214,"style":4700},[4696,4697],"w-full","aspect-video","https:\u002F\u002Fwww.loom.com\u002Fembed\u002Fac132e7b4ab645fdaa67c8a34a818fb2?sid=8ecba004-3461-4d8f-970b-97f084678d2e","0","display: block; margin: 0 auto;",[16,4702,4704],{"id":4703},"shift-in-caido","Shift in Caido",[12,4706,4707],{},"In the short term, we are making Shift free for all customers of Caido. Just update\u002Finstall your Shift plugin and you will be able to use it!",[12,4709,4710],{},"In the medium term, we will switch the backend of Shift to run on your own computer with your own API keys.\nThis is our stance on AI, you should be in control of the upstream providers you want to use and we should not have access to your data.",[12,4712,4713],{},"In the longer term, some elements of Shift will be integrated into the Caido core to complement our Assistant offering.\nWe will also extend our Assistant to support your own API keys.",[16,4715,4717],{"id":4716},"shift-customers","Shift Customers",[12,4719,4720,4721,4725],{},"Since Shift is becoming a part of Caido, we will be cancelling all the subscriptions to Shift in the coming days.\nIf you are still being billed by Shift, please contact ",[72,4722,4724],{"href":4723},"mailto:support@caido.io","support@caido.io"," and we will make sure to fix that.",{"title":195,"searchDepth":196,"depth":196,"links":4727},[4728,4729,4730],{"id":4683,"depth":196,"text":4684},{"id":4703,"depth":196,"text":4704},{"id":4716,"depth":196,"text":4717},"2025-07-16",{},"\u002Fblog\u002F2025-07-16-shift-acquisition",{"text":217,"minutes":4735,"time":4736,"words":4737},1.085,65100,217,{"title":4657,"description":195},"blog\u002F2025-07-16-shift-acquisition","7YjhAVch38qUG3dKakPmhuRlavinvLYpug2EZjwtI-E",{"id":4742,"title":4743,"author":7,"body":4744,"coverImage":5073,"createdAt":5074,"description":210,"excerpt":211,"extension":212,"meta":5075,"navigation":214,"path":5076,"readingTime":5077,"seo":5081,"stem":5082,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5083},"blog\u002Fblog\u002F2025-07-03-release-v0-49-0.md","Caido v0.49.0",{"type":9,"value":4745,"toc":5067},[4746,4749,4753,4756,4760,4767,4769,4913,4915],[12,4747,4748],{},"This release brings two long-requested features: customizable workflow shortcuts and Markdown support in findings. Alongside these, we’ve fixed dozens of bugs and shipped quality-of-life improvements across the plugin SDK, Replay, and Intercept.",[16,4750,4752],{"id":4751},"workflow-shortcuts","⚡ Workflow Shortcuts",[12,4754,4755],{},"You can now assign custom keyboard shortcuts to run specific workflows, making it faster than ever to trigger your favorite automations.",[16,4757,4759],{"id":4758},"markdown-in-findings","📝 Markdown in Findings",[12,4761,4762,4763,4766],{},"The finding editor now supports Markdown formatting. Use ",[365,4764,4765],{},"bold",", - lists, code blocks and even images to better structure your findings.",[16,4768,66],{"id":65},[54,4770,4771,4779,4787,4795,4806,4817,4825,4833,4841,4849,4857,4865,4873,4881,4889,4897,4905],{},[57,4772,4773,4778],{},[72,4774,4777],{"href":4775,"rel":4776},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F606",[76],"606",": Add shortcuts to workflows",[57,4780,4781,4786],{},[72,4782,4785],{"href":4783,"rel":4784},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F851",[76],"851",": Option to close the replay tabs with the scroll wheel button of the mouse, just like browser tabs.",[57,4788,4789,4794],{},[72,4790,4793],{"href":4791,"rel":4792},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1068",[76],"1068",": Markdown support in findings editor",[57,4796,4797,4802,4803],{},[72,4798,4801],{"href":4799,"rel":4800},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1194",[76],"1194",": Add timeout option for ",[190,4804,4805],{},"sdk.requests.send",[57,4807,4808,4813,4814,4816],{},[72,4809,4812],{"href":4810,"rel":4811},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1195",[76],"1195",": Provide more meaningful messages in ",[190,4815,4805],{}," errors",[57,4818,4819,4824],{},[72,4820,4823],{"href":4821,"rel":4822},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1275",[76],"1275",": Shortcut to switch between tabs in replay",[57,4826,4827,4832],{},[72,4828,4831],{"href":4829,"rel":4830},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1388",[76],"1388",": Frontend SDK - Add button next to replay session bar",[57,4834,4835,4840],{},[72,4836,4839],{"href":4837,"rel":4838},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1416",[76],"1416",": Move the \"+ Create New Scope\" option to the bottom of the context menu",[57,4842,4843,4848],{},[72,4844,4847],{"href":4845,"rel":4846},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1572",[76],"1572",": Add length on Body object in JS",[57,4850,4851,4856],{},[72,4852,4855],{"href":4853,"rel":4854},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1577",[76],"1577",": Force update a plugin",[57,4858,4859,4864],{},[72,4860,4863],{"href":4861,"rel":4862},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1597",[76],"1597",": Ctrl+F not working in intercept",[57,4866,4867,4872],{},[72,4868,4871],{"href":4869,"rel":4870},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1598",[76],"1598",": Replay editor dynamic extensions",[57,4874,4875,4880],{},[72,4876,4879],{"href":4877,"rel":4878},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1599",[76],"1599",": Add support for accessing scope in backend SDK",[57,4882,4883,4888],{},[72,4884,4887],{"href":4885,"rel":4886},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1602",[76],"1602",": Rework workflow limit for free users",[57,4890,4891,4896],{},[72,4892,4895],{"href":4893,"rel":4894},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1611",[76],"1611",": Plugin search",[57,4898,4899,4904],{},[72,4900,4903],{"href":4901,"rel":4902},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1634",[76],"1634",": Getter for Request or Request ID in Findings in the Backend SDK",[57,4906,4907,4912],{},[72,4908,4911],{"href":4909,"rel":4910},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1635",[76],"1635",": Add backend safe mode",[16,4914,154],{"id":153},[54,4916,4917,4925,4933,4941,4949,4957,4965,4976,4984,4992,5003,5011,5019,5027,5035,5043,5051,5059],{},[57,4918,4919,4924],{},[72,4920,4923],{"href":4921,"rel":4922},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1125",[76],"1125",": Change shortcut Icons",[57,4926,4927,4932],{},[72,4928,4931],{"href":4929,"rel":4930},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1137",[76],"1137",": Key bindings get reset every time the app is restarted and sometimes in the middle of use",[57,4934,4935,4940],{},[72,4936,4939],{"href":4937,"rel":4938},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1340",[76],"1340",": Long environment variable value hide the save button",[57,4942,4943,4948],{},[72,4944,4947],{"href":4945,"rel":4946},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1349",[76],"1349",": Custom Keyboard Shortcuts Not Functioning as Expected",[57,4950,4951,4956],{},[72,4952,4955],{"href":4953,"rel":4954},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1371",[76],"1371",": Dark-mode theme (+ window background) is only applied ~1sec after launching the main-window",[57,4958,4959,4964],{},[72,4960,4963],{"href":4961,"rel":4962},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1515",[76],"1515",": When default\u002Fpreconfifured keybindings are changed to a users preference, it doesn't work",[57,4966,4967,4972,4973],{},[72,4968,4971],{"href":4969,"rel":4970},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1564",[76],"1564",": Command palette not closing with ",[190,4974,4975],{},"Esc",[57,4977,4978,4983],{},[72,4979,4982],{"href":4980,"rel":4981},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1570",[76],"1570",": Placeholder in Automate Goes Missing after an Attack Is Launched",[57,4985,4986,4991],{},[72,4987,4990],{"href":4988,"rel":4989},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1578",[76],"1578",": Reset credentials should not persist between restarts of the instance",[57,4993,4994,4999,5000],{},[72,4995,4998],{"href":4996,"rel":4997},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1579",[76],"1579",": Httpql bar resets cursor to start of the box on ",[5001,5002],"enter",{},[57,5004,5005,5010],{},[72,5006,5009],{"href":5007,"rel":5008},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1581",[76],"1581",": Performance Issues with Response editor in Raw mode",[57,5012,5013,5018],{},[72,5014,5017],{"href":5015,"rel":5016},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1582",[76],"1582",": Typing in Match & Replace Condition moves cursor to start",[57,5020,5021,5026],{},[72,5022,5025],{"href":5023,"rel":5024},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1585",[76],"1585",": Host header IPv6 is parsed incorrectly",[57,5028,5029,5034],{},[72,5030,5033],{"href":5031,"rel":5032},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1588",[76],"1588",": Don't auto-select a project if there is a pending migration",[57,5036,5037,5042],{},[72,5038,5041],{"href":5039,"rel":5040},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1592",[76],"1592",": Response in intercept are not always respecting httpql",[57,5044,5045,5050],{},[72,5046,5049],{"href":5047,"rel":5048},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1607",[76],"1607",": HTTPQL query randomly disappears in Intercept",[57,5052,5053,5058],{},[72,5054,5057],{"href":5055,"rel":5056},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1613",[76],"1613",": Invisible proxy doesn't work with port redirect",[57,5060,5061,5066],{},[72,5062,5065],{"href":5063,"rel":5064},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues\u002F1614",[76],"1614",": Proxying the caido calls should short circuit",{"title":195,"searchDepth":196,"depth":196,"links":5068},[5069,5070,5071,5072],{"id":4751,"depth":196,"text":4752},{"id":4758,"depth":196,"text":4759},{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":154},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-07-03-release-v0-49-0\u002Fog.png","2025-07-03",{},"\u002Fblog\u002F2025-07-03-release-v0-49-0",{"text":217,"minutes":5078,"time":5079,"words":5080},1.8,108000,360,{"title":4743,"description":210},"blog\u002F2025-07-03-release-v0-49-0","shpGUgWJFzrSr1L4iGyGLYBL24RzBnw97PrpzofhNhU",{"id":5085,"title":5086,"author":7,"body":5087,"coverImage":5305,"createdAt":5306,"description":210,"excerpt":211,"extension":212,"meta":5307,"navigation":214,"path":5308,"readingTime":5309,"seo":5313,"stem":5314,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5315},"blog\u002Fblog\u002F2025-05-14-release-v0-48-0.md","Caido v0.48.0",{"type":9,"value":5088,"toc":5296},[5089,5102,5105,5108,5112,5122,5126,5129,5133,5219,5222,5248,5252,5286,5288],[12,5090,5091,5092,298,5095,304,5098,5101],{},"This release brings highly requested features such as ",[365,5093,5094],{},"automatic updates",[365,5096,5097],{},"guest mode",[365,5099,5100],{},"WebSocket interception",", along with many quality-of-life improvements.",[16,5103,1838],{"id":5104},"guest-mode",[12,5106,5107],{},"Users can now access Caido without an account by using guest mode. Guest sessions are limited to temporary projects and allow only one installed plugin.",[16,5109,5111],{"id":5110},"automatic-updates","Automatic Updates",[12,5113,5114,5115,411,5118,5121],{},"Desktop users on macOS, Windows, and Linux (experimental for ",[190,5116,5117],{},".AppImage",[190,5119,5120],{},".deb",") will now be notified when an update is available. Click once to download in the background, then again to install the update.",[16,5123,5125],{"id":5124},"websocket-interception","WebSocket Interception",[12,5127,5128],{},"You can now intercept and edit WebSocket messages directly from the Intercept page, just like with HTTP requests.",[16,5130,5132],{"id":5131},"additional-features","🔥 Additional Features",[54,5134,5135,5141,5147,5153,5159,5165,5171,5177,5183,5189,5195,5201,5207,5213],{},[57,5136,5137,5140],{},[365,5138,5139],{},"Sitemap keyboard navigation",": Adds keyboard support for navigating the sitemap.",[57,5142,5143,5146],{},[365,5144,5145],{},"Allow delete of node in sitemap",": Users can now delete nodes directly from the sitemap.",[57,5148,5149,5152],{},[365,5150,5151],{},"Clear sitemap items",": Adds an option to clear the entire sitemap.",[57,5154,5155,5158],{},[365,5156,5157],{},"Intercept websocket",": Introduces the ability to capture and modify WebSocket traffic.",[57,5160,5161,5164],{},[365,5162,5163],{},"Highlight matching brackets in editors",": Improves code editing experience by visually matching brackets.",[57,5166,5167,5170],{},[365,5168,5169],{},"Persist headers when following redirect",": Ensures HTTP headers are maintained across follow-redirects.",[57,5172,5173,5176],{},[365,5174,5175],{},"Add unlimited\u002Fmax timeout in shell node",": Increased the max execution time of shell nodes to 24h",[57,5178,5179,5182],{},[365,5180,5181],{},"Copy multiple URLs on select",": Users can now copy multiple request URLs at once.",[57,5184,5185,5188],{},[365,5186,5187],{},"Close Others, Close right, Close Left when Right-Clicking on Replay Tabs",": Provides enhanced tab management options with right-click actions.",[57,5190,5191,5194],{},[365,5192,5193],{},"Replay Tab Search Box Indexing",": Searching in the replay collections will also match the request path\u002Fmethod\u002Fhost\u002Fsni",[57,5196,5197,5200],{},[365,5198,5199],{},"Temporary Workspace",": Lets users spin up disposable projects.",[57,5202,5203,5206],{},[365,5204,5205],{},"Navigate to Websocket Stream",": Enables quick navigation to related WebSocket streams from a request.",[57,5208,5209,5212],{},[365,5210,5211],{},"Support Zero-Padded Numbers as a Payload Type",": Adds support for zero-padded numbers in automate payloads.",[57,5214,5215,5218],{},[365,5216,5217],{},"Allowlist of domains that can access the Caido API",": Adds a security feature to restrict API access to trusted domains.",[16,5220,5221],{"id":153},"🐞 Bug Fixes",[54,5223,5224,5230,5236,5242],{},[57,5225,5226,5229],{},[365,5227,5228],{},"Highlight issue in pretty",": Fixes incorrect highlights in the prettified request\u002Fresponse editors.",[57,5231,5232,5235],{},[365,5233,5234],{},"Filter Presets Are Reset to the Off State When the Window Reloads",": Resolves an issue where filter presets are not preserved on page reload.",[57,5237,5238,5241],{},[365,5239,5240],{},"History table shows \"Loading...\" when deleting entries and scrolling to the bottom",": Fixes a bug where the table gets stuck in a loading state during entry deletion.",[57,5243,5244,5247],{},[365,5245,5246],{},"Commands executed with the WSL shell don't receive environment variables",": Ensures environment variables are correctly passed to the shell workflow node when using WSL.",[16,5249,5251],{"id":5250},"plugin-sdk","🧩 Plugin SDK",[54,5253,5254,5275],{},[57,5255,5256,5257],{},"Backend SDK\n",[54,5258,5259,5269],{},[57,5260,5261,5264,5265,5268],{},[365,5262,5263],{},"Define ToString on Several Types",": Improves developer experience by implementing ",[190,5266,5267],{},".toString()"," on multiple internal types.",[57,5270,5271,5274],{},[365,5272,5273],{},"Allow SDK env to set variable of any environment",": You can now update variables assigned to any environment.",[57,5276,5277,5278],{},"Frontend SDK\n",[54,5279,5280],{},[57,5281,5282,5285],{},[365,5283,5284],{},"Register codemirror extensions to HTTP history request editor",": Adds support for extending the request editor using custom codemirror extensions.",[16,5287,1629],{"id":1628},[54,5289,5290],{},[57,5291,5292,5295],{},[365,5293,5294],{},"0.48.1",": Fixes an issue where the app would display an available update when you're at the latest version.",{"title":195,"searchDepth":196,"depth":196,"links":5297},[5298,5299,5300,5301,5302,5303,5304],{"id":5104,"depth":196,"text":1838},{"id":5110,"depth":196,"text":5111},{"id":5124,"depth":196,"text":5125},{"id":5131,"depth":196,"text":5132},{"id":153,"depth":196,"text":5221},{"id":5250,"depth":196,"text":5251},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-05-14-release-v0-48-0\u002Fog.png","2025-05-14",{},"\u002Fblog\u002F2025-05-14-release-v0-48-0",{"text":1162,"minutes":5310,"time":5311,"words":5312},2.16,129600,432,{"title":5086,"description":210},"blog\u002F2025-05-14-release-v0-48-0","jDejFlAL4hIHH0QIjAhL_QKXlJ8guxw9ikFFEL5MefY",{"id":5317,"title":5318,"author":7,"body":5319,"coverImage":5501,"createdAt":5502,"description":210,"excerpt":211,"extension":212,"meta":5503,"navigation":214,"path":5504,"readingTime":5505,"seo":5509,"stem":5510,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5511},"blog\u002Fblog\u002F2025-03-19-release-v0-47-0.md","Caido v0.47.0",{"type":9,"value":5320,"toc":5495},[5321,5342,5344,5394,5396,5440,5442,5485,5487],[12,5322,5323,5324,5327,5328,298,5331,5334,5335,5338,5339,540],{},"This release brings a complete redesign of ",[365,5325,5326],{},"Match & Replace",", adding workflow support and making it more intuitive. We’ve also introduced ",[365,5329,5330],{},"Invisible Proxying",[365,5332,5333],{},"DNS Entry Overriding",", expanded ",[365,5336,5337],{},"Replay\u002FResponse in browser"," support, and built-in access to ",[365,5340,5341],{},"backend logs from the bottom panel",[16,5343,66],{"id":65},[54,5345,5346,5352,5358,5364,5370,5376,5382,5388],{},[57,5347,5348,5351],{},[365,5349,5350],{},"Invisible Proxying Support",": Intercept traffic from non-proxy-aware clients without manual proxy configuration.",[57,5353,5354,5357],{},[365,5355,5356],{},"Override DNS Entries",": Set a specific IP or DNS server to resolve domain names as needed.",[57,5359,5360,5363],{},[365,5361,5362],{},"Display Backend Logs",": Backend logs are now visible directly in the UI for better debugging.",[57,5365,5366,5369],{},[365,5367,5368],{},"Replay in Browser",": \"Replay in Browser\" is now available in all request\u002Fresponse panes.",[57,5371,5372,5375],{},[365,5373,5374],{},"View Response in Browser",": \"View Response in Browser\"is now available in all request\u002Fresponse panes.",[57,5377,5378,5381],{},[365,5379,5380],{},"Match & Replace - “Add Header”",": Simplified the process to add a new header",[57,5383,5384,5387],{},[365,5385,5386],{},"Match & Replace - Workflow support",": You can now use workflows as dynamic replacements",[57,5389,5390,5393],{},[365,5391,5392],{},"Add Reload Window Command",": You can now reload the window from the command palette in the event of a bug",[16,5395,5221],{"id":153},[54,5397,5398,5404,5410,5416,5422,5428,5434],{},[57,5399,5400,5403],{},[365,5401,5402],{},"Missing Load Indicator When Updating HTTPQL Query",": Added load animation when updating an HTTPQL query.",[57,5405,5406,5409],{},[365,5407,5408],{},"Workflow Name not Saved",": Saving a workflow now properly retains its name.",[57,5411,5412,5415],{},[365,5413,5414],{},"Resolved Missing Workflows",": Fixed an issue where workflows would sometimes not be displayed in the editor.",[57,5417,5418,5421],{},[365,5419,5420],{},"Fixed “Loading” Requests in HTTP History",": Newest requests now properly load when placed at the bottom of the table.",[57,5423,5424,5427],{},[365,5425,5426],{},"Responses Not Populating in HTTP History",": Fixed an issue where responses sometimes did not appear in the history table.",[57,5429,5430,5433],{},[365,5431,5432],{},"Highlighting in Automate Colors Unselected Rows",": Addressed an issue where row highlights would spread to other rows.",[57,5435,5436,5439],{},[365,5437,5438],{},"Lazy Table Performance Improvements",": Fixed excessive network requests when switching projects in lazy-loaded tables.",[16,5441,5251],{"id":5250},[54,5443,5444,5453],{},[57,5445,5446,5452],{},[365,5447,5448,5451],{},[594,5449,5450],{},"BREAKING"," Frontend - MatchReplaceSDK",": Updated match & replace SDK to fit with the new redesign",[57,5454,5455,5458,5459],{},[365,5456,5457],{},"Frontend - WorkflowSDK",": Added functions to interact with workflows\n",[54,5460,5461,5467,5473,5479],{},[57,5462,5463,5466],{},[190,5464,5465],{},"sdk.workflows.getWorkflows()",": List existing workflows",[57,5468,5469,5472],{},[190,5470,5471],{},"sdk.workflows.onCreatedWorkflow()",": Triggers a callback when a workflow is created.",[57,5474,5475,5478],{},[190,5476,5477],{},"sdk.workflows.onUpdatedWorkflow()",": Triggers a callback when a workflow is updated.",[57,5480,5481,5484],{},[190,5482,5483],{},"sdk.workflows.onDeletedWorkflow()",": Triggers a callback when a workflow is deleted.",[16,5486,1629],{"id":1628},[54,5488,5489],{},[57,5490,5491,5494],{},[365,5492,5493],{},"0.47.1",": Fixes an issue where users could not connect to remote Caido instances.",{"title":195,"searchDepth":196,"depth":196,"links":5496},[5497,5498,5499,5500],{"id":65,"depth":196,"text":66},{"id":153,"depth":196,"text":5221},{"id":5250,"depth":196,"text":5251},{"id":1628,"depth":196,"text":1629},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-03-19-release-v0-47-0\u002Fog.png","2025-03-19",{},"\u002Fblog\u002F2025-03-19-release-v0-47-0",{"text":217,"minutes":5506,"time":5507,"words":5508},1.61,96600,322,{"title":5318,"description":210},"blog\u002F2025-03-19-release-v0-47-0","c_AhJNovsu9kG5LFFQUS93ZWvDrgctq-OF36ZA2sads",{"id":5513,"title":5514,"author":2423,"body":5515,"coverImage":5522,"createdAt":5555,"description":5556,"excerpt":211,"extension":212,"meta":5557,"navigation":214,"path":5558,"readingTime":5559,"seo":5563,"stem":5564,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5565},"blog\u002Fblog\u002F2025-03-10-plan-rename.md","Plan renaming",{"type":9,"value":5516,"toc":5553},[5517,5523,5526,5537,5540],[12,5518,5519],{},[382,5520],{"alt":5521,"src":5522},"cover","\u002Fimages\u002Fblog\u002F2025-03-10-plan-rename\u002Fcover.webp",[12,5524,5525],{},"Hi hackers!",[12,5527,5528,5529,5532,5533,5536],{},"This is a small post to let you know that we are renaming the ",[190,5530,5531],{},"Pro"," plan to ",[190,5534,5535],{},"Individual",".\nNothing else changes, just the name 😊",[12,5538,5539],{},"We hope to clear some confusion that we had since we introduced more plans during the past year like team, student, etc.\nEach plan gives access to different features.",[12,5541,5542,5543,5546,5547,5549,5550,540],{},"Our ",[72,5544,951],{"href":949,"rel":5545},[76]," role will also be renamed from ",[190,5548,5531],{}," to ",[190,5551,5552],{},"Customer",{"title":195,"searchDepth":196,"depth":196,"links":5554},[],"2025-03-10","Renaming Pro to Individual",{},"\u002Fblog\u002F2025-03-10-plan-rename",{"text":2504,"minutes":5560,"time":5561,"words":5562},0.31,18600,62,{"title":5514,"description":5556},"blog\u002F2025-03-10-plan-rename","LBjuY5hBydbz5gyEuFtw1tEvXmna4lgvq33Pb6yZ3KU",{"id":5567,"title":5568,"author":7,"body":5569,"coverImage":5664,"createdAt":5665,"description":210,"excerpt":211,"extension":212,"meta":5666,"navigation":214,"path":5667,"readingTime":5668,"seo":5672,"stem":5673,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5674},"blog\u002Fblog\u002F2025-02-25-release-v0-46-0.md","Caido v0.46.0",{"type":9,"value":5570,"toc":5659},[5571,5574,5582,5584,5598,5600,5637,5639],[12,5572,5573],{},"This release brings major quality-of-life improvements, including setting a default project, viewing responses in the browser, and numerous bug fixes to improve stability and performance.",[12,5575,5576,5577,5581],{},"⚠ Important: Due to a bug in the previous version, the update notification popup may not appear. To ensure you're on the latest version, please visit ",[72,5578,5579],{"href":5579,"rel":5580},"https:\u002F\u002Fcaido.io\u002Fdownload",[76]," and download the update manually.",[16,5583,66],{"id":65},[54,5585,5586,5592],{},[57,5587,5588,5591],{},[365,5589,5590],{},"Set Default Project",": You can now choose which project to open when launching Caido",[57,5593,5594,5597],{},[365,5595,5596],{},"Replay in Browser \u002F View Response in Browser",": Request and responses can now be replayed\u002Fviewed directly in the browser. This feature is currently available by right-clicking a table row, with future support planned for the request\u002Fresponse panes.",[16,5599,5251],{"id":5250},[54,5601,5602,5608,5628],{},[57,5603,5604,5607],{},[365,5605,5606],{},"Extra File Bundling",": Plugins now support bundling extra files.",[57,5609,5610,5613,5614,5617,5618,5621,5622,411,5625],{},[365,5611,5612],{},"RequestSpecRaw -> RequestSpec Conversion",": Backend plugins now support converting ",[190,5615,5616],{},"RequestSpecRaw"," objects into ",[190,5619,5620],{},"RequestSpec"," via ",[190,5623,5624],{},"RequestSpecRaw.getSpec()",[190,5626,5627],{},"RequestSpec.parse(RequestSpecRaw)",[57,5629,5630,5633,5634],{},[365,5631,5632],{},"Get Caido Version",": The frontend and backend SDK now provides a method to fetch the current version of Caido via ",[190,5635,5636],{},"sdk.runtime.getVersion()",[16,5638,5221],{"id":153},[54,5640,5641,5644,5647,5650,5653,5656],{},[57,5642,5643],{},"Fixed WebSocket reserved bits not being supported.",[57,5645,5646],{},"Fixed multiple highlighting issues with the HTTP History \u002F Search \u002F Automate tables",[57,5648,5649],{},"Improved memory usage and performance when running large automate tasks",[57,5651,5652],{},"Fixed an issue where font-size changes aren't properly previewed in the settings page",[57,5654,5655],{},"Fixed incorrect caching behavior in the DNS resolver.",[57,5657,5658],{},"Fixed an issue where updates were not displayed properly in version 0.45.0.",{"title":195,"searchDepth":196,"depth":196,"links":5660},[5661,5662,5663],{"id":65,"depth":196,"text":66},{"id":5250,"depth":196,"text":5251},{"id":153,"depth":196,"text":5221},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-02-25-release-v0-46-0\u002Fog.png","2025-02-25",{},"\u002Fblog\u002F2025-02-25-release-v0-46-0",{"text":217,"minutes":5669,"time":5670,"words":5671},1.04,62400,208,{"title":5568,"description":210},"blog\u002F2025-02-25-release-v0-46-0","Hjh6C6a4BOV1ATiK7KDjZThBBTjPR6cNcuhz1o6BXSg",{"id":5676,"title":5677,"author":2423,"body":5678,"coverImage":5684,"createdAt":5737,"description":5738,"excerpt":211,"extension":212,"meta":5739,"navigation":214,"path":5740,"readingTime":5741,"seo":5745,"stem":5746,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5747},"blog\u002Fblog\u002F2025-01-17-parrot-partner.md","Caido 🤝 Parrot",{"type":9,"value":5679,"toc":5733},[5680,5685,5688,5691,5694,5698,5718,5723,5727,5730],[12,5681,5682],{},[382,5683],{"alt":5521,"src":5684},"\u002Fimages\u002Fblog\u002F2025-01-17-parrot-partner\u002Fcover.webp",[12,5686,5687],{},"We’re excited to share some big news: we’ve partnered with Parrot, the ultimate framework for your Cyber Security operations.",[12,5689,5690],{},"This collaboration is about bringing the best of both worlds to cybersecurity professionals, combining the versatility of Parrot Security OS with the powerful tool that Caido offers.",[12,5692,5693],{},"We’re always looking for ways to make life easier for penetration testers, ethical hackers, and security teams. Partnering with Parrot felt like a natural fit. It’s a platform we’ve come to respect for its innovation and reliability, and we believe our users will love what it brings to the table.",[16,5695,5697],{"id":5696},"what-makes-parrotos-special","What makes ParrotOS special? ✨",[54,5699,5700,5706,5712],{},[57,5701,5702,5705],{},[365,5703,5704],{},"Secure and private:"," ParrotOS is built with a strong focus on security, offering a wide range of pre-installed tools for penetration testing, digital forensics, and privacy protection, making it ideal for ethical hackers and security specialists.",[57,5707,5708,5711],{},[365,5709,5710],{},"Lightweight:"," ParrotOS is optimized for performance, requiring fewer system resources, and includes multiple flavors to serve developers, security professionals, and general users alike.",[57,5713,5714,5717],{},[365,5715,5716],{},"Community-driven OS:"," ParrotOS thrives on its open-source foundation, inviting anyone to contribute ideas, code, or improvements, hosting a dynamic and inclusive community where every user can make a difference.",[12,5719,5720],{},[382,5721],{"alt":5521,"src":5722},"\u002Fimages\u002Fblog\u002F2025-01-17-parrot-partner\u002Fdesktop.webp",[16,5724,5726],{"id":5725},"what-does-this-partnership-bring-to-you","What does this partnership bring to you? 🧑‍💻",[12,5728,5729],{},"One of the most exciting aspects of this partnership is that Caido will now come pre-installed and fully optimized in Parrot Security OS. This means you can start leveraging our powerful web application security testing tools right out of the box, without the hassle of manual installation or setup. By integrating Caido directly into the OS, we’re offering an enhanced user experience tailored to the needs of cybersecurity professionals.",[12,5731,5732],{},"We’re excited for what’s ahead and can’t wait to see how our users will leverage this collaboration to tackle today’s toughest cybersecurity challenges. Stay tuned for more updates, we’re just getting started 🚀",{"title":195,"searchDepth":196,"depth":196,"links":5734},[5735,5736],{"id":5696,"depth":196,"text":5697},{"id":5725,"depth":196,"text":5726},"2025-01-17","Caido partnership with ParrotOS",{},"\u002Fblog\u002F2025-01-17-parrot-partner",{"text":217,"minutes":5742,"time":5743,"words":5744},1.45,87000,290,{"title":5677,"description":5738},"blog\u002F2025-01-17-parrot-partner","IN5v89-hCFmn2R7sicJbw8SHRBDCbU1QW7Sg2KzNNuY",{"id":5749,"title":5750,"author":7,"body":5751,"coverImage":5916,"createdAt":5917,"description":210,"excerpt":211,"extension":212,"meta":5918,"navigation":214,"path":5919,"readingTime":5920,"seo":5924,"stem":5925,"subtitle":211,"useFirstImageAsCover":223,"__hash__":5926},"blog\u002Fblog\u002F2025-01-15-release-v0-45-1.md","Caido v0.45.1",{"type":9,"value":5752,"toc":5910},[5753,5756,5760,5763,5820,5822,5847,5851,5898,5902],[12,5754,5755],{},"This release includes improvements to request interception, manual finding creation, and updates to the plugin SDK.",[49,5757,5759],{"id":5758},"community-store","🧩 Community Store",[12,5761,5762],{},"We've added new plugins to the community store:",[54,5764,5765,5777,5790,5807],{},[57,5766,5767,5770,5771,5776],{},[72,5768,1955],{"href":1953,"rel":5769},[76]," by ",[72,5772,5775],{"href":5773,"rel":5774},"https:\u002F\u002Fx.com\u002Fbebiksior",[76],"@bebiksior",": Discover hidden parameters in Caido",[57,5778,5779,5770,5784,5789],{},[72,5780,5783],{"href":5781,"rel":5782},"https:\u002F\u002Fgithub.com\u002FStatic-Flow\u002FCaidoNotesPlusPlus",[76],"CaidoNotesPlusPlus",[72,5785,5788],{"href":5786,"rel":5787},"https:\u002F\u002Fx.com\u002F_StaticFlow_",[76],"@_StaticFlow_",": Caido plugin for markdown based notes",[57,5791,5792,5770,5796,411,5801,5806],{},[72,5793,844],{"href":5794,"rel":5795},"https:\u002F\u002Fgithub.com\u002FCRITSoftware\u002Fshift",[76],[72,5797,5800],{"href":5798,"rel":5799},"https:\u002F\u002Fx.com\u002Frez0__",[76],"@rez0__",[72,5802,5805],{"href":5803,"rel":5804},"https:\u002F\u002Fgithub.com\u002FCRITSoftware",[76],"CRITSoftware",": Seamless AI Integration into Caido",[57,5808,5809,5770,5814,5819],{},[72,5810,5813],{"href":5811,"rel":5812},"https:\u002F\u002Fgithub.com\u002Fcaido-community\u002Fdevtools",[76],"DevTools",[72,5815,5818],{"href":5816,"rel":5817},"https:\u002F\u002Fx.com\u002Fcaidoio",[76],"@caidoio",":  Hot-reloading plugin for faster Caido plugin development",[49,5821,66],{"id":65},[54,5823,5824,5829,5835,5841],{},[57,5825,5826,5828],{},[365,5827,1826],{},": Filter requests and responses during interception based on HTTPQL queries.",[57,5830,5831,5834],{},[365,5832,5833],{},"Manual Findings",": Added the ability to right-click and select \"Send to Findings…\" to manually create findings.",[57,5836,5837,5840],{},[365,5838,5839],{},"URL Decoding Tooltip",": Tooltips now display decoded values for URL-encoded strings in the editor.",[57,5842,5843,5846],{},[365,5844,5845],{},"Quick Project Creation",": Projects can now be quickly created via the top-right project selector dropdown.",[49,5848,5850],{"id":5849},"plugin-sdk-updates","🎨 Plugin SDK Updates",[54,5852,5853,5875],{},[57,5854,5855,3018,5858],{},[365,5856,5857],{},"Frontend SDK",[54,5859,5860,5869],{},[57,5861,3172,5862,411,5865,5868],{},[190,5863,5864],{},"sdk.[page].getScopeId()",[190,5866,5867],{},"sdk.[page].setScope()"," to retrieve or set the current page scope.",[57,5870,3172,5871,5874],{},[190,5872,5873],{},"sdk.env.getVars()"," to retrieve all available environment variables.",[57,5876,5877,3018,5880],{},[365,5878,5879],{},"Backend SDK",[54,5881,5882,5888,5894],{},[57,5883,3172,5884,5887],{},[190,5885,5886],{},"sdk.meta.version()"," to retrieve the Caido instance version.",[57,5889,3172,5890,5893],{},[190,5891,5892],{},"sdk.meta.updateAvailable()"," to check if an update is available.",[57,5895,3172,5896,5874],{},[190,5897,5873],{},[49,5899,5901],{"id":5900},"issues","Issues",[12,5903,5904,5905,540],{},"This release also includes other bug fixes and improvements.\nView the full ",[72,5906,5909],{"href":5907,"rel":5908},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fcaido\u002Fprojects\u002F4\u002Fviews\u002F32?sliceBy%5Bvalue%5D=v0.45.0",[76],"list of changes",{"title":195,"searchDepth":196,"depth":196,"links":5911},[5912,5913,5914,5915],{"id":5758,"depth":205,"text":5759},{"id":65,"depth":205,"text":66},{"id":5849,"depth":205,"text":5850},{"id":5900,"depth":205,"text":5901},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2025-01-15-release-v0-45-1\u002Fog.png","2025-01-15",{},"\u002Fblog\u002F2025-01-15-release-v0-45-1",{"text":2504,"minutes":5921,"time":5922,"words":5923},0.83,49800,166,{"title":5750,"description":210},"blog\u002F2025-01-15-release-v0-45-1","0wXJITh8W8r_wmvsvt8oGZryPcwcPaenRuYV6Eg8y9Y",{"id":5928,"title":5929,"author":7,"body":5930,"coverImage":6052,"createdAt":6053,"description":210,"excerpt":211,"extension":212,"meta":6054,"navigation":214,"path":6055,"readingTime":6056,"seo":6060,"stem":6061,"subtitle":211,"useFirstImageAsCover":223,"__hash__":6062},"blog\u002Fblog\u002F2024-11-30-release-v0-44-1.md","Caido v0.44.1",{"type":9,"value":5931,"toc":6042},[5932,5935,5937,5939,5965,5969,5972,5976,5979,5983,5986,5990,5993,5995,6012,6014,6032,6034],[12,5933,5934],{},"Caido v0.44.1 is here! This update brings a new variable store feature, SNI overrides, as well as important improvements to the plugin SDK for both backend and frontend development.",[49,5936,5759],{"id":5758},[12,5938,5762],{},[54,5940,5941,5954],{},[57,5942,5943,5770,5948,5953],{},[72,5944,5947],{"href":5945,"rel":5946},"https:\u002F\u002Fgithub.com\u002FBugBountyzip\u002FCaidoCSRF",[76],"CSRF PoC Generator",[72,5949,5952],{"href":5950,"rel":5951},"https:\u002F\u002Fx.com\u002FTur24Tur",[76],"@Tur24Tur",": Generate CSRF Proof of Concept payloads from requests.",[57,5955,5956,5770,5961,5964],{},[72,5957,5960],{"href":5958,"rel":5959},"https:\u002F\u002Fgithub.com\u002FBugBountyzip\u002FCaidoFonts",[76],"Font Selector",[72,5962,5952],{"href":5950,"rel":5963},[76],": Customize Caido's interface with different fonts and text effects",[49,5966,5968],{"id":5967},"️-variable-store","🗂️ Variable Store",[12,5970,5971],{},"You can now define variables that can be automatically inserted into replay and automate requests. Multiple environments can be created to organize variables and easily switch between them.",[49,5973,5975],{"id":5974},"ca-certificate-import","📄 CA Certificate Import",[12,5977,5978],{},"You can now import your own CA certificates into Caido.",[49,5980,5982],{"id":5981},"sni-overrides","🔧 SNI Overrides",[12,5984,5985],{},"You can now overwrite the SNI in your replay and automate sessions.",[49,5987,5989],{"id":5988},"tab-reordering","📂 Tab Reordering",[12,5991,5992],{},"Replay and automate session tabs can now be reordered.",[49,5994,52],{"id":51},[54,5996,5997],{},[57,5998,5999,6001,6002,411,6005,6008,6009,540],{},[190,6000,5620],{}," now supports working with raw bytes in its getters and setters instead of strings. This enables handling non-UTF8 characters in methods like ",[190,6003,6004],{},"setMethod",[190,6006,6007],{},"setPath"," and allows retrieving data as a ",[190,6010,6011],{},"Uint8Array",[49,6013,1225],{"id":1224},[54,6015,6016,6022],{},[57,6017,6018,6021],{},[190,6019,6020],{},"sdk.env.getVar",": Fetch variables from the new variable store.",[57,6023,6024,6027,6028,6031],{},[190,6025,6026],{},"sdk.navigation.addPage",": Added an ",[190,6029,6030],{},"onEnter"," callback to execute custom logic when navigating to a specific page.",[49,6033,5901],{"id":5900},[12,6035,6036,6037,540],{},"This release also includes other bug fixes and improvements.\nView the ",[72,6038,6041],{"href":6039,"rel":6040},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fcaido\u002Fprojects\u002F4\u002Fviews\u002F32?sliceBy%5Bvalue%5D=v0.44.0",[76],"full list of changes",{"title":195,"searchDepth":196,"depth":196,"links":6043},[6044,6045,6046,6047,6048,6049,6050,6051],{"id":5758,"depth":205,"text":5759},{"id":5967,"depth":205,"text":5968},{"id":5974,"depth":205,"text":5975},{"id":5981,"depth":205,"text":5982},{"id":5988,"depth":205,"text":5989},{"id":51,"depth":205,"text":52},{"id":1224,"depth":205,"text":1225},{"id":5900,"depth":205,"text":5901},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2024-11-30-release-v0-44-1\u002Fog.png","2024-11-30",{},"\u002Fblog\u002F2024-11-30-release-v0-44-1",{"text":2504,"minutes":6057,"time":6058,"words":6059},0.97,58200,194,{"title":5929,"description":210},"blog\u002F2024-11-30-release-v0-44-1","SW9G1YtXMMsdqRY39OqnfANuHNLbveX5sKMVMPjTFRE",{"id":6064,"title":6065,"author":7,"body":6066,"coverImage":6227,"createdAt":6228,"description":210,"excerpt":211,"extension":212,"meta":6229,"navigation":214,"path":6230,"readingTime":6231,"seo":6235,"stem":6236,"subtitle":211,"useFirstImageAsCover":223,"__hash__":6237},"blog\u002Fblog\u002F2024-11-02-release-v0-43-1.md","Caido v0.43.1",{"type":9,"value":6067,"toc":6216},[6068,6071,6074,6078,6081,6084,6086,6090,6106,6110,6128,6147,6151,6154,6156,6195,6198],[12,6069,6070],{},"Caido v0.43.1 is here! This release brings a new feature for free users and a ton of new APIs for plugin developers.",[12,6072,6073],{},"We also have a new plugin in the store and a few updates to existing ones.",[16,6075,6077],{"id":6076},"httpql-search-is-now-free","🔍 HTTPQL Search is now free",[12,6079,6080],{},"HTTPQL is one of our most liked features, yet it was only available to pro users. We've changed that and made it free for everyone.",[12,6082,6083],{},"You can now perform searches with HTTPQL queries without having to upgrade to a paid plan.",[16,6085,5759],{"id":5758},[49,6087,6089],{"id":6088},"new-plugins","New Plugins",[12,6091,6092,5770,6099,6102,6105],{},[365,6093,6094],{},[72,6095,6098],{"href":6096,"rel":6097},"https:\u002F\u002Fgithub.com\u002FBugBountyzip\u002FCaidoDrawing",[76],"Screen Drawing",[72,6100,5952],{"href":5950,"rel":6101},[76],[6103,6104],"br",{},"\nTurn your cursor into a drawing tool, enabling you to annotate directly within Caido for clearer, more illustrative screenshots in your reports.",[49,6107,6109],{"id":6108},"community-contributions","Community Contributions",[12,6111,6112,6119,6121,6122,6127],{},[365,6113,6114],{},[72,6115,6118],{"href":6116,"rel":6117},"https:\u002F\u002Fgithub.com\u002Fcaido-community\u002FAuthMatrix",[76],"AuthMatrix",[6103,6120],{},"\nThanks to ",[72,6123,6126],{"href":6124,"rel":6125},"https:\u002F\u002Fx.com\u002Fm4st3rspl1nt3r",[76],"@m4st3rspl1nt3r"," for their valuable updates to AuthMatrix, which include:",[54,6129,6130,6136,6142],{},[57,6131,6132,6135],{},[365,6133,6134],{},"Deduplication logic",": Requests are now deduplicated based on the URL, method, and body.",[57,6137,6138,6141],{},[365,6139,6140],{},"Auto-analysis",": Requests can now be automatically analyzed as they are intercepted.",[57,6143,6144],{},[365,6145,6146],{},"Performance Optimizations",[16,6148,6150],{"id":6149},"️-plugin-development","⚒️ Plugin Development",[12,6152,6153],{},"We've expanded our backend and workflow SDKs with new APIs.",[49,6155,1225],{"id":1224},[54,6157,6158,6161,6164,6167,6170,6181],{},[57,6159,6160],{},"FilesSDK: List \u002F Create \u002F Update \u002F Delete files",[57,6162,6163],{},"FilterSDK: List \u002F Create \u002F Update \u002F Delete filter presets",[57,6165,6166],{},"HTTPHistorySDK: Get \u002F Set HTTPQL queries",[57,6168,6169],{},"SearchSDK: Get \u002F Set HTTPQL queries",[57,6171,6172,6173],{},"MatchReplaceSDK:\n",[54,6174,6175,6178],{},[57,6176,6177],{},"List \u002F Create \u002F Update \u002F Delete match & replace rules",[57,6179,6180],{},"List \u002F Create \u002F Update \u002F Delete collections",[57,6182,6183,6184],{},"ReplaySDK:\n",[54,6185,6186,6189,6192],{},[57,6187,6188],{},"List \u002F Create \u002F Delete tabs",[57,6190,6191],{},"List collections",[57,6193,6194],{},"List \u002F Rename sessions",[49,6196,6197],{"id":51},"⚒️ Backend SDK",[54,6199,6200,6203,6206],{},[57,6201,6202],{},"sdk.events.onProjectChange: Run a function when the selected project has changed",[57,6204,6205],{},"sdk.requests.matches: Check if a given request\u002Fresponse matches an HTTPQL query",[57,6207,6208,6211,6212,6215],{},[190,6209,6210],{},"import { fetch } from \"caido:http\"",": You can now perform HTTP requests in a backend plugin using the ",[190,6213,6214],{},"fetch"," function",{"title":195,"searchDepth":196,"depth":196,"links":6217},[6218,6219,6223],{"id":6076,"depth":196,"text":6077},{"id":5758,"depth":196,"text":5759,"children":6220},[6221,6222],{"id":6088,"depth":205,"text":6089},{"id":6108,"depth":205,"text":6109},{"id":6149,"depth":196,"text":6150,"children":6224},[6225,6226],{"id":1224,"depth":205,"text":1225},{"id":51,"depth":205,"text":6197},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2024-11-02-release-v0-43-1\u002Fog.png","2024-11-02",{},"\u002Fblog\u002F2024-11-02-release-v0-43-1",{"text":217,"minutes":6232,"time":6233,"words":6234},1.205,72300,241,{"title":6065,"description":210},"blog\u002F2024-11-02-release-v0-43-1","xDkKVKf_2Jak5tsz-rvpcAjfTbKihcPl18JpwvTVqjc",{"id":6239,"title":6240,"author":7,"body":6241,"coverImage":6261,"createdAt":6404,"description":210,"excerpt":211,"extension":212,"meta":6405,"navigation":214,"path":6406,"readingTime":6407,"seo":6408,"stem":6409,"subtitle":211,"useFirstImageAsCover":223,"__hash__":6410},"blog\u002Fblog\u002F2024-10-07-release-v0-42-0.md","Caido v0.42.0",{"type":9,"value":6242,"toc":6393},[6243,6246,6253,6256,6262,6265,6268,6317,6324,6327,6330,6336,6340,6342,6375,6377,6380],[12,6244,6245],{},"Caido v0.42.0 is here! This release brings SOCKS proxy support as well as enhancements to the workflow editor.",[16,6247,6249,6250],{"id":6248},"socks-proxy-support","🧦 ",[365,6251,6252],{},"SOCKS Proxy Support",[12,6254,6255],{},"You can now redirect traffic to SOCKS proxies, giving you more control over how your requests are handled. Multiple proxies can be configured at once, allowing you to assign specific traffic to different proxies based on the destination target.",[12,6257,6258],{},[382,6259],{"alt":6260,"src":6261},"SOCKS Proxy","https:\u002F\u002Fres.cloudinary.com\u002Fdqa7ilway\u002Fimage\u002Fupload\u002Fv1728497320\u002Foutput_rmtxvq.png",[16,6263,6264],{"id":6088},"🧩 New plugins",[12,6266,6267],{},"Four new plugins have been added to the plugin store.",[54,6269,6270,6283,6296,6309],{},[57,6271,6272,5770,6279,6282],{},[72,6273,6276],{"href":6274,"rel":6275},"https:\u002F\u002Fgithub.com\u002Fbebiksior\u002FCaido403bypasser",[76],[365,6277,6278],{},"403Bypasser",[72,6280,5775],{"href":5773,"rel":6281},[76],": Bypass a 403 page with a set of templates",[57,6284,6285,5770,6292,6295],{},[72,6286,6289],{"href":6287,"rel":6288},"https:\u002F\u002Fgithub.com\u002Fbebiksior\u002FEvenBetter",[76],[365,6290,6291],{},"EvenBetter",[72,6293,5775],{"href":5773,"rel":6294},[76],": Collection of tweaks and improvements",[57,6297,6298,5770,6305,6308],{},[72,6299,6302],{"href":6300,"rel":6301},"https:\u002F\u002Fgithub.com\u002Fbebiksior\u002FCaidoThemes",[76],[365,6303,6304],{},"Caido Themes",[72,6306,5775],{"href":5773,"rel":6307},[76],": A plugin for managing and customizing themes",[57,6310,6311,6316],{},[72,6312,6314],{"href":6116,"rel":6313},[76],[365,6315,6118],{}," by Caido: Grid-based authorization testing across multiple users and roles",[16,6318,6320,6321],{"id":6319},"workflow-improvements","🤖 ",[365,6322,6323],{},"Workflow Improvements",[12,6325,6326],{},"The node editor sidebar now clearly indicates which inputs are required or optional and prevents the use of invalid references.",[12,6328,6329],{},"\"Matches HTTPQL\" node now has true\u002Ffalse exec branches. No need to use the \"if\u002Felse\" node to process the result anymore.",[16,6331,6332,6333],{"id":6149},"⚒️ ",[365,6334,6335],{},"Plugin Development",[49,6337,6339],{"id":6338},"️backendworkflow-sdk","️Backend\u002FWorkflow SDK",[12,6341,6153],{},[54,6343,6344,6357,6363,6369],{},[57,6345,6346,6347,6350,6351,6356],{},"\"",[365,6348,6349],{},"crypto","\" module: Implemented a subset of the NodeJS \"crypto\" module. Check ",[72,6352,6355],{"href":6353,"rel":6354},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fsdk-js\u002Fblob\u002Fmain\u002Fpackages\u002Fquickjs-types\u002Fsrc\u002Fllrt\u002Fcrypto.d.ts",[76],"crypto.d.ts"," for more info on what's implemented.",[57,6358,6359,6362],{},[365,6360,6361],{},"RequestSpec.parse(\"GET \u002F ...\")",": Create a RequestSpec based on an HTTP request string",[57,6364,6365,6368],{},[365,6366,6367],{},"sdk.replay.createSession",": Create a replay session",[57,6370,6371,6374],{},[365,6372,6373],{},"sdk.replaySession.getCollections",": Get the list of replay collections",[49,6376,5857],{"id":1224},[12,6378,6379],{},"New API has been added to the frontend SDK to customize editors more extensively.",[54,6381,6382],{},[57,6383,6384,6387,6388],{},[365,6385,6386],{},"Editor.getEditorView",": Retrieve the internal CodeMirror ",[72,6389,6392],{"href":6390,"rel":6391},"https:\u002F\u002Fcodemirror.net\u002Fdocs\u002Fref\u002F#view.EditorView",[76],"EditorView",{"title":195,"searchDepth":196,"depth":196,"links":6394},[6395,6397,6398,6400],{"id":6248,"depth":196,"text":6396},"🧦 SOCKS Proxy Support",{"id":6088,"depth":196,"text":6264},{"id":6319,"depth":196,"text":6399},"🤖 Workflow Improvements",{"id":6149,"depth":196,"text":6150,"children":6401},[6402,6403],{"id":6338,"depth":205,"text":6339},{"id":1224,"depth":205,"text":5857},"2024-10-07",{},"\u002Fblog\u002F2024-10-07-release-v0-42-0",{"text":217,"minutes":4735,"time":4736,"words":4737},{"title":6240,"description":210},"blog\u002F2024-10-07-release-v0-42-0","rhqzS2RxOUkXJh-wgbzKQ_loq-tHoXEuPbxx62rhfBs",{"id":6412,"title":6413,"author":7,"body":6414,"coverImage":6550,"createdAt":6551,"description":210,"excerpt":211,"extension":212,"meta":6552,"navigation":214,"path":6553,"readingTime":6554,"seo":6558,"stem":6559,"subtitle":211,"useFirstImageAsCover":223,"__hash__":6560},"blog\u002Fblog\u002F2024-09-17-release-v0-41-0.md","Caido v0.41.0",{"type":9,"value":6415,"toc":6544},[6416,6419,6423,6438,6442,6445,6506,6510,6513,6531,6533,6536],[12,6417,6418],{},"We're excited to announce the release of Caido v0.41.0, packed with new features, expanded SDK capabilities, and key bug fixes. Here's what’s included in the latest update:",[16,6420,6422],{"id":6421},"community-plugin-store","🛒 Community Plugin Store",[12,6424,6425,6426,6431,6432,6437],{},"We now have a Community Plugin Store! Browse and install plugins with a single click. All plugins are open-source and available on ",[72,6427,6430],{"href":6428,"rel":6429},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fstore",[76],"GitHub",". Ready to contribute? Explore our ",[72,6433,6436],{"href":6434,"rel":6435},"https:\u002F\u002Fdeveloper.caido.io\u002F",[76],"developer documentation"," to get started and publish your own plugins.",[16,6439,6441],{"id":6440},"️-backend-sdk-enhancements","🛠️ Backend SDK Enhancements",[12,6443,6444],{},"Our backend SDK has been supercharged with new APIs:",[54,6446,6447,6455,6463,6471,6479,6487],{},[57,6448,6449,6454],{},[365,6450,6451],{},[190,6452,6453],{},"sdk.requests.get()",": Retrieve requests by ID.",[57,6456,6457,6462],{},[365,6458,6459],{},[190,6460,6461],{},"sdk.meta.path()",": Access the file system path of your plugin.",[57,6464,6465,6470],{},[365,6466,6467],{},[190,6468,6469],{},"sdk.meta.db()",": Interact with the SQLite database associated with your plugin.",[57,6472,6473,6478],{},[365,6474,6475],{},[190,6476,6477],{},"sdk.findings.get()",": Fetch findings linked to specific requests.",[57,6480,6481,6486],{},[365,6482,6483],{},[190,6484,6485],{},"Request.getUrl()",": Obtain URLs for requests.",[57,6488,6489,3018,6492],{},[365,6490,6491],{},"New Modules",[54,6493,6494,6500],{},[57,6495,6496,6499],{},[365,6497,6498],{},"\"net\" module",": Utilize TCP sockets for enhanced connectivity.",[57,6501,6502,6505],{},[365,6503,6504],{},"\"sqlite\" module",": Create and manage SQLite databases.",[16,6507,6509],{"id":6508},"frontend-sdk-enhancements","🎨 Frontend SDK Enhancements",[12,6511,6512],{},"Upgrade your plugin's UI with new components in our frontend SDK:",[54,6514,6515,6523],{},[57,6516,6517,6522],{},[365,6518,6519],{},[190,6520,6521],{},"sdk.ui.httpRequestEditor()",": Display request details using a read-only HTTPRequestEditor.",[57,6524,6525,6530],{},[365,6526,6527],{},[190,6528,6529],{},"sdk.ui.httpResponseEditor()",": View response content with a read-only HTTPResponseEditor.",[16,6532,5221],{"id":153},[12,6534,6535],{},"We’ve addressed several bugs for a smoother experience:",[54,6537,6538,6541],{},[57,6539,6540],{},"Fixed JSON formatting issues in the editor.",[57,6542,6543],{},"Resolved an issue where undo history would be lost when switching between replay tabs.",{"title":195,"searchDepth":196,"depth":196,"links":6545},[6546,6547,6548,6549],{"id":6421,"depth":196,"text":6422},{"id":6440,"depth":196,"text":6441},{"id":6508,"depth":196,"text":6509},{"id":153,"depth":196,"text":5221},"\u002F__og-image__\u002Fstatic\u002Fblog\u002F2024-09-17-release-v0-41-0\u002Fog.png","2024-09-17",{},"\u002Fblog\u002F2024-09-17-release-v0-41-0",{"text":2504,"minutes":6555,"time":6556,"words":6557},0.89,53400,178,{"title":6413,"description":210},"blog\u002F2024-09-17-release-v0-41-0","m8QClor0FdvmF3Ncwlhbr7sA2abfhwgjxQkOg2d7N54",{"id":6562,"title":6563,"author":2423,"body":6564,"coverImage":6570,"createdAt":6833,"description":195,"excerpt":211,"extension":212,"meta":6834,"navigation":214,"path":6835,"readingTime":6836,"seo":6841,"stem":6842,"subtitle":211,"useFirstImageAsCover":223,"__hash__":6843},"blog\u002Fblog\u002F2024-01-17-httpql.md","Introducing HTTPQL: A New Query Language for Hackers",{"type":9,"value":6565,"toc":6828},[6566,6571,6574,6581,6584,6590,6593,6598,6601,6607,6610,6628,6631,6637,6641,6644,6654,6681,6712,6718,6725,6731,6738,6744,6747,6753,6756,6762,6766,6781,6784,6790,6793,6801,6804,6809,6812,6815],[12,6567,6568],{},[382,6569],{"alt":5521,"src":6570},"\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fcover.webp",[12,6572,6573],{},"A common request we received from users in the last few months was to improve our search functionality. Our old interface was decent for simple cases but was lacking the moment you wanted to do some more serious filtering. It also was not super clear what \"All of\" versus \"Any of\" would do.",[12,6575,6576],{},[382,6577],{"alt":6578,"src":6579,"width":6580},"previous filter","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fprevious_filter.webp",500,[12,6582,6583],{},"When we started designing the new filtering system, we looked at existing solutions we liked and how we could take inspiration from them. We quickly eliminated UI-based filters in favour of text-based ones, mainly because it is so much faster to type than to click on a bunch of buttons.",[6585,6586,6587],"blockquote",{},[12,6588,6589],{},"We are committed to make Caido more keyboard friendly in the coming months. Please reach out if you have ideas!",[12,6591,6592],{},"One such system is the popular and powerful Wireshark filtering.",[12,6594,6595],{},[382,6596],{"alt":533,"src":6597},"\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fwireshark.webp",[12,6599,6600],{},"Another one, closer to our space, is the Burp Suite extension Logger++.",[12,6602,6603],{},[382,6604],{"alt":6605,"src":6606},"Logger++","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Flogger_plus_plus.webp",[12,6608,6609],{},"Just from those two systems, we can already draw some conclusions on what the system should include:",[54,6611,6612,6618,6625],{},[57,6613,6614,6615],{},"Concept of ",[322,6616,6617],{},"operand operator value",[57,6619,6620,6621,6624],{},"Some form of boolean logic (",[322,6622,6623],{},"and, or, parentheses",")",[57,6626,6627],{},"A way to save and re-use filters (maybe even nesting)",[12,6629,6630],{},"In this sense, the new search interface for Caido does look familiar but also contains some new features.",[12,6632,6633],{},[382,6634],{"alt":6635,"src":6636},"httpql bar","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_bar.webp",[16,6638,6640],{"id":6639},"the-specification","The specification",[12,6642,6643],{},"As far as we are aware, there is no common specification for a query language that operates on HTTP. We are humbly trying to change that with HTTPQL. It was obviously modeled on the needs and limits of our existing backend, so it would likely need to evolve before it could hope to become an industry standard.",[6585,6645,6646],{},[12,6647,6648,6649,540],{},"We won't go over the whole specification in this blog, but we have more ",[72,6650,6653],{"href":6651,"rel":6652},"https:\u002F\u002Fdocs.caido.io\u002Finternals\u002Fhttpql.html",[76],"documentation here",[12,6655,6656,6657,6660,6661,6664,6665,6668,6669,6672,6673,6676,6677,6680],{},"In HTTPQL, each clause contains a ",[322,6658,6659],{},"namespace",", a ",[322,6662,6663],{},"field",", an ",[322,6666,6667],{},"operator"," and a ",[322,6670,6671],{},"value."," Right now, the available namespaces are ",[365,6674,6675],{},"req"," (request) and ",[365,6678,6679],{},"resp"," (response). Each has fields that are parsed from the data.",[12,6682,6683,6684,6687,6688,6691,6692,6697,6698,6701,6702,298,6705,411,6708,6711],{},"The operators available are dependent on the type of the value. For text and bytes, we currently offer ",[365,6685,6686],{},"eq"," (equals), ",[365,6689,6690],{},"like"," (the ",[72,6693,6696],{"href":6694,"rel":6695},"https:\u002F\u002Fwww.sqlite.org\u002Flang_expr.html#the_like_glob_regexp_match_and_extract_operators",[76],"SQL LIKE operator",") and ",[365,6699,6700],{},"cont"," (contains), as well as their counterparts (",[365,6703,6704],{},"neq",[365,6706,6707],{},"nlike",[365,6709,6710],{},"ncont",").",[12,6713,6714],{},[382,6715],{"alt":6716,"src":6717},"HTTPQL syntax","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_syntax.webp",[12,6719,6720,6721,6724],{},"Clauses are then combined with ",[322,6722,6723],{},"logical operators"," to form a query.",[12,6726,6727],{},[382,6728],{"alt":6729,"src":6730},"HTTPQL group","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_groups.webp",[12,6732,6733,6734,6737],{},"We also added the ability to save HTTPQL queries (we call them ",[322,6735,6736],{},"presets",") and reuse them in other queries. This is super useful, for example, to quickly eliminate some unwanted requests like images, styles, ads tracking, etc.",[12,6739,6740],{},[382,6741],{"alt":6742,"src":6743},"HTTPQL presets","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_presets.webp",[12,6745,6746],{},"In this example, the no-images preset is expanded to a bunch of nested clauses automatically without polluting your original query.",[12,6748,6749],{},[382,6750],{"alt":6751,"src":6752},"HTTPQL preset body","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_preset_body.webp",[12,6754,6755],{},"Finally, when you just want to search for a certain string everywhere, we offer a shortcut to do just that!",[12,6757,6758],{},[382,6759],{"alt":6760,"src":6761},"HTTPQL raw shortcut","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fhttpql_raw_shortcut.webp",[16,6763,6765],{"id":6764},"under-the-hood","Under the hood",[12,6767,6768,6769,6774,6775,6780],{},"We know some of you might be wondering how we make this new search feature work. Here are some of the juicy details. As you might know, the Caido Proxy has a clear frontend\u002Fbackend separation. This means the query is first parsed on the frontend using Lezer (",[72,6770,6773],{"href":6771,"rel":6772},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fhttpql",[76],"here is the grammar",") into an ",[72,6776,6779],{"href":6777,"rel":6778},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAbstract_syntax_tree",[76],"Abstract Syntax Tree"," (AST).",[12,6782,6783],{},"It is then converted to a tree of GraphQL objects to be transmitted to the Caido Proxy backend. We don't hide this schema; you can even use it yourself directly in Caido!",[12,6785,6786],{},[382,6787],{"alt":6788,"src":6789},"Caido profile","\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Fprofile.webp",[12,6791,6792],{},"Once the query reaches the backend, it is transformed again into Rust objects. We then do two final transformations:",[54,6794,6795,6798],{},[57,6796,6797],{},"One for SQL clauses to fetch the existing data in the SQLite database of the current project.",[57,6799,6800],{},"One for Rust clauses to filter new requests that come through the proxy. We send those that pass the filter to the frontend using a websocket.",[12,6802,6803],{},"With those two transformations, we are ready to serve you the data and new requests as they come in. The whole pipeline looks like:",[12,6805,6806],{},[382,6807],{"alt":6765,"src":6808,"width":6580},"\u002Fimages\u002Fblog\u002F2024-01-17-httpql\u002Funder_the_hood.webp",[16,6810,6811],{"id":4235},"What's next?",[12,6813,6814],{},"We have a lot of ideas on how we want to continue improving the search experience in Caido. Our Pro users should see a Caido Assistant integration this year to help them craft complex queries faster. We also want to add a regex operator to provide even more advanced search functionality.",[12,6816,6817,6818,6823,6824,6827],{},"If you have ideas, feel free to share them with us using our ",[72,6819,6822],{"href":6820,"rel":6821},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido",[76],"Github issue tracker"," or directly on ",[72,6825,951],{"href":2489,"rel":6826},[76],"!",{"title":195,"searchDepth":196,"depth":196,"links":6829},[6830,6831,6832],{"id":6639,"depth":196,"text":6640},{"id":6764,"depth":196,"text":6765},{"id":4235,"depth":196,"text":6811},"2024-01-17",{},"\u002Fblog\u002F2024-01-17-httpql",{"text":6837,"minutes":6838,"time":6839,"words":6840},"4 min read",3.3,198000,660,{"title":6563,"description":195},"blog\u002F2024-01-17-httpql","J2CeqpDP4_8x2sy3paSheDgtrSCUx6ZahDNkhHhWNck",{"id":6845,"title":6846,"author":2423,"body":6847,"coverImage":6853,"createdAt":7033,"description":195,"excerpt":211,"extension":212,"meta":7034,"navigation":214,"path":7035,"readingTime":7036,"seo":7040,"stem":7041,"subtitle":211,"useFirstImageAsCover":223,"__hash__":7042},"blog\u002Fblog\u002F2023-01-17-public-beta.md","Caido is Now in Public Beta",{"type":9,"value":6848,"toc":7029},[6849,6854,6861,6866,6869,6925,6931,6935,6938,6950,6953,6958,6962,6970,6984,6987,7004,7008,7021],[12,6850,6851],{},[382,6852],{"alt":5521,"src":6853},"\u002Fimages\u002Fblog\u002F2023-01-17-public-beta\u002Fcover.webp",[12,6855,6856,6857,6860],{},"We’re excited to announce the public beta of ",[72,6858,6859],{"href":534},"Caido","! We have been working on Caido since 2021 and are proud to share with you what we have built. Our long private beta throughout 2022 allowed us to gather a lot of helpful feedback, build a strong community and make the product better.",[6862,6863,6865],"h4",{"id":6864},"all-the-tools-youlove","All the tools you love",[12,6867,6868],{},"For this public beta launch, we are shipping most of the tools required for exploration and manual testing of web applications. It includes:",[54,6870,6871,6877,6883,6889,6895,6901,6907,6913,6919],{},[57,6872,6873,6876],{},[365,6874,6875],{},"Sitemap:"," Visualize the structure of any website that is proxied",[57,6878,6879,6882],{},[365,6880,6881],{},"Forward:"," Pause, edit and drop proxied requests",[57,6884,6885,6888],{},[365,6886,6887],{},"Intercept:"," View, filter and scope all intercepted requests",[57,6890,6891,6894],{},[365,6892,6893],{},"Replay:"," Edit and resend requests individually",[57,6896,6897,6900],{},[365,6898,6899],{},"Automate:"," Customize and test requests against large wordlists",[57,6902,6903,6906],{},[365,6904,6905],{},"Tamper:"," Modify requests automatically as they pass through the proxy",[57,6908,6909,6912],{},[365,6910,6911],{},"Convert:"," Encode or decode text using a chain of encodings",[57,6914,6915,6918],{},[365,6916,6917],{},"History:"," View and filter requests generated from all the tools",[57,6920,6921,6924],{},[365,6922,6923],{},"Scope:"," Filter requests from in-scope and out-of-scope hosts",[12,6926,6927],{},[382,6928],{"alt":6929,"src":6930},"tools","\u002Fimages\u002Fblog\u002F2023-01-17-public-beta\u002Ftools.webp",[6862,6932,6934],{"id":6933},"architecture","Architecture",[12,6936,6937],{},"When we started working on Caido, we wanted to make sure that two major tenets would always be respected:",[54,6939,6940,6945],{},[57,6941,6942],{},[365,6943,6944],{},"Be efficient with resources",[57,6946,6947],{},[365,6948,6949],{},"Be as flexible as possible",[12,6951,6952],{},"This is why Caido’s architecture is based around a server written in Rust that you can run anywhere and a web client written in Vue. This is also why you will hear the term “instance” thrown around since from your computer you can access many remote and local installations of Caido. You can use our desktop application or directly from your browser!",[12,6954,6955],{},[382,6956],{"alt":6933,"src":6957},"\u002Fimages\u002Fblog\u002F2023-01-17-public-beta\u002Farchitecture.webp",[49,6959,6961],{"id":6960},"roadmap","Roadmap",[12,6963,6964,6965,6969],{},"We know there is a lot yet to build to make Caido feature complete. As much as we want to build everything, we are a ",[72,6966,6968],{"href":6967},"\u002Fabout","small bootstrap team"," so hard choices have to be made.",[12,6971,6972,6973,6978,6979,540],{},"This is where you can help! All ",[72,6974,6977],{"href":6975,"rel":6976},"https:\u002F\u002Fgithub.com\u002Fcaido\u002Fcaido\u002Fissues",[76],"bugs and feature requests are available on Github"," and you can vote on those that you consider a priority. It helps us a lot when deciding the next things to work on. You can see what is currently in the pipeline by ",[72,6980,6983],{"href":6981,"rel":6982},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fcaido\u002Fprojects\u002F4\u002Fviews\u002F20",[76],"visiting our public roadmap",[12,6985,6986],{},"Our main goal for 2023 is to make sure Caido can be your main proxy and contain all the tools you need. This currently includes:",[54,6988,6989,6992,6995,6998,7001],{},[57,6990,6991],{},"Support for plugins and a modern plugin store",[57,6993,6994],{},"Support for more protocols",[57,6996,6997],{},"Passive vulnerability scanning of requests",[57,6999,7000],{},"Collaboration between team members",[57,7002,7003],{},"Polishing and better integration of existing tools",[49,7005,7007],{"id":7006},"try-itout","Try it out",[12,7009,7010,7011,7016,7017,540],{},"Excited to see what Caido can do? ",[72,7012,7015],{"href":7013,"rel":7014},"https:\u002F\u002Fdashboard.caido.io\u002F#\u002Fsignup",[76],"Join the public beta by registering for free"," and create your first instance. If you want to join our community, you can also ",[72,7018,7020],{"href":949,"rel":7019},[76],"join our Discord",[12,7022,7023,7024,7028],{},"All the features of Caido are currently free. You can support the project by subscribing to a ",[72,7025,7027],{"href":7026},"\u002Fpricing","Pro tier"," and get early access to the new features we are building.",{"title":195,"searchDepth":196,"depth":196,"links":7030},[7031,7032],{"id":6960,"depth":205,"text":6961},{"id":7006,"depth":205,"text":7007},"2023-01-17",{},"\u002Fblog\u002F2023-01-17-public-beta",{"text":1162,"minutes":7037,"time":7038,"words":7039},2.13,127800,426,{"title":6846,"description":195},"blog\u002F2023-01-17-public-beta","J2hqUrFr2I2ue-0wQz9dF7p2I-sCWW63RqfFA-sPTgg",{"id":7044,"title":7045,"author":2423,"body":7046,"coverImage":7052,"createdAt":7070,"description":195,"excerpt":211,"extension":212,"meta":7071,"navigation":214,"path":7072,"readingTime":7073,"seo":7077,"stem":7078,"subtitle":211,"useFirstImageAsCover":223,"__hash__":7079},"blog\u002Fblog\u002F2021-06-26-welcome.md","Welcome to the Caido Blog!",{"type":9,"value":7047,"toc":7068},[7048,7053,7056,7062,7065],[12,7049,7050],{},[382,7051],{"alt":5521,"src":7052},"\u002Fimages\u002Fblog\u002F2021-06-26-welcome\u002Fcover.webp",[12,7054,7055],{},"Hi there 👋",[12,7057,7058,7059,7061],{},"Welcome to the blog of ",[72,7060,6859],{"href":534},"! We are building a new lightweight web security auditing toolkit to help security professionals and enthusiasts audit web applications with efficiency and ease.",[12,7063,7064],{},"You can now register for the beta launch directly on our website!",[12,7066,7067],{},"The Caido Team",{"title":195,"searchDepth":196,"depth":196,"links":7069},[],"2021-06-26",{},"\u002Fblog\u002F2021-06-26-welcome",{"text":2504,"minutes":7074,"time":7075,"words":7076},0.22,13200,44,{"title":7045,"description":195},"blog\u002F2021-06-26-welcome","zWe4yyLx3Q-sljLokeG2KvUu_Z-VAeCkgOb3b5Lctaw",1779975408991]