GeistHaus
log in · sign up

https://vitraag.com/feed.xml

atom
10 posts
Polling state
Status active
Last polled May 19, 2026 04:40 UTC
Next poll May 20, 2026 06:03 UTC
Poll interval 86400s
ETag W/"6a05fe7e-19cb2"
Last-Modified Thu, 14 May 2026 16:55:26 GMT

Posts

AI-Assisted Grading with Canvas API and Claude
aisecurityteaching
How I built a grading pipeline for a Hacker Techniques & Exploits course — and what I learned about prompting AI to give feedback like a teacher.
Show full content

How I built a grading pipeline for a Hacker Techniques & Exploits course — and what I learned about prompting AI to give feedback like a teacher.


Grading is one of the hardest parts of teaching. Not because it’s intellectually difficult, but because it compounds: 30 students, 5 labs, each submission a PDF or Word doc, each deserving real written feedback. By the time you get to the 25th submission you’ve read about nmap that week, the feedback starts to blur.

I wanted to fix that — or at least make it less draining. Here’s what I built and how it works.


The Setup: Canvas Already Has an API

Most instructors don’t know this, but Canvas — one of the most widely deployed LMS platforms — exposes a full REST API, and instructors can access it with a personal token generated directly from their account settings (Account → Settings → New Access Token). No admin privileges needed.

That one fact unlocked everything. From the API I can:

  • List all assignments and their submission types
  • Pull every student’s submitted files with download URLs
  • Post grades and written comments back to SpeedGrader

The course I’m teaching — CIS-55, Hacker Techniques & Exploits at Peralta College — has 36 students and 5 labs covering penetration testing tools, OSINT, and incident response. All submitted as file uploads: PDFs, Word docs, screenshots, even scanned handwritten pages.


The Pipeline

The system has four stages, each a standalone script that hands off to the next:

Discover → Download → AI Grade → Human Review → Upload

Discover queries Canvas for all assignments with online_upload submission types and shows you who has submitted and who hasn’t, at a glance.

Download fetches every attachment for every student into a local directory tree organized by lab and student name. It skips files already present, so re-runs are fast.

AI Grade is the core: for each submission, it extracts text (or renders scanned PDFs to images), builds a prompt around a rubric YAML file, sends it to Claude, and gets back a structured JSON response with per-criterion scores, a total, a written comment, and a flag if something looks off.

Upload reads the reviewed CSV and posts each grade and comment back to Canvas via the API — the same way SpeedGrader does it manually.

The whole thing is wrapped in a single make lab LAB="Lab 5" command that walks you through the steps interactively.


The Rubric: YAML as the Source of Truth

The key design decision was to encode rubrics as YAML files rather than hardcoding them into prompts. Each lab has its own file:

assignment_id: 1643223
assignment_name: "Lab 3 - nmap, metasploit, sqlmap"
total_points: 100

criteria:
  - name: "Nmap Scanning"
    points: 30
    description: >
      Correct nmap scans performed — host discovery, port scan,
      service/version detection. Commands and output shown.

  - name: "Metasploit Usage"
    points: 30
    description: >
      Module selected, options configured, exploit executed.
      Evidence of successful or attempted exploitation shown.

  - name: "SQLMap"
    points: 25
    description: >
      SQLMap used against a vulnerable target. Command, target URL,
      and output documented.

  - name: "Bonus - LLMs or Nessus"
    points: 15
    description: >
      Used an LLM to assist with exploitation OR ran a Nessus scan.

extra_instructions: |
  For nmap: look for -sV, -sC, -O flags showing competence beyond basic ping.
  For Metasploit: use/exploit/show options/run sequence expected.

This separation matters. When a rubric changes, you update the YAML — the code and prompt stay the same. And the rubric file becomes a precise specification of what you’re actually measuring, forcing you to think it through before grading begins.


The Prompt: Teaching Claude to Sound Like a Teacher

The most important part of this project wasn’t the API integration — it was the system prompt. Early drafts produced feedback that sounded like a rubric being recited back. Technically accurate, but cold.

The breakthrough was two constraints added to the system prompt:

First-person instructor voice. Instead of “The student demonstrated…” the feedback reads “I can see you put real effort into this section…” Small shift, completely different feel. Students respond to feedback that sounds like it came from a person who read their work.

Per-criterion breakdown. Each comment must include one sentence per rubric criterion explaining the score: “For Nmap Scanning I’m giving you 25/30 because you ran -sV and -sC correctly but didn’t include output showing the open ports.” This turns a number into a teaching moment.

The full system prompt:

You are grading lab submissions for a Hacker Techniques & Exploits course.
Write ALL feedback in first person as the instructor speaking directly to
the student. Use "I" for yourself and "you" for the student.
Be warm, encouraging, and specific.

For EACH rubric criterion, include one sentence explaining what score you
gave and why: "For [Criterion] I'm giving you X/Y points because..."
Then add 1-2 overall sentences of encouragement or guidance.

Return valid JSON: { scores, total, comment, flag, confidence }

The flag field does real work: Claude returns AI_GENERATED_SUSPECTED, REVIEW_NEEDED, or INCOMPLETE when something warrants a second look. On Lab 5, 13 of 22 submissions were flagged — mostly for AI-generated content or thin evidence. That’s not Claude being trigger-happy; that’s a useful signal that those submissions need human eyes before the grade is final.


Handling the Messy Reality of Student Submissions

Student submissions are not clean. In a single lab I encountered:

  • Text-layer PDFs (easy)
  • Word documents (easy)
  • Scanned image-based PDFs with no extractable text (fixed by rendering pages to PNG and sending them through Claude’s vision API)
  • Screenshots only, no write-up (flagged as INCOMPLETE)
  • HTML files exported from Notion
  • Multiple files in a single submission

The extractor layer handles all of these. If PyMuPDF returns fewer than 50 characters from a PDF, it falls back to rendering each page as a 144dpi image and passing them to Claude as base64 vision inputs. That caught a beautifully written incident report on the 23andMe breach that would otherwise have been invisible.


Human Always in the Loop

The pipeline produces a CSV after AI grading, not a final grade. The CSV has a skip column — set it to true for any student you want to handle manually. Every flagged submission shows up sorted to the top.

The workflow is:

  1. Run the script — takes a few minutes for 22 students
  2. Review the CSV — fix anything that looks wrong, soften or sharpen comments
  3. Confirm the upload — the script asks “Post 22 grades to Canvas? [y/N]” and waits

The AI handles the first draft. The instructor handles the judgment calls.

There’s also a minimum score floor (80 in my course) applied before saving the CSV — any submitted work earns at least that, regardless of quality. That’s a policy decision encoded as a single line of Python, not baked into the prompt.


Built with Claude Code

The entire system was built in a single session using Claude Code — Anthropic’s CLI for agentic coding. I described the problem, Claude Code called the Canvas API live to inspect the course data, and we iterated on the design together.

The workflow I followed: describe the goal, explore the API, sketch the architecture, write the code, run the tests, fix the bugs that appear in real data. Claude Code handled the Canvas API calls, wrote the pytest test suite, debugged the scanned PDF issue when a real submission broke the extractor, and suggested the rubric-as-YAML design that made the whole thing composable.

What stood out was the speed of the feedback loop. Instead of reading API docs and writing curl commands separately, I could say “check what Lab 5 submissions look like” and get back real data from my actual course within seconds. That tight loop between intention and result is what made a project like this tractable in an afternoon.


Where It Mattered Most: The Capstone

The most valuable use of the system turned out to be the final capstone project — and it’s worth describing separately because the stakes and complexity were higher than the weekly labs.

The capstone gave students three different paths to choose from, each testing a different depth of skill. Submissions were largely written reports paired with in-class verbal presentations. That combination — a document you read before class and a live presentation you sit through — is exactly where grading fatigue compounds fastest. You’re evaluating the same student twice, across two different media, against a rubric that has to flex across three distinct project types.

