Guy builds AI driven hardware hacker arm from duct tape, old cam and CNC machine

개요

AI 기반 하드웨어 해킹 자동화 시스템인 AutoProber는 3D 프린팅, CNC, 카메라, 오실로스코프 등 다양한 하드웨어를 통합하여 핀 프로빙 작업을 자동화하는 오픈 소스 프로젝트입니다.

주요 내용

* AutoProber 시스템의 작동 방식: 에이전트가 프로젝트를 인지하고, 하드웨어를 연결하며, 기능 점검, 호밍 및 보정, 프로브 부착 단계를 거칩니다. 이후 새로운 타겟을 인지하면, 자동으로 타겟 위치를 파악하고 개별 프레임을 캡처하여 XYZ 좌표 기록과 함께 패드, 핀, 칩 등의 특징을 식별합니다. 캡처된 프레임들을 스티칭하여 지도화하고, 인식된 핀과 주요 구성 요소를 주석 처리합니다. 승인 대기 중인 프로브 타겟을 웹 대시보드에 추가하며, 승인된 타겟을 프로빙하고 결과를 보고합니다.
* 하드웨어 제어 및 인터페이스: 모든 하드웨어는 웹 대시보드, Python 스크립트, 또는 AI 에이전트를 통해 제어할 수 있습니다.
* 안전 설계 (Safety Model): GRBL의 Pn:P 무시, CNC 프로브 핀을 신뢰할 수 없는 엔드스톱으로 간주, 오실로스코프 채널 4를 독립적인 안전 엔드스톱으로 활용하며, 모든 동작 중 채널 4를 지속적으로 모니터링합니다. 채널 4 트리거, 불분명한 전압, CNC 알람, 실제 X/Y/Z 리미트 핀 감지 시 즉시 중단되며, 자동 복구 없이 에이전트/운영자의 수동 개입을 요구합니다.
* 하드웨어 스택: GRBL 기반 3018 스타일 CNC 컨트롤러, mjpg\_streamer를 통한 USB 마이크로스코프, LAN/SCPI를 통한 Siglent 오실로스코프(채널 4 안전 모니터링 및 채널 1 측정용), 외부 5V 전원 공급 및 오실로스코프 채널 4에 연결된 광학 엔드스톱, 선택적 네트워크 제어 콘센트 등을 사용합니다.
* 리포지토리 구조: apps/ (운영자 스크립트 및 Flask 대시보드), autoprober/ (CNC, 스코프, 마이크로스코프, 로깅, 안전 기능을 위한 Python 패키지), dashboard/ (단일 페이지 웹 대시보드), docs/ (아키텍처, 장치 참조, 운영, 안전 가이드), cad/ (3D 프린팅용 STL 파일), config/ (환경 설정 파일) 등으로 구성됩니다.
* 설치 및 실행: Python 의존성 설치 후, PYTHONPATH=. python3 apps/dashboard.py 명령으로 대시보드를 실행합니다. 환경 설정은 config/autoprober.example.env 파일을 기반으로 하며, 민감한 정보(IP, 호스트 이름, 자격 증명 등)는 공개하지 않도록 주의해야 합니다.
* 주요 워크플로우: 사전 비행 점검, 채널 4 확인, 홈 및 보정, 모니터링되는 동작 하의 마이크로스코프 프레임 캡처, 검토를 위한 타겟 맵 생성/가져오기, 수동 프로브 후보 승인, 마이크로스코프-프로브 오프셋 측정 후 프로브 동작 실행 등이 포함됩니다.
* 제외된 기능: 시험용 마이크로스코프 캡처 및 스티칭 이미지, 업로드된 참조 이미지, 로컬 백업, 런타임 로그, 캐시 파일, 머신별 SSH/배포 상태 등은 이번 릴리스 후보에서 의도적으로 제외되었습니다.
* 라이선스 및 제한 사항: PolyForm Noncommercial License 1.0.0 라이선스 하에 비상업적 용도로 사용, 수정, 공유가 가능하며, 상업적 사용 시 별도의 유료 라이선스가 필요합니다. 마이크로스코프-프로브 XY 오프셋은 실제 프로빙 전에 측정되어야 하며, 대시보드는 신뢰할 수 없는 네트워크에 노출되어서는 안 됩니다.
* 책임 있는 사용: 본 프로젝트는 권한이 있는 장비와 타겟에 대한 통제된 실험실 작업을 위한 것이며, 허가 없이 시스템을 프로빙, 손상 또는 분석하는 데 사용해서는 안 됩니다.

시사점

AutoProber는 기존의 분산된 하드웨어 구성 요소를 AI와 통합하여 하드웨어 보안 연구 및 개발을 위한 강력하고 자동화된 테스트 환경을 구축할 수 있는 가능성을 제시합니다. 이는 복잡한 하드웨어 분석 작업을 효율화하고 안전성을 강화하는 데 기여할 수 있습니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions