Self-Study in The Age of LLMs · Arch Cloud Labs
As part of my doctorate program, I am regularly reading academic papers, watching presentations, and attempting to recreate prior research.<br>Often, this boils down to experimenting with a new fuzzing framework, programming language, or navigating a codebase that I’ve never seen before.<br>The cognitive friction involved in experimentation with new technology is where the real learning happens, and is essential to the process of skill mastery.<br>However, advanced topics in combination with limited free time create an environment that can be challenging to deeply understand a technical concept.<br>While Large Language Models (LLMs) might be able to whip out solutions for a technical task quickly, I firmly believe it’s important to deeply understand the technical architecture of what you’re building, and I think it’s more important than ever to do things “the old fashion way” first, and understand the craft of Information Security.
At DEF CON this year, LLMs were a recurring topic at both the talks and ad-hoc conversations with fellow DEF CON goers.<br>Attendees new to the Information Security field were asking “how can I know the LLM output is correct, if I’m new to the fundamentals?”<br>I think this question is great as it signals skepticism about the output of an LLM, and to not just blindly accept what an LLM produces.<br>I’ll often use LLMs to build a custom “curriculum” around a paper or set of papers to help me fill in my gaps in the form of short form tutorials.<br>This approach allows any academic paper, codebase or Capture The Flag problem to be turned into a “graduate lab” nearly instantaneously, which ultimately allows me to further develop and verify my understanding.
This blog post will show my approach and thoughts on leveraging LLMs for self-study.
Arch Cloud Labs & LLMs
There are many LLM providers you can choose from with a reasonable recurring subscription.<br>However, the rate at which models are being released from a variety of vendors piques my curiosity to try out different models for experimentation.<br>Additionally, some of the work I’m doing may trigger guardrails, as anything that may be deemed “offensive” in nature could trigger an alert, and disrupt a session.<br>Because of this, I use a combination of locally hosted open-weight models on a Framework Desktop, OpenRouter, and OpenAI’s ChatGPT for research purposes.<br>Let’s discuss the reason for all three:
OpenAI ChatGPT: Assessing Technical Understanding
At the time of this writing ChatGPT, is ~$20 USD a month for personal web-based-chat.<br>The projects tab that the interface offers allows you to upload resources such as PDFs, pictures, etc… and include this data in your context.<br>If I’m spending time on a particular area of fuzzing (Ex: directed fuzzing), I can upload a handful of papers into one of these “projects” and test my understanding of the content. While preparing for my research defense, I prompted ChatGPT to be an “adversarial advisor” and critically ask questions about the content to assess my understanding.<br>The questions asked required multiple paragraph responses, and were derived from the ChatGPT projects with academic PDFs.
The important part for this methodology to be successful is that you still have to do the upfront work of reading the papers.<br>The cognitive friction of reading deep technical content, taking notes, and questioning what gaps the researchers are solving, and their technical approach is absolutely essential. Simply uploading content, and being quizzed on it to grasp the “cliff notes” is insufficient.<br>You’re not really going to get the benefits, and you’d just be cheating yourself.<br>While LLMs can simply summarize a research paper for you, this is not the goal for true concept mastery.<br>Don’t cheat yourself, do the work, read the paper.
The largest benefit I’ve personally had from this approach is identifying areas that I overlooked or didn’t immediately see as a major technical contribution from a paper.<br>Sometimes I get focused on a particular component that I’m really interested in, and that may distract me from a large contribution or challenge the author(s) overcame.<br>The approach I describe here with ChatGPT ensures I see the whole contribution and fight my tunnel vision.
Open Router: Learning New Codebases
OpenRouter is essentially a proxy to numerous Large Language Model providers via a single interface.<br>You can deposit however much money you choose into your account, and make requests to a given LLM via your favorite coding agent (Ex: OpenCode).<br>There are hundreds of models available, to include your typical headline frontier models from companies like Anthropic, OpenAI, Google, Moonshot, etc…<br>Each of these providers have different models with different pricing, and...