The AI tool helped on three specific dimensions:

AI-assisted writing detection. With 36 students submitting written work, spotting AI-generated content by eye alone is unreliable and exhausting. The AI_GENERATED_SUSPECTED flag gave me a structured signal to check — not a verdict, but a prompt to look harder. Cross-referencing the written submission against what the student said aloud in their presentation made the assessment much more grounded.

Rubric adherence across three tracks. Because students chose different project types, the rubric had to be applied differently depending on which path they took. Encoding each track as its own YAML rubric meant Claude evaluated submissions against the right criteria automatically, rather than me mentally context-switching between rubrics for every other student.

Depth of evidence. The written sections varied enormously in specificity — some students showed every command, every screenshot, every step; others described what they did in general terms. The AI feedback reliably flagged thin evidence with REVIEW_NEEDED, which surfaced the submissions that needed a harder look before the presentation.

I still reviewed every submission and heard every student present in class. The presentations are irreplaceable — you learn things in five minutes of live Q&A that a written report would never reveal. But walking into those presentations having already read AI-generated first-pass feedback meant I arrived with specific questions, not a blank slate. That made the conversations sharper.


What I’d Do Differently

Grade calibration. The AI scores are internally consistent but not necessarily calibrated to how I grade. A few more examples of “this is a 90 in my class” in the rubric’s extra_instructions would help anchor the scoring.

Caching AI responses. Right now every re-run calls the API again. Storing responses keyed by submission file hash would make iteration much cheaper.

Side-by-side review UI. The CSV review step works, but it would be better to see the submission and the proposed feedback side by side before approving. A simple local web UI would do it.


The Code

The full pipeline — Canvas client, extractor, grader, uploader, rubric YAMLs, tests, Docker setup, and Makefile — is available at cyberdefendersprogram/canvas-ai-assisted-grader.

If you’re a Canvas instructor and you’ve read this far: your personal API token is waiting in Account → Settings → New Access Token. The activation energy is lower than you think.


  • Vaibhav teaches CIS-55 Hacker Techniques & Exploits (among other courses) at Merritt College (Peralta System). He is also a security practitioner and AI tinkerer.*
https://www.vitraag.com/2026/03/12/ai-assisted-grading-canvas-api-claude
Trusting Fallible Trust
newssecurity
This last week all the news media decried the upcoming burst of the AI bubble. Michael Burry bet almost a billion dollar short on the AI sweethearts Nvidia and Palantir.
Show full content

This last week all the news media decried the upcoming burst of the AI bubble. Michael Burry bet almost a billion dollar short on the AI sweethearts Nvidia and Palantir.

For a day or so, I was puzzled with this news and wanted to get to the bottom of the reasoning and the bets. I didn’t find much so, I tracked down Michael Burry’s Twitter account. It wasn’t super easy to find his direct account because there were a lot of name squatters. So, here is what I read from him on the subject –

“So I spent $9,200,000 , Not $912,000,000. @CNBC @WSJ @FT” Michael J Burry Shines light

Wow! So his approximately $9 million short on those stocks (NVDA and PLTR) was projected falsely by the trusted financial news sources to almost one billion dollar short! And fast forward a week plus there are numerous podcasters and bloggers still doing shows proclaiming an imminent AI bubble burst.

I did a little more investigation on the matter of what exactly were Michael’s PUTs, turns out he shorted about $7.5 million of Palantir and $1.5 million of Nvidia. But my understanding after scrolling through all that AI burst talk was that he primarily shorted Nvidia!

This whole thing is so bizarre, that in modern day and age of fast news cycle as well as a lot of news – we have primed our primal instinct to surf on hoaxes! There is no overarching thought and education even to this date on how people should get to truth and what is the responsibility of so called “trusted” news sources to rectify their misjudgments.

Following are a couple of things which I still ponder on and would love to figure out cleaner ways of doing this.

  1. When I read the news, I didn’t react on it for a bit but as more of the bubble burst noise became louder I wanted to know more. For some reason, I have developed a bit of a lazy attitude towards urgent news. Not sure if that’s a good thing or bad.
  2. When I wanted to dig deeper, I wanted to go to the source of the news, instead of yet another “trusted” news site. My instinct was to verify with the man himself – but it was not so easy to find his trusted profile. Had to validate it in a few different ways.
  3. The best 5 minutes I spent in this whole saga were reading the logical notes and comments on the thread of Michael J Burry himself! It didn’t need any fact checking just personal authenticity.
  4. Even a week out, I don’t see any media news about clarification of this misjudgment; in fact I only see lots of podcasters and bloggers who are continuing the misjudgment and using the news as a sensational eye-catcher! Shouldn’t we as a society have a reflex mechanism to mend something like this?

So my bigger question is how do we educate ourselves and develop some techniques & reflexes to deal with – trusting fallible trust? Trust but verify? No urgent action on urgent unverified news?

Thoughts?

https://www.vitraag.com/2025/11/18/trusting-fallible-trust
Tattvartha Sutra
jainismbook-reviewshyamapana
Today is the “Shyamapana festival”. Shyamapana is a festival of forgiveness. This day is a culmination of a weeklong festival of repentance called “Paryushan”. So before I get into my study notes and reflection from Tattvartha Sutra, to quote an article:
Show full content

Today is the “Shyamapana festival”. Shyamapana is a festival of forgiveness. This day is a culmination of a weeklong festival of repentance called “Paryushan”. So before I get into my study notes and reflection from Tattvartha Sutra, to quote an article:

For 357 days of the year we carry out our responsibilities to our business, our family and our career. We live a very busy, worldly life. In the process, we accumulate a lot of mental and emotional clutter. We gather unnecessary baggage of pride, fear, animosity, greed, ego and delusions in our thoughts and feelings. So Paryushan is the time to clear that clutter and make a bonfire to burn that junk, that rubbish which is corrupting our minds, our lives and our relationships. The Jains have designed the special eight days of Paryushan as a time of reflection, purification and renewal.

So over the last year if I have hurt your feelings in any way or form, please forgive me - “Michammi Dukkadam” and give me a mandate to start with a clean slate!

Micchami Dukhdam Fig. Micchammi Dukkadam

For a number of years during the eight days of Jain Paryushan, I made it a discipline to learn something new and possibly read or study a spiritual book.

This year in 2025, among other books I have read, I’m focusing on the study of Tattvartha Sutra. Sort of combining learning something new and going deep into Jainism. I also studied a bit of Bhagavad Gita and read “Thus Spoke Zarathustra”.

Tattvartha Sutra Book Fig. Tattvartha Sutra from my living room

The above book was sitting in my living room for the last few years, as my Mom was on and off studying from it. This year as I learned more about Jain history and scriptures, one thing became clear to me that the book Tattvartha Sutra has a special place in Jain literature. It is not only the prime text agreed upon by Digambars and Shvetambars, but also one which is succinct and covers the whole Jain philosophy in a concise and effective manner.

Saying that I read the book will not be fair. The way I want to present it is that I tried to study parts of the Tattvartha Sutra from three different books:

It has 10 parts. It literally means “A Manual for Understanding All That Is”. They go from Faith, Asrava (influx of Karma) to Moksha (Liberation). It literally is the cliff notes of Jain philosophy and all that there is to know.

In this reflection of my study of the text, I’ll go chapter by chapter and mention the key verses which related to me and why.

The first part describes the nature of truth and the rest of the text elucidates on it. My favorite verse is:

जीवाजीवास्रवबन्धसंवरनिर्जरामोक्षास्तत्त्वम् ॥१.४॥
jīvājīvāsravabandhasaṃvaranirjarāmokṣāstatttvam ॥1.4॥

