Vazifa
Standart kutubxona bilan offline audit CLI yozing. Kirish — berilgan JSON konfiguratsiya, chiqish — nazorat natijalari va xulosasi. Script hech qayerga tarmoq so‘rovi yubormasin va host sozlamalarini o‘zgartirmasin.
Arxitektura
Parser, validator, tekshiruv funksiyalari va formatter’ni ajrating. Har nazorat id, passed, reason qaytarsin. DEBUG, secret source, cookie va backup-tested maydonlarini tekshiring. Bilmagan qiymatni pass emas, unknown deb qayd eting.
Qabul mezoni
To‘g‘ri, noto‘g‘ri va buzilgan fixture uchun test, tushunarli exit code va sirni yashirish kerak. Hisobotda bu vosita to‘liq xavfsizlik auditi emasligi aniq bo‘lsin. Natija faqat berilgan kirish va tekshirilgan qoidalar haqida xulosa beradi.
Python’da ko‘rib chiqamiz
import json
config = {"debug": False, "secure_cookie": True, "backup_tested": False}
checks = [{"id": "debug-off", "passed": config["debug"] is False},
{"id": "secure-cookie", "passed": config["secure_cookie"] is True},
{"id": "restore-tested", "passed": config["backup_tested"] is True}]
print(sum(check["passed"] for check in checks))Misolni
Mustaqil mashq
audit.py va uchta JSON fixture yarating. argparse bilan --input qo‘shing. Unknown maydonlarni farqlang, testlarni bajaring va README’da chiqish formatini yozing.