
फर्मवेयर सुरक्षा अनुसंधान प्लेटफ़ॉर्म जो IoT, एज AI, मोबाइल डिवाइस और रोबोटिक्स में बाइनरी विश्लेषण, टेंट ट्रेसिंग और इम्यूलेशन को जोड़ता है।
नवीनतम रिलीज़ डाउनलोड करें · चेंजलॉग · इंस्टॉलेशन
फर्मवेयर विश्लेषण टूलकिट IoT, फिजिकल AI, मोबाइल डिवाइस और रोबोटिक्स के लिए फर्मवेयर सुरक्षा की जाँच करने हेतु एक सुरक्षा शोध टूलकिट है। यह मुख्य रूप से Attify द्वारा संचालित "Offensive IoT Exploitation" प्रशिक्षण के लिए बनाया गया है।
यह वास्तविक फर्मवेयर सुरक्षा जाँचों में वास्तव में क्या मायने रखता है, इसके वास्तविक व्यावहारिक अनुभव के आधार पर बनाया गया है।
FAT का लक्ष्य केवल फर्मवेयर सुरक्षा शोध के लिए एक उत्कृष्ट विश्व-स्तरीय अत्याधुनिक टूलकिट बनाना ही नहीं है, बल्कि ऐसे पेशेवरों और प्रैक्टिशनरों को तैयार करना है जो अपने चरम पर कार्य करते हैं, जहाँ यह टूल कुछ विशिष्ट तरीकों से उपयोग किए जाने पर एक संज्ञानात्मक सुपरपावर बन जाता है, साथ ही इस क्षेत्र में नए लोगों के लिए उपयोग करने में पर्याप्त आसान भी है।
कुछ विशेषताओं में अज्ञात फर्मवेयर का वर्गीकरण, फाइलसिस्टम निष्कर्षण, ट्रस्ट-प्रासंगिक कोड का मानचित्रण, टेन्ट ट्रेसिंग, और QEMU एमुलेशन का समन्वय शामिल है।
Releases से एक बाइनरी बंडल डाउनलोड करें, या Rust 1.90 या नए संस्करण के साथ नवीनतम नियमित रिलीज़ बनाएँ:
git clone --branch v2.0.1 --depth 1 https://github.com/attify/firmware-analysis-toolkit.git
cd firmware-analysis-toolkit
cargo build --release --locked
cargo install --path crates/fat_cli --locked
python3 scripts/build-runtime-data-bundle.py --output ./dist/fat-data.zip
fat data install --archive ./dist/fat-data.zip
fat doctor
Arch Linux या Omarchy पर, पूर्वापेक्षा पैकेजों और वैकल्पिक टूल्स के लिए Arch इंस्टॉलेशन चरणों से शुरू करें।
समर्थित होस्ट्स के लिए वन-शॉट इंस्टॉलर:
./scripts/install.sh --install-system-deps
इंस्टॉलर विकल्पों और वैकल्पिक टूल्स के लिए INSTALL.md देखें।
fat -hfat $firmware या fat identify --file $firmwarefat new $firmwarefat extract $firmwarefat analyze $firmwarefat emulate --project $firmwarefat ./firmware.bin
fat inspect update --file ./firmware.bin --rootfs ./rootfs --reference ./older.bin
fat ./firmware.bin fat identify --file ./firmware.bin का संक्षिप्त रूप है।
यह फाइल की पहचान और संरचना का संक्षिप्त अवलोकन देता है।
सहायक तालिकाओं के लिए --details जोड़ें।
कच्चे MCU इमेज के लिए, मैपिंग, स्टार्टअप, इंटरप्ट, और हार्डवेयर का निरीक्षण करें:
fat inspect mcu --file ./firmware.bin
fat inspect mcu --file ./firmware.bin --details
दोनों कमांड पूर्ण संरचित विश्लेषण रिपोर्ट के लिए --json का समर्थन करते हैं।
त्वरित शुरुआत से पाइपलाइन, शुरू से अंत तक:
fat new ./firmware.bin
fat extract .fat-projects/firmware
fat analyze .fat-projects/firmware
fat preflight .fat-projects/firmware
fat emulate --project .fat-projects/firmware
fat r2-triage --file ./usr/sbin/httpd --json
fat taint --file ./www/cgi-bin/diag.cgi --summary
fat taint-query --file ./www/cgi-bin/diag.cgi
fat taint-cross --rootfs ./rootfs
fat taint-cross --rootfs ./rootfs --source-profile ./my-target-models.yaml --state-profile ./my-target-state.yaml
fat taint --lang shell --file ./app/init/wifi.sh --summary
fat taint --lang shell --rootfs ./extracted-rootfs --json
fat taint --lang shell --rootfs ./extracted-rootfs --source-profile ./my-target-shell.yaml --severity high
सिंक को स्टैटिक रूप से खोजें, फिर उन्हीं पतों के लिए रनटाइम हुक तैयार करें:
fat r2-triage --file ./usr/sbin/httpd --json
fat sink-discovery --file ./usr/sbin/httpd --json > sinks.json
fat handler-table --file ./usr/sbin/httpd --json > handlers.json
fat taint --file ./usr/sbin/httpd --sink-candidates sinks.json --json > taint.json
fat instrument-hooks --from-sinks sinks.json --output hooks.yaml
fat emulate --project .fat-projects/firmware --instrument hooks.yaml
fat tree --rootfs ./rootfs --profile inventory --summary --json
fat search --rootfs ./rootfs --profile credentials -I --context 2
fat startup-map --rootfs ./rootfs --profile cloud-tls
fat crypto-census --rootfs ./rootfs
fat trust-map --rootfs ./rootfs
fat invariant query \
--fixture tests/fixtures/query/source/invariant-permission \
--rule 'Every privileged override method must call enforcePermission()'
fat patch check --help
fat verify --help
| दस्तावेज़ | इसमें क्या है? |
|---|---|
| INSTALL.md | बाहरी टूल्स और वैकल्पिक कंपोनेंट सेटअप |
| docs/commands.md | पूर्ण कमांड संदर्भ, कार्य के अनुसार समूहीकृत |
| docs/capabilities.md | ग्राफ एक्सपोर्ट, स्ट्रिंग खोज, क्रिप्टो, Edge AI, स्टार्टअप इरादा, रीहोस्टिंग पैक |
| docs/epistemics.md | FAT आउटपुट को कैसे पढ़ें: परिणाम क्या सिद्ध करते हैं और क्या नहीं |
| docs/architecture.md | वर्कस्पेस क्रेट्स और एक्सटेंशन पॉइंट्स |
| DEVELOPMENT.md | बिल्ड और टेस्ट वर्कफ़्लो |
| CONTRIBUTING.md | सेटअप, PR चेकलिस्ट, और योगदान मार्गदर्शिका |
| RELEASING.md | संस्करण नामकरण और मेंटेनर रिलीज़ वर्कफ़्लो |