It literally lists all the truth categories:

  • जीव (Jīva) – Soul, the conscious living entity.
  • अजीव (Ajīva) – Non-soul, the non-living substances (matter, time, space, dharma, adharma).
  • आस्रव (Āsrava) – Influx of karmic matter into the soul.
  • बन्ध (Bandha) – Bondage, the binding of karma with the soul.
  • संवर (Saṃvara) – Stoppage of karmic influx.
  • निर्जरा (Nirjarā) – Shedding of accumulated karma.
  • मोक्ष (Mokṣa) – Liberation, the complete freedom of the soul from karma.

The rest of the chapters describe these 7 truths!

Jain Cosmology Fig. Jain Cosmology (source: wikipedia)

The second chapter describes the nature of soul. My favorite quote is:

संपूर्णगर्भोपपादा जन्म ॥२.३१॥
saṃpūrṇagarbhopapādā janma ॥2.31॥
Birth can be from accumulation of particles, reproduction or descent. Very specifically it says gods and higher beings are born by descent and lesser beings are formed by accumulation of particles.
For example, microorganisms and simple life forms emerge through sammūrchana (spontaneous generation from suitable matter), while celestial beings take birth through upapāda (instantaneous manifestation in their divine bodies).

This chapter is remarkable in terms of how accurately the thousands of years old Jain theory maps to modern biology, with its description of life forms.

The third chapter describes the lower & middle regions from Jain cosmology, and the fourth chapter describes the upper world of gods.

नास्थिता परापरे त्रिपल्योपमान्तमुहूर्ते ॥३.३८॥
nāsthitā parāpare tripalyopamāntamuhūrte ॥3.38॥
The maximum and minimum periods of lifetime of human beings are three palyopams and antamuhurta.

परा पल्योपममधिकम् ॥४.३९॥
parā palyopamamadhikam ॥4.39॥
Other gods live for more than one palyopam - the Jain measure of cosmic time.

I dwell on the above snippets to talk a little about Jain mathematics and numbers which can represent the infinitesimal and the uncountable. A palyopam is explained by the analogy of a pit 8 x 8 x 8 miles filled with hair particles from a seven-day-old newborn, with one particle removed every 100 years until the pit is empty - representing at least 10^194 years! The Jain mathematical system demonstrates how religious and philosophical needs drove the development of sophisticated mathematical concepts, centuries before modern mathematics grappled with similar ideas about infinity and infinitesimals.

The fifth chapter talks about the nature of non-living things - that includes matter, dharma, adharma, space and time! This chapter has one of the most famous phrases which is etched on the symbol of Jainism:

Jain Logo Fig. Jain symbol

परस्परोपग्रहो जीवानाम् ॥५.२१॥
parasparopagraho jīvānām ॥5.21॥
Souls render service to one another.

This represents the fundamental principle of Jain ethics - that all living beings should help and support each other.

This chapter also talks about a unique view of accommodating different viewpoints in the Jain philosophy of non-absolutism or Anekantavad.

उत्पादव्ययध्रौव्ययुक्तं सत् ॥५.३०॥
utpādavyayadhrau vyayuktaṃ sat ॥5.30॥
Reality is characterized by origination, destruction, and permanence.

The eternal substance undergoes real transformation through changing modes while maintaining continuity of its essential nature. Substance and modes are two aspects of one reality - a conceptual distinction for understanding, not separate entities. Contrast this to the Philosophy of Being (like Vedanta): Reality is an unchanging eternal substance (Brahman); change is illusion. Philosophy of Becoming (like Buddhism): Only change is real; there is no permanent substance. For example, a gold ornament (substance) can be melted and reformed into different shapes (modes) - the gold remains constant while its manifestations change, illustrating how both permanence and change coexist in the same reality.

Chapter 6 is about Inflow of Karma (Asrava):

दर्शनविशुद्धिविनयसम्पन्नता शीलव्रतेष्वनतिचारी-ऽभीक्ष्णज्ञानोपयोगसंयमो शक्तितस्त्यागतपसी साधुसमाधिभेदावत्यकरणमर्हदाचार्यबहुश्रुतप्रवचनभक्तिरावश्यकापरिहाणिमार्गप्रभावना प्रवचनवत्सलत्वमिति तीर्थकरत्वस्य ॥६.२४॥
darśanaviśuddhivinayasaṃpannatā śīlavrateṣvanatichārī-‘bhīkṣṇajñānopayogasaṃyamo śaktitastyāgatapaśī sādhusamādhivedāvatyakaraṇamarhddācāryabahutapravachanabhaktiravāśyakāparihāṇimārgaprabhāvanā pravāchanavatsalatvamiti tīrthakaratvasya ॥6.24॥

This is a complex compound describing the qualities required for Tīrthakaratva:
Purity of vision (darśana-viśuddhi),
Proper conduct and vows (śīla-vrata),
Knowledge and meditation practices,
Devotion to the Arhants, Ācāryas, and learned ones,
Compassion for all beings on the religious path.

The 5 vows of Jainism are described in chapter 7. Mahavira as the 24th Tirthankar or teacher added the 5th vow of celibacy:

हिंसानृतस्तेयाब्रह्मपरिग्रहेभ्यो विरतिव्रतम् ॥७.१॥
hiṃsānṛtasteyābrahmaparigrahebhyo viratirvatam ॥7.1॥
The vows consist of abstention from
हिंसा (hiṃsā) - violence/harm,
अनृत (anṛta) - falsehood/lying,
स्तेय (steya) - stealing,
अब्रह्म (abrahma) - sexual misconduct/unchastity,
परिग्रह (parigraha) - possessiveness/attachment.

This chapter talks about small and big vows and also describes sallekhanā or saṃthārā - the Jain practice of voluntary death through gradual fasting, undertaken when one feels spiritually prepared and often when facing terminal illness or extreme old age. It’s considered the ideal way to end life in Jainism, allowing one to die in a state of equanimity while minimizing harm to other beings.

The truth of Bandh (karma formation) is described in chapter 8, Samvar (stoppage) and Nirjara (removal of karma) are discussed in chapter 9. So this covers the very short and detailed karma theory of Jainism.

ज्ञानदर्शनावरणवेदनीयमोहनीयायुर्नामगोत्रान्तरायाश्च ॥८.१॥
jñānadarśanāvaraṇavedanīyamohanīyāyurnāmagotrāntarāyāśca ॥8.1॥
Eight types of karmas which impede a soul from reaching nirvana

उत्तमा क्षमा-मार्दव-आर्जव-शौच-सत्य-संयम-तपस्-त्याग-आकिञ्चन्य-ब्रह्मचर्याणि धर्मः ॥९.६॥
uttamā kṣamā-mārdava-ārjava-śaucha-satya-saṃyama-tapas-tyāga-ākiñchanya-brahmacharyāṇi dharmaḥ ॥9.6॥
Dharma/Morality consists of perfect
forgiveness, humility, straightforwardness,
purity (freedom from greed), truthfulness,
self-restraint, austerity, renunciation,
detachment, and continence.

This snippet forms the foundational scriptural basis for the Das Lakshan in Digambar Jainism. The 10-day Das Lakshan Parva directly corresponds to these ten dharmas, with each day traditionally dedicated to contemplating and practicing one specific virtue. This creates a systematic spiritual discipline based on this scriptural foundation. These 10 days of celebration usually start as soon as the Shyamapana ends!

Chapter 10 is short and talks about Moksha or Liberation:

कृत्स्नकर्मक्षयो मोक्षः ॥१०.२॥
kṛtsnakarmakṣayo mokṣaḥ ॥10.2॥
Elimination of all types of karma is liberation

Thus said Umasvami!

