Projects

बनाने वाले काम

Har phase ke apne projects hote hain aur wo mushkil hote jaate hain. Har project ka rubric है — matlab pass hone ki shart pehle se saaf likhi hui hai, baad mein tay nahi hoti.

PRJ-001Machine Field Guide (मशीन गाइड)

Level 1

Objective

एक personal reference document बनाओ जो AAPKI machine को Domain 01 की हर layer पे describe करे — और हर बात के पीछे आपका ख़ुद का इकट्ठा किया evidence हो।

Architecture

एक markdown document, हर layer का एक section। हर section में: ये क्या है, आपकी machine से evidence, और security के लिए क्यों मायने रखता है। इसको version control में रखो — आप इसे बार बार बढ़ाओगे।

Requirements

  • CPU, memory hierarchy, storage, boot chain, process model और privilege boundaries — सब cover हो।
  • हर claim के पीछे आपके चलाए हुए command का output हो।
  • ऐसे लिखा हो कि सिर्फ़ Level 0 पूरा कर चुका reader भी समझ जाए।
  • हर layer के लिए एक security note हो।

Tasks

  1. Lesson 1–7 के commands से हर layer का evidence इकट्ठा करो।
  2. हर section अपने शब्दों में लिखो, और हर term को पहली बार use करते वक़्त define करो।
  3. हर layer का security note add करो।
  4. एक 'जो मैं पता नहीं कर पाया' section add करो — gaps के बारे में ईमानदारी भी grade का हिस्सा है।
  5. किसी से document review करवाओ (या एक हफ़्ते बाद ख़ुद दोबारा पढ़ो और जो अब समझा ना सको उसे mark करो)।

Deliverables

  • Field guide document
  • Raw command output का folder जिसको document refer करता हो

Testing

  • एक section किसी ऐसे इंसान को दो जो topic नहीं जानता; अगर वो follow ना कर पाए, तो वो section अभी पूरा नहीं हुआ।
  • एक हफ़्ते बाद हर command दोबारा चलाओ और confirm करो कि output अभी भी document से match करता है।

Security considerations

  • किसी को देने से पहले hostnames, serial numbers, MAC addresses और UUIDs हटा दो।
  • अपनी machine का exact Secure Boot state + kernel version + mitigation configuration publicly मत डालो — ये combination targeting में मदद करता है।

Rubric

25%

सातों lessons का coverage

कोई layer छूटी नहीं; gaps साफ़ लिखे हैं।

25%

Evidence की quality

हर claim आपके ख़ुद के command output तक traceable।

25%

अपने शब्दों में explanation

Copy-paste definitions नहीं; हर term पहली बार पे define की।

15%

Security relevance

हर layer का security note specific है, generic नहीं।

10%

Limits के बारे में ईमानदारी

Unknowns छुपाए नहीं, लिखे गए।

PRJ-002Lab Isolation Verifier

Level 2

Objective

वो automation बनाओ जो आपके lab की isolation prove करे — और बाक़ी पूरे curriculum में हर configuration change के बाद उसे चलाओ।

Architecture

एक shell script, हर property का एक function, एक summary table, और failure पे non-zero exit। coreutils, iproute2 और curl के अलावा कोई dependency नहीं।

Requirements

  • चारों connectivity properties test करे, explicit timeouts के साथ।
  • हर property का साफ़ PASS/FAIL print करे और किसी भी failure पे non-zero exit करे।
  • अगर एक से ज़्यादा non-loopback interface मिले तो PASS report करने से MANA कर दे।
  • ऐसा पढ़ने लायक़ हो कि Level 4 Bash ख़त्म किया इंसान समझ ले।

Tasks

  1. Interface enumeration और single-interface check लिखो।
  2. Guest-to-guest reachability लिखो, peer address configurable हो।
  3. Internet का negative test hard timeout के साथ लिखो।
  4. LAN का negative test लिखो, gateway address configurable हो।
  5. Summary और सही exit codes add करो।
  6. जान-बूझ कर TODI हुई configuration पे चलाओ और confirm करो कि वो ज़ोर से FAIL करता है।

Deliverables

  • verify-lab.sh
  • एक छोटा README जिसमें लिखा हो कि हर check क्या prove करता है और क्या NAHI

Testing

  • सही isolated lab पे चलाओ: सब PASS।
  • NAT adapter लगाओ और दोबारा चलाओ: internet test FAIL होना चाहिए।
  • Bridged adapter लगाओ और दोबारा चलाओ: LAN test FAIL होना चाहिए।
  • Peer VM बंद करो और दोबारा चलाओ: guest-to-guest FAIL होना चाहिए।

Security considerations

  • Script FAIL-CLOSED होनी चाहिए: कोई भी error या confusion = FAIL, कभी PASS नहीं।
  • एक well-known connectivity probe के अलावा किसी third party को traffic ना भेजे।
  • README में साफ़ लिखो कि ये script सिर्फ़ NETWORK isolation prove करती है — hypervisor escape resistance नहीं।

Rubric

35%

चारों checks का सही होना

हर check passing AUR failing दोनों configurations में verify किया।

25%

Fail-closed behaviour

Script का कोई भी रास्ता error पे PASS report नहीं करता।

15%

Timeouts

हर negative test time-bounded है।

15%

पढ़ने लायक़ होना

shellcheck clean; Level 4 वाला learner follow कर सके।

10%

ईमानदार scope statement

README बताता है कि script क्या prove NAHI करती।