
फर्मवेयर सुरक्षा अनुसंधान प्लेटफ़ॉर्म जो IoT, एज AI, मोबाइल डिवाइस और रोबोटिक्स में बाइनरी विश्लेषण, टेंट ट्रेसिंग और इम्यूलेशन को जोड़ता है।
फर्मवेयर विश्लेषण टूलकिट IoT, फिजिकल AI, मोबाइल डिवाइस और रोबोटिक्स के लिए फर्मवेयर सुरक्षा की जांच हेतु एक सुरक्षा अनुसंधान टूलकिट है। इसे मुख्य रूप से Attify द्वारा आयोजित "ऑफेंसिव IoT एक्सप्लॉइटेशन" प्रशिक्षण के लिए बनाया गया है।
इसे वास्तविक फर्मवेयर सुरक्षा जांचों में जो वास्तव में मायने रखता है, उसके वास्तविक हाथों-हाथ क्षेत्र अनुभव के आधार पर बनाया गया है।
FAT का लक्ष्य केवल फर्मवेयर सुरक्षा अनुसंधान के लिए एक असाधारण विश्व-स्तरीय अत्याधुनिक टूलकिट बनाना नहीं है, बल्कि ऐसे पेशेवरों और अभ्यासकर्ताओं को भी तैयार करना है जो अपने चरम पर कार्य करते हैं, जहां यह टूल कुछ तरीकों से उपयोग किए जाने पर एक संज्ञानात्मक महाशक्ति बन जाता है, जबकि इस क्षेत्र में नए लोगों के लिए भी इसका उपयोग पर्याप्त आसान हो।
कुछ विशेषताओं में अज्ञात फर्मवेयर का वर्गीकरण, फाइलसिस्टम निष्कर्षण, विश्वास-प्रासंगिक कोड का मानचित्रण, टेंट ट्रेसिंग और QEMU एमुलेशन का समन्वय शामिल है।
रिपॉजिटरी को क्लोन करें, Rust 1.90 या नए के साथ बिल्ड करें और इंस्टॉल करें:
git clone https://github.com/attify/firmware-analysis-toolkit.git
cd firmware-analysis-toolkit
cargo build --release --locked
cargo install --path crates/fat_cli --locked
fat doctor
वन-शॉट इंस्टॉलर:
./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 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
FAT को adi0x90 द्वारा लिखा गया है, जो इसके वर्तमान अनुरक्षक और प्रमुख योगदानकर्ता भी हैं। यह प्रोजेक्ट Attify के अंतर्गत अनुरक्षित है।
FAT 2.0 FSL-1.1-ALv2 के अंतर्गत सोर्स-उपलब्ध है। अधिक विवरण के लिए LICENSING.md और THIRD_PARTY_NOTICES.md देखें।
| दस्तावेज़ | इसमें क्या है? |
|---|
| INSTALL.md | बाहरी टूल और वैकल्पिक घटक सेटअप |
| docs/commands.md | कार्य के अनुसार समूहीकृत पूर्ण कमांड संदर्भ |
| docs/capabilities.md | ग्राफ निर्यात, स्ट्रिंग खोज, क्रिप्टो, एज AI, स्टार्टअप इरादा, रीहोस्टिंग पैक |
| docs/epistemics.md | FAT आउटपुट कैसे पढ़ें: परिणाम क्या सिद्ध करते हैं और क्या नहीं |
| docs/architecture.md | वर्कस्पेस क्रेट और एक्सटेंशन बिंदु |
| DEVELOPMENT.md | बिल्ड और परीक्षण वर्कफ्लो |
| CONTRIBUTING.md | सेटअप, PR चेकलिस्ट और योगदान मार्गदर्शिका |