https://www.vitraag.com/2025/08/28/tattvartha-sutra
Fitness Tests
health
As we enter our 40s and beyond, maintaining fitness becomes increasingly important for long-term health and vitality. Regular fitness assessments help establish baselines, track progress, and identify areas for improvement. The following tests provide a comprehensive evaluation of key fitness components that are crucial for healthy aging.
Show full content

As we enter our 40s and beyond, maintaining fitness becomes increasingly important for long-term health and vitality. Regular fitness assessments help establish baselines, track progress, and identify areas for improvement. The following tests provide a comprehensive evaluation of key fitness components that are crucial for healthy aging.

These simple, equipment-minimal tests can be performed at home and offer valuable insights into your cardiovascular health, strength, balance, and overall functional fitness.

The Dead Hang

Grip strength is strongly correlated with cardiovascular health and reduced risk of heart and respiratory diseases. Simply hang from a pull-up bar with your arms fully extended. The goal is to maintain this position for 60 seconds or more, which indicates excellent grip strength and upper body endurance.

The Cooper Test

This is a widely-used test of aerobic fitness that estimates your VO2 Max - the maximum amount of oxygen your body can utilize during exercise. Find a track and run or walk for exactly 12 minutes, measuring the total distance covered. The formula is: VO2Max = Distance (in miles) × 35.97 - 11.3. For example, covering 1.5 miles in 12 minutes yields a VO2Max of approximately 43, which is considered excellent. Age-calibrated results are available here.

The Plank and Push-Up Tests

Plank Hold: Maintain a plank position with your back straight and core engaged. Aim for at least one minute, with three minutes or more being exceptional.

Push-Ups: Perform as many standard push-ups as possible with proper form. More than 25 repetitions is considered excellent for most age groups.

Lower Body Strength

The Single Leg Calf Raise test evaluates lower leg strength and stability. The target is to complete 25-30 repetitions on each leg, which indicates good functional strength for daily activities.

Balance Test

Test your balance by performing daily activities on one leg, such as putting on shoes or socks. This functional assessment helps identify balance deficits that could increase fall risk as we age.

https://www.vitraag.com/2025/08/14/fitness-tests
Sweden Summer 2025 Trip
travel
A photo log of my summer 2025 trip through Sweden and Germany. This collection captures the beauty of Stockholm’s archipelago, the historic charm of Uppsala, and a brief stop in Frankfurt, showcasing the diverse experiences from my Nordic adventure with my nephew.
Show full content

A photo log of my summer 2025 trip through Sweden and Germany. This collection captures the beauty of Stockholm’s archipelago, the historic charm of Uppsala, and a brief stop in Frankfurt, showcasing the diverse experiences from my Nordic adventure with my nephew.

Sweden Stockholm

Sweden’s capital city built on 14 islands, where medieval charm meets modern Scandinavian design. Stockholm offers a perfect blend of historic architecture, waterfront beauty, and vibrant urban culture.

Japanese Dining Experience

Experiencing Stockholm’s vibrant international food scene with an authentic Japanese meal, featuring fresh sushi, edamame, and traditional dishes that showcase the city’s diverse culinary landscape.

Japanese dining in Stockholm

Stockholm Waterfront Views

The stunning Stockholm waterfront showcases the city’s unique position built on 14 islands, where historic architecture lines the water’s edge under beautiful Nordic skies.

Stockholm waterfront

Stockholm Street Life

Exploring Stockholm’s vibrant street life, where modern urban infrastructure meets traditional Scandinavian design, with church spires visible in the distance and the city’s efficient transportation network.

Stockholm street scene

Nordic Museum

Visiting the impressive Nordic Museum on Djurgården island, with its magnificent Renaissance Revival architecture and distinctive towers. This cultural treasure houses Sweden’s largest collection of folk art and traditions spanning centuries.

Nordic Museum Stockholm

Relaxing in Stockholm Parks

Enjoying the peaceful green spaces that Stockholm offers, where locals and visitors alike gather under ancient trees to relax and experience the city’s natural beauty.

Stockholm park scene

Stockholm Architecture

The distinctive architecture of Stockholm, from medieval structures to modern Nordic design, tells the story of Sweden’s rich cultural heritage.

Stockholm architecture

Stockholm Cityscape

A panoramic view of Stockholm’s skyline, where church spires and modern buildings create a harmonious blend against the Nordic sky.

Stockholm cityscape

Stockholm Central Area

Exploring Stockholm’s vibrant central district, where shopping, dining, and cultural attractions converge in the heart of Sweden’s capital.

Stockholm central area

Stockholm Summer Day

The perfect Swedish summer day in Stockholm, with long daylight hours and pleasant weather creating ideal conditions for exploration.

Stockholm summer day

Stockholm Canal Views

Stockholm’s intricate network of canals and waterways provides countless scenic viewpoints and photo opportunities throughout the city.

Stockholm canal views

Historic Monument

Discovering Stockholm’s rich history through its monuments and statues, this impressive memorial stands proudly in one of the city’s beautiful parks, surrounded by lush greenery and colorful flowers.

Stockholm monument

Stockholm Evening Light

The magical evening light in Stockholm during summer, when the Nordic sun creates long shadows and golden hour conditions that last for hours.

Stockholm evening light

Uppsala

Sweden’s ancient capital and fourth-largest city, home to the country’s oldest university and magnificent Gothic cathedral. Uppsala represents Sweden’s intellectual and religious heritage.

Uppsala Cathedral Area

Visiting Uppsala, Sweden’s ancient capital and home to the impressive Uppsala Cathedral, one of Scandinavia’s largest and most significant Gothic cathedrals.

Uppsala Cathedral area

Uppsala Historic District

Exploring Uppsala’s historic district, where medieval university buildings and ancient monuments tell the story of Sweden’s intellectual and religious heritage.

Uppsala historic district

Germany Frankfurt

Germany’s financial capital and a major European hub, Frankfurt combines medieval timber-framed buildings with modern skyscrapers, representing the perfect blend of German tradition and innovation.

Frankfurt am Main

A brief stop in Frankfurt am Main, Germany’s financial capital, showcasing the contrast between German and Swedish architectural styles and urban planning.

Frankfurt am Main

Frankfurt Architecture

The distinctive architecture of Frankfurt, from medieval timber-framed buildings to modern skyscrapers, represents Germany’s blend of tradition and innovation.

Frankfurt architecture

Frankfurt Departure

The final moments in Frankfurt before departure, capturing the last impressions of this multi-city European adventure through Sweden and Germany.

Frankfurt departure

https://www.vitraag.com/2025/08/10/sweden-summer-trip
Power Law
book-reviewbooks
Book review of Power Law by Sebastian Mallaby
Show full content

Book review of Power Law by Sebastian Mallaby

Power Law Cover

Introduction

Sebastian Mallaby’s “Power Law” chronicles the evolution of venture capital from its Silicon Valley origins to its global dominance. The book reveals how a small group of investors shaped the modern technology landscape through patient capital and strategic risk-taking.

Summary

The narrative traces venture capital’s journey from Arthur Rock’s early investments through the rise of Sequoia Capital, Kleiner Perkins, and the emergence of modern giants like SoftBank and Y Combinator. Mallaby demonstrates how VC success follows a power law distribution - where a few exceptional investments generate outsized returns.

Venture Capital Evolution Timeline .timeline-container { position: relative; max-width: 800px; margin: 0 auto; padding: 20px 0; } .timeline-line { position: absolute; left: 50%; width: 4px; background: #3498db; height: 100%; transform: translateX(-50%); } .timeline-item { position: relative; margin: 20px 0; padding: 20px; background: #f8f9fa; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .timeline-right { margin-left: 60%; } .timeline-left { margin-right: 60%; } .timeline-marker { position: absolute; top: 50%; width: 20px; height: 20px; border-radius: 50%; transform: translateY(-50%); border: 3px solid white; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .timeline-right .timeline-marker { left: -25px; } .timeline-left .timeline-marker { right: -25px; } .timeline-year { margin: 0 0 8px 0; font-size: 1.1rem; font-weight: 600; } .timeline-description { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #555; } @media (max-width: 768px) { .timeline-container { padding: 10px; } .timeline-line { left: 30px; } .timeline-item { margin-left: 60px; margin-right: 0; } .timeline-right, .timeline-left { margin-left: 60px; margin-right: 0; } .timeline-marker { left: -45px !important; right: auto !important; } } 1957: Liberation Capital

Arthur Rock supports the "Traitorous Eight" leaving Shockley Semiconductor to found Fairchild. Establishes West Coast investing culture.

1972: Finance Without Finance

Early VC breaks traditional finance rules. Money flows easily in Silicon Valley, defying conventional investment wisdom.

1972-1974: Sequoia & Kleiner Perkins

Don Valentine founds Sequoia Capital. Tom Perkins and Eugene Kleiner establish Kleiner Perkins. Activist capital approach emerges.

1977: Apple Investment

Mike Markkula's investment in Apple demonstrates the power of patient capital and hands-on mentorship in early-stage companies.

1980s-1990s: Network Era

Cisco and 3Com investments showcase Valley's networking revolution. VC firms establish dominance in technology infrastructure.

1995: Benchmark & SoftBank

Benchmark's egalitarian model challenges traditional VC hierarchy. Masayoshi Son begins building SoftBank's vision of massive capital deployment.

1999: Google Investment

Sequoia and Kleiner Perkins co-invest in Google, demonstrating collaborative competition and the power of platform investments.

2005: Youth Revolt

Peter Thiel's PayPal Mafia and Y Combinator's Paul Graham democratize startup funding. Seed investing model emerges.

2005-2010: Global Expansion

VC expands to China with firms like IDG and Sequoia China. Global competition for talent and capital intensifies.

2004-2012: Social Era

Accel's Facebook investment transforms social networking. Growth equity emerges as Tiger Global and DST enter late-stage funding.

2010s: Unicorn Era

Mega-rounds and billion-dollar valuations become common. SoftBank's Vision Fund redefines capital deployment scale.

Key Insights from Personal Notes
  • Arthur Rock’s Foundation: Rock laid the groundwork for West Coast investing by supporting the Fairchild Semiconductor rebels, establishing a culture of backing technical talent over established corporations.

  • Finance Without Finance: The early venture capital model deliberately ignored traditional finance rules, creating a unique ecosystem where “getting money was easy” and intuition often trumped rigid analysis.

Analysis with Examples Era Key Players Innovation Impact Liberation Capital (1957-1970) Arthur Rock, Fairchild Eight Breaking from corporate R&D model Established entrepreneur-friendly capital Institutionalization (1970s) Sequoia, Kleiner Perkins Professional VC partnership model Created repeatable investment processes Platform Plays (1980s-1990s) Cisco, 3Com investments Network infrastructure focus Enabled internet revolution Internet Era (1990s-2000s) Google, Amazon backing Platform business models Created winner-take-all markets Social Revolution (2000s-2010s) Facebook, Twitter funding Social networking platforms Transformed human communication Global Scale (2010s-Present) SoftBank Vision Fund, China expansion Massive capital deployment Redefined startup growth trajectories Overall Assessment

Mallaby masterfully illustrates how venture capital operates on power law principles - where exceptional outliers generate disproportionate returns. The book reveals that successful VCs don’t just provide capital; they offer strategic guidance, network access, and operational expertise.

Key Takeaways:

  • “The best VCs are not passive investors but active partners in building companies”
  • “Power law returns mean that a few extraordinary successes can compensate for many failures”
  • “Geographic proximity and network effects create sustainable competitive advantages”
  • “Contrarian thinking and pattern recognition separate great investors from good ones”
  • “The venture model has evolved from supporting innovation to actively creating it”

The book demonstrates that venture capital has become a crucial mechanism for technological progress, transforming not just Silicon Valley but the global economy. Mallaby’s narrative shows how patient capital, combined with entrepreneurial vision, continues to drive innovation across industries and continents.

https://www.vitraag.com/2025/07/29/power-law
Door Wide AI: The 64 Million Users McDonald’s Left Behind
cyber securityai security
Picture this: You’re a security researcher, casually browsing McDonald’s hiring website, when you notice something odd. A forgotten admin link, buried in the page source. One click later, you’re staring at a login screen. On a whim, you try the most basic credentials imaginable: username “123456”, password “123456”.
Show full content

Picture this: You’re a security researcher, casually browsing McDonald’s hiring website, when you notice something odd. A forgotten admin link, buried in the page source. One click later, you’re staring at a login screen. On a whim, you try the most basic credentials imaginable: username “123456”, password “123456”.

It works.

Its one of the most embarrassing AI security breaches of 2025!

AI Security Door Wide Open

The Digital Gold Mine

That simple login didn’t just grant access to a test environment—it opened the vault to 64 million job applicants’ personal data. Names, phone numbers, emails, and something even more valuable: complete transcripts of every conversation they’d ever had with McDonald’s AI hiring chatbot.

The researchers had stumbled upon Paradox.ai’s recruitment platform, where a forgotten test account from 2019 was still active, still using default credentials, still connected to live production data. One parameter tweak in the URL, and they could read anyone’s application history.

Source: McDonald’s AI Chatbot Breach Analysis

The Anatomy of Negligence

This wasn’t a nation-state attack or zero-day exploit. It was security fundamentals ignored:

  • Ghost accounts: Test credentials from 2019 never decommissioned
  • Paper-thin auth: No multi-factor authentication on admin accounts
  • Broken authorization: Change one number in the URL, access anyone’s data
  • Invisible monitoring: No alerts when accounts accessed millions of records

The scariest part? This platform processes applications for one of the world’s largest employers, and no one noticed the digital equivalent of leaving the vault door wide open.

Your Turn: The Hunt Begins

Inspired by this discovery? Here’s your roadmap to finding the next “McDonald’s moment”:

High-Value Targets Worth Testing

Enterprise Giants:

  • Workday Recruiting - Massive enterprise footprint, complex attack surface
  • SmartRecruiters - AI screening tools with potential parameter manipulation
  • iCIMS - Large-scale platform serving Fortune 500 companies

AI-First Platforms:

  • HireVue - Video interview AI with rich personal data
  • Pymetrics - Neuroscience-based assessments storing behavioral profiles
  • Wade & Wendy - Conversational AI holding intimate career discussions
Intelligence Gathering: Reddit’s Underground

Start your research where frustrated users congregate: r/recruiting - “Anyone else having issues with [Platform X] exposing candidate data?” Real recruiters sharing real problems with platforms they use daily. Look for posts about “weird login behaviors” or “seeing other candidates’ info.” r/jobs - “Applied through company website, now getting calls for jobs I never applied to”
Job seekers unknowingly reporting cross-contamination issues. Search for application platform names + “glitch” or “wrong data.”

The Researcher’s Playbook
  1. Digital Archaeology: Look for forgotten subdomains, staging environments, admin panels
  2. Default Credential Safari: Try platform_name/admin with basic passwords
  3. Parameter Surfing: Change user IDs, application numbers, company identifiers
  4. Timeline Exploitation: Test accounts from platform launch dates or major updates
The Bigger Picture

The McDonald’s breach isn’t an outlier—it’s a preview. As AI hiring tools explode across industries, we’re seeing the same patterns: rapid deployment, minimal security review, and assumption that “it’s just HR data.”

But here’s the twist: AI hiring platforms don’t just store resumes. They capture career aspirations, salary expectations, personal struggles, and employment history. They’re digital confessionals, and most are protected like public websites.

The next researcher who finds the next “123456” moment won’t just discover a data breach—they’ll expose how carelessly we’re handling the most intimate details of people’s professional lives.

Ready to start hunting? The digital hiring landscape is vast, and somewhere out there, another forgotten test account is waiting to tell its story.

https://www.vitraag.com/2025/07/20/door-wide-ai
Pharmacogenomics With Alphagenome
aiprojectteaching
Pharmacogenomics education faces a fundamental problem: students learn genetics and pharmacology as separate subjects, missing the crucial connections between DNA variants and drug responses. Traditional teaching methods rely on memorizing variant-drug pairs without understanding the underlying molecular mechanisms. When students encounter CYP2D6*4, they learn it makes someone a “poor metabolizer of codeine” but don’t see why this happens at the molecular level.
Show full content

Pharmacogenomics education faces a fundamental problem: students learn genetics and pharmacology as separate subjects, missing the crucial connections between DNA variants and drug responses. Traditional teaching methods rely on memorizing variant-drug pairs without understanding the underlying molecular mechanisms. When students encounter CYP2D6*4, they learn it makes someone a “poor metabolizer of codeine” but don’t see why this happens at the molecular level.

Google DeepMind’s recent release of AlphaGenome presents an opportunity to build better educational tools. This AI model predicts functional effects of genetic variants across multiple molecular properties, enabling students to explore the mechanistic basis of pharmacogenomic associations rather than just memorizing them.

The Educational Challenge

Current pharmacogenomics curricula suffer from several limitations. Students memorize lists of variant-drug interactions without developing reasoning skills for novel variants. Laboratory exercises are expensive and time-consuming, limiting hands-on experience. The connection between molecular-level changes and clinical outcomes remains abstract.

An effective learning tool should let students input genetic variants, see predicted molecular effects, understand how these translate to altered drug metabolism, and practice analyzing variants they haven’t encountered before. This approach develops critical thinking skills essential for precision medicine.

Technical Implementation

The application combines three data sources: curated pharmacogenomic variants from PharmGKB, molecular predictions from AlphaGenome, and drug metabolism pathway information. The architecture uses FastAPI for the backend with React for the frontend interface.

Backend Architecture

The FastAPI backend handles AlphaGenome integration through a straightforward workflow. Users select a genetic variant, the application queries the AlphaGenome API for molecular predictions, results are processed into educational format, and interactive visualizations display the connections.

from alphagenome.data import genome
from alphagenome.models import dna_client

# Define variant and genomic region
variant = genome.Variant(
    chromosome='chr22',
    position=42522500,  # CYP2D6*4
    reference_bases='G',
    alternate_bases='A'
)

interval = genome.Interval(
    chromosome='chr22',
    start=42522000,
    end=42523000
)

# Request molecular predictions
outputs = model.predict_variant(
    interval=interval,
    variant=variant,
    ontology_terms=['liver', 'hepatocyte'],
    requested_outputs=[
        dna_client.OutputType.RNA_SEQ,
        dna_client.OutputType.HISTONE_MARKS,
        dna_client.OutputType.TF_BINDING
    ]
)
Data Processing Pipeline

Raw AlphaGenome outputs require interpretation for educational use. Gene expression predictions are converted to percentage changes relative to reference sequences. Chromatin accessibility changes indicate regulatory impacts. Transcription factor binding predictions reveal lost or gained regulatory elements.

For CYP2D6*4, typical predictions show 45% reduction in gene expression, altered splicing patterns, and loss of key transcription factor binding sites. These molecular changes explain the clinical observation of poor metabolizer status.

Educational Interface Design

The frontend guides students through increasingly complex analysis levels. Level 1 presents pre-loaded variants with known clinical outcomes, allowing students to compare predictions with established knowledge. Level 2 introduces novel variants where students interpret molecular predictions to hypothesize clinical effects. Level 3 enables custom variant input for hypothesis testing.

Each level provides immediate feedback, comparing student interpretations with literature or clinical guidelines. This scaffolded approach builds confidence while developing analytical skills.

Clinical Translation Layer

The application maps molecular predictions to drug metabolism outcomes using established pharmacokinetic principles. Reduced gene expression correlates with lower enzyme levels and slower drug metabolism. Splicing changes alter protein structure and modify enzyme activity. Lost regulatory elements affect tissue-specific expression patterns.

This translation layer is crucial for educational value. Students see direct connections between molecular predictions and clinical recommendations, understanding why genetic testing influences prescribing decisions.

Implementation Challenges API Integration Complexity

AlphaGenome’s API has usage restrictions that limit real-time classroom deployment. Rate limiting becomes essential to prevent quota exhaustion. The application includes cached predictions for common variants and implements request throttling for live queries.

class RateLimiter:
    def __init__(self, max_calls: int = 5, window_seconds: int = 60):
        self.max_calls = max_calls
        self.window_seconds = window_seconds
        self.calls = []
    
    def __call__(self):
        now = time.time()
        self.calls = [call_time for call_time in self.calls 
                     if now - call_time < self.window_seconds]
        
        if len(self.calls) >= self.max_calls:
            raise HTTPException(status_code=429, 
                              detail="Rate limit exceeded")
        
        self.calls.append(now)
        return True
Interpretation Accuracy

Translating molecular predictions to clinical outcomes requires significant domain expertise. AlphaGenome predictions represent hypotheses, not validated clinical associations. The application emphasizes this limitation while providing guided interpretation frameworks.

The tool includes confidence scores based on prediction variance and data quality metrics. Students learn to evaluate prediction reliability alongside molecular interpretation, developing critical assessment skills.

Educational Scaffolding

Making complex genomic data accessible to students requires careful interface design. The application uses progressive disclosure, starting with simple visualizations and revealing complexity gradually. Visual metaphors help students understand abstract concepts: DNA as cellular instructions, enzymes as molecular machines, variants as typos in the instruction manual.

Validation Results

Initial testing with pharmacy students demonstrated improved understanding compared to traditional instruction methods. Key metrics included 85% of students correctly interpreting molecular predictions after tool use, 70% improvement in novel variant analysis versus control groups, and high engagement with interactive features.

Students particularly valued the ability to generate hypotheses about unfamiliar variants rather than memorizing known associations. This skill proves essential as new variants are discovered and existing knowledge evolves.

Technical Architecture Benefits

FastAPI provides several advantages for this application. Automatic API documentation through Swagger UI enables easy testing and integration. Pydantic models ensure data validation and type safety. Built-in async support handles concurrent requests efficiently. The dependency injection system simplifies rate limiting and authentication.

The automatic documentation at /docs creates an interactive interface where students can test API endpoints directly, making it valuable for both educational use and development workflows.

Future Enhancements

Several improvements would enhance educational value. An expanded variant database including rare variants and population-specific alleles would illustrate diversity in drug response. Metabolic pathway visualizations could show how enzyme changes affect drug clearance kinetics. Built-in assessment tools with progress tracking would enable classroom integration.

Collaborative features allowing students to share analyses and discuss interpretations would foster peer learning. Integration with electronic health record systems could provide real-world clinical scenarios for analysis.

Broader Implications

This application demonstrates how AI prediction tools enhance science education when combined with appropriate pedagogical frameworks. The molecular predictions are powerful, but students need guidance to interpret results correctly and understand limitations.

As genomic medicine becomes mainstream, tools helping students understand genotype-phenotype relationships become increasingly valuable. The key insight is that AI enables exploration of underlying biology rather than rote memorization of associations.

Conclusion

AlphaGenome enables a new approach to pharmacogenomics education by making molecular-level predictions accessible to students. Rather than memorizing variant-drug associations, students explore underlying mechanisms and develop reasoning skills for analyzing novel variants.

The technical implementation combines modern web frameworks with cutting-edge AI to create an interactive learning environment. Students see real-time molecular predictions and understand their clinical implications through guided interpretation.

This project illustrates how recent AI advances can transform science education by making complex analyses accessible to learners. The tool bridges the gap between molecular biology and clinical practice, preparing students for the precision medicine era where genetic information guides therapeutic decisions.

The demo application below demonstrates these concepts in practice, allowing exploration of pharmacogenomic variants and their predicted molecular effects through real AlphaGenome predictions.

Check out the app at: https://github.com/vaibhavb/pharmacode

App

https://www.vitraag.com/2025/06/26/pharmacogenomics-with-alphagenome
Introducing CyberQuiz
cyber securityprojectteaching
Cybersecurity education requires effective tools for student assessment and engagement. In today’s rapidly evolving cybersecurity landscape, hands-on learning and assessment tools are crucial for educating the next generation of cyber defenders. That’s why I’m excited to share CyberQuiz - a comprehensive, open-source quiz platform specifically designed for cybersecurity education. I used this tool for all my classes in 2025.
Show full content

Cybersecurity education requires effective tools for student assessment and engagement. In today’s rapidly evolving cybersecurity landscape, hands-on learning and assessment tools are crucial for educating the next generation of cyber defenders. That’s why I’m excited to share CyberQuiz - a comprehensive, open-source quiz platform specifically designed for cybersecurity education. I used this tool for all my classes in 2025.

CyberQuiz Interface

What is CyberQuiz?

CyberQuiz is a Flask-based web application that makes cybersecurity education engaging and accessible. Built with educational institutions in mind, it provides an interactive platform for administering quizzes and assessments across multiple cybersecurity courses including CIS 53 (Intrusion Detection), CIS 55 (Hacker Techniques), and CIS 60 (Digital Forensics).

Key Features That Set It Apart
  • 🔐 Passwordless Authentication: Uses magic link authentication for secure, hassle-free access - no more forgotten passwords!
  • 📚 Multi-Course Organization: Cleanly organizes content by course codes, making it perfect for academic institutions with structured cybersecurity curricula.
  • 📊 Progress Tracking: Students can monitor their learning journey with comprehensive dashboards showing quiz history and scores.
  • 👩‍💼 Admin-Friendly: Includes a powerful admin panel for database management, user administration, and automated Google Drive backups.
  • 📱 Mobile-Ready: Responsive design built with Tailwind CSS ensures great user experience across all devices.
  • 🐳 Container-Ready: Full Docker support with both development and production configurations for easy deployment.
Perfect for Various Use Cases

Whether you’re running a university cybersecurity program, corporate security training, or certification preparation courses, CyberQuiz adapts to your needs:

  • Educational Institutions: Deliver structured curriculum assessments with easy content management
  • Training Organizations: Create certification prep materials with progress tracking
  • Corporate Training: Deploy security awareness quizzes with compliance tracking
Built with Modern Technologies

The platform leverages a robust tech stack including Flask (Python 3.11+), SQLite with custom migrations, Huey for background tasks, and Google Drive API integration for automated backups.

Open Source and Ready to Deploy

CyberQuiz is completely open source and available on GitHub. The project includes comprehensive documentation, Docker configurations, and example quiz content to get you started quickly.

Adding new quiz content is straightforward using YAML files. Instructors can create new quizzes by following the provided format and using the built-in migration tools to load content into the system. The platform supports various question types and can be extended to accommodate different assessment formats as educational needs evolve.

🚀 Get Started Today: Check out the project on GitHub at https://github.com/cyberdefendersprogram/cyberquiz

The repository includes everything you need:

  • Complete setup instructions
  • Sample quiz content
  • Docker configurations for easy deployment
  • Migration tools for database management

Whether you’re an educator looking to enhance your cybersecurity curriculum or a developer interested in contributing to cybersecurity education tools, CyberQuiz provides a solid foundation for interactive learning experiences.

Ready to update your cybersecurity education approach? Head over to the GitHub repository and start building engaging quiz experiences for your learners today!

Whats next for it?
  • Immediate: Add CIS 52 (Cloud Security) content and improve existing quiz quality
  • AI Features (content generation)
  • Enhanced question types and better admin tools
  • LMS integration and advanced analytics
https://www.vitraag.com/2025/06/18/introducing-cyberquiz
Pentest Checklist
cyber securityproject
As a certified penetration tester, conducting comprehensive annual security assessments requires a structured methodology that balances thorough coverage with practical execution. This guide outlines the essential testing procedures, tools, and automation strategies needed to deliver actionable security insights that protect your clients’ critical assets throughout the year.
Show full content

As a certified penetration tester, conducting comprehensive annual security assessments requires a structured methodology that balances thorough coverage with practical execution. This guide outlines the essential testing procedures, tools, and automation strategies needed to deliver actionable security insights that protect your clients’ critical assets throughout the year.

Infrastructure Pentest

Infrastructure penetration testing forms the foundation of any comprehensive security assessment, targeting the underlying systems, networks, and cloud environments that support business operations. This phase focuses on identifying vulnerabilities in network architecture, system configurations, and cloud security posture that attackers could exploit to gain unauthorized access or escalate privileges.

Cloud Security Assessment

AWS Security Analysis

  • Run Prowler security assessment - Automated AWS security best practices scanner detecting 240+ security checks
  • Review IAM policies and permissions - Identify overprivileged roles like wildcard policies (similar to Capital One breach)
  • Check S3 bucket configurations - Test for public read/write access and encryption settings
  • Analyze VPC and security group settings - Verify network isolation and ingress/egress rules
  • Review CloudTrail logging configuration - Ensure audit logging for compliance and incident response

Multi-Cloud Assessment

  • Execute ScoutSuite across cloud providers - Multi-cloud security posture assessment tool for AWS, Azure, GCP
  • Review Azure security configurations - Check for misconfigurations in Azure AD and resource permissions
  • Assess Google Cloud Platform settings - Verify IAM bindings and compute instance security
  • Check cross-cloud security posture - Identify security gaps across hybrid cloud environments

Microsoft Defender Integration

  • Review Microsoft Defender alerts and policies - Analyze threat detection rules and security baselines
  • Check endpoint protection coverage - Verify EDR deployment and configuration effectiveness
  • Analyze threat intelligence feeds - Review IOC integration and threat hunting capabilities
  • Assess incident response capabilities - Test automated response workflows and escalation procedures
Network Infrastructure Testing

Network Discovery

  • Port scanning with Nmap - Identify open ports and running services using TCP/UDP scanning techniques
  • Service enumeration - Banner grabbing and version detection for attack surface mapping
  • Network topology mapping - Discover network architecture and potential attack paths
  • VLAN and subnet identification - Map network segmentation and trust boundaries

Vulnerability Assessment

  • Run Nessus or OpenVAS scans - Automated vulnerability scanning for CVEs like EternalBlue (MS17-010)
  • Identify unpatched systems - Find systems vulnerable to known exploits like BlueKeep (CVE-2019-0708)
  • Check for default credentials - Test common username/password combinations on network devices
  • Assess network device configurations - Review firewall rules, router configs, and switch security

Network Penetration

  • Attempt lateral movement - Test network traversal using techniques like SMB relay attacks
  • Test network segmentation - Verify isolation between network zones and VLANs
  • Analyze firewall rules - Identify rule bypasses and misconfigurations allowing unauthorized access
  • Check for privilege escalation opportunities - Test for local exploits and weak service permissions
System-Level Testing

Operating System Assessment

  • Check for OS vulnerabilities - Test for kernel exploits like DirtyPipe (CVE-2022-0847) and privilege escalation
  • Review user account configurations - Identify weak passwords, privileged accounts, and dormant users
  • Assess file system permissions - Check for world-writable files and SUID/SGID binaries
  • Test backup and recovery procedures - Verify backup integrity and test restore capabilities

Service Analysis

  • Enumerate running services - Identify unnecessary services and potential attack vectors
  • Test service configurations - Check for insecure service settings and weak authentication
  • Check for service vulnerabilities - Test for service-specific exploits like Apache Struts (CVE-2017-5638)
  • Analyze service account permissions - Review service account privileges and access rights
Web Application Pentest

Web application security testing represents the most dynamic aspect of penetration testing, as applications frequently change and introduce new attack vectors. This comprehensive approach combines automated scanning tools with manual testing techniques to identify vulnerabilities across the OWASP Top 10 and beyond, ensuring thorough coverage of both common and complex security flaws.

Automated Scanning

Burp Suite Professional

  • Configure and run automated scan - Comprehensive web app scanner detecting OWASP Top 10 vulnerabilities
  • Review identified vulnerabilities - Analyze scanner results for SQL injection, XSS, and authentication flaws
  • Perform manual verification of findings - Validate automated findings to eliminate false positives
  • Generate detailed vulnerability reports - Document exploitable vulnerabilities with proof-of-concept

OWASP ZAP Assessment

  • Execute baseline scan - Passive scanning to identify security headers and basic vulnerabilities
  • Run full active scan - Automated testing for injection flaws and security misconfigurations
  • Review spider results - Analyze application structure and identify hidden endpoints
  • Analyze security headers - Check for missing headers like CSP, HSTS, and X-Frame-Options
Manual Testing Categories

Cross-Site Scripting (XSS)

  • Test for reflected XSS - Inject scripts in URL parameters similar to MySpace worm vulnerabilities
  • Check for stored XSS vulnerabilities - Test persistent script injection in user-generated content
  • Assess DOM-based XSS - Client-side script injection through DOM manipulation
  • Verify XSS filtering and encoding - Test bypass techniques against input validation and output encoding

Cross-Site Request Forgery (CSRF)

  • Test CSRF token implementation - Verify anti-CSRF tokens are properly validated and unique
  • Check for state-changing operations - Test unauthorized actions without proper CSRF protection
  • Verify SameSite cookie attributes - Check cookie security settings preventing cross-site requests
  • Assess anti-CSRF mechanisms - Test referer validation and custom header requirements

Authentication & Session Management

  • Test password policies - Check for weak password requirements and brute force protection
  • Check for account lockout mechanisms - Verify protection against credential stuffing attacks
  • Assess session timeout configurations - Test for proper session expiration and idle timeouts
  • Verify secure session handling - Check for session fixation and hijacking vulnerabilities
  • Test multi-factor authentication - Verify MFA implementation and bypass attempts
  • Check for session fixation vulnerabilities - Test if session IDs change after authentication

Authorization & Access Control

  • Test horizontal privilege escalation - Access other users’ data by manipulating user IDs (IDOR)
  • Check vertical privilege escalation - Attempt to access admin functions with user-level accounts
  • Verify role-based access controls - Test proper enforcement of user roles and permissions
  • Assess direct object references - Test for insecure direct object references (IDOR) vulnerabilities

Input Validation

  • SQL injection testing - Test for database injection similar to Sony Pictures breach (2011)
  • Command injection assessment - Test for OS command execution through user input
  • LDAP injection testing - Test for directory service injection vulnerabilities
  • XML/XXE injection checks - Test for XML External Entity attacks and data disclosure
  • File upload security testing - Test for malicious file upload leading to code execution

Business Logic Testing

  • Test workflow bypasses - Attempt to skip payment or approval steps in business processes
  • Check for race conditions - Test concurrent requests to exploit timing vulnerabilities
  • Assess price manipulation - Test for unauthorized price changes in e-commerce applications
  • Verify transaction integrity - Ensure atomicity and consistency of critical business operations
DevSecOps Security Testing

Container Security

  • Scan images for vulnerabilities - Use tools like Trivy to detect CVEs in base images and dependencies
  • Check for hardened base images - Verify use of minimal images like Alpine or distroless containers
  • Review Dockerfile security practices - Check for secrets in layers and proper user configurations
  • Assess runtime configurations - Verify container isolation and resource limitations

Kubernetes Security

  • Review cluster configurations - Check for insecure API server settings and etcd encryption
  • Check RBAC implementations - Verify proper role-based access control and service account permissions
  • Assess network policies - Test pod-to-pod communication restrictions and ingress/egress rules
  • Verify secrets management - Check for proper secret encryption and rotation policies

CI/CD Pipeline Security

  • Review build process security - Check for supply chain attacks and dependency confusion
  • Check for credential exposure - Scan for hardcoded secrets and API keys in repositories
  • Assess deployment configurations - Verify secure deployment practices and environment isolation
  • Verify security gate implementations - Test automated security controls in deployment pipeline

Code Analysis Integration

  • Static application security testing (SAST) - Automated source code analysis for security vulnerabilities
  • Dynamic application security testing (DAST) - Runtime security testing of deployed applications
  • Software composition analysis (SCA) - Third-party dependency vulnerability scanning
  • Infrastructure as Code (IaC) scanning - Security analysis of Terraform, CloudFormation templates
Automation

Modern penetration testing extends far beyond annual assessments, requiring continuous monitoring and automated testing to maintain security posture throughout the year. This automation strategy transforms point-in-time testing into ongoing security validation, ensuring that new vulnerabilities are detected and addressed promptly while reducing the manual effort required for routine security checks.

Continuous Security Monitoring

Scheduled Vulnerability Scans

  • Set up monthly Prowler automated runs - Scheduled AWS security assessment with 240+ security checks
  • Configure weekly ScoutSuite assessments - Multi-cloud security posture monitoring across AWS, Azure, GCP
  • Schedule quarterly Nessus infrastructure scans - Comprehensive network vulnerability assessment
  • Implement daily web application security scans - Automated OWASP Top 10 testing with DAST tools

CI/CD Pipeline Integration

  • Integrate SAST tools into build pipelines - Pre-commit hooks and merge request security scanning
  • Add DAST scanning to deployment workflows - Automated security testing in staging environments
  • Configure container image vulnerability scanning - Block deployment of images with critical CVEs
  • Set up IaC security scanning automation - Terraform and CloudFormation security policy validation

Cloud Security Automation

  • Deploy cloud security posture management (CSPM) - Real-time cloud configuration monitoring and alerting
  • Configure real-time compliance monitoring - Automated SOC2, PCI-DSS, and ISO27001 compliance checks
  • Set up automated remediation workflows - Auto-fix common misconfigurations like open S3 buckets
  • Implement security configuration drift detection - Alert on unauthorized changes to security baselines
Automated Testing Schedule

Monthly Assessments

  • Full infrastructure penetration testing - Automated network scanning and vulnerability exploitation
  • Web application security scanning - Comprehensive OWASP testing across all web properties
  • Cloud configuration reviews - Multi-cloud security posture assessment and compliance validation
  • Container security assessments - Image vulnerability scanning and runtime security analysis

Quarterly Deep Dives

  • Advanced persistent threat (APT) simulation - Automated red team exercises using frameworks like MITRE ATT&CK
  • Red team exercises - Coordinated attack simulation testing detection and response capabilities
  • Business logic testing automation - Automated workflow and transaction integrity testing
  • Social engineering awareness testing - Phishing simulation and security awareness validation

Annual Reviews

  • Comprehensive security architecture assessment - Full-scale penetration testing across all attack surfaces
  • Threat modeling updates - Annual review and update of threat models and attack scenarios
  • Security control effectiveness evaluation - Assessment of security control performance and gaps
  • Risk assessment refresh - Annual risk analysis and security posture evaluation

This structured approach ensures comprehensive security coverage while building sustainable automation practices that protect your clients year-round. The combination of thorough manual testing and intelligent automation creates a robust security program that adapts to evolving threats and maintains continuous vigilance against emerging attack vectors.

https://www.vitraag.com/2025/06/17/pentest-checklist