docs: промпт для аудита проекта другим агентом
This commit is contained in:
@@ -0,0 +1,63 @@
|
|||||||
|
# Задание: аудит проекта elmAI на баги и уязвимости
|
||||||
|
|
||||||
|
## Контекст
|
||||||
|
|
||||||
|
elmAI — Android-приложение + Python-сервер для диагностики авто через ELM327.
|
||||||
|
Текущая версия: v0.70.0-dev, ветка dynamic-tests.
|
||||||
|
Уже было найдено и исправлено ~15 багов, но гарантии что всё чисто — нет.
|
||||||
|
|
||||||
|
## Что анализировать
|
||||||
|
|
||||||
|
Проверь код на:
|
||||||
|
1. Гонки потоков (Android: несколько потоков работают с UI и BT одновременно)
|
||||||
|
2. Утечки ресурсов (BluetoothSocket, SQLite-соединения, таймеры)
|
||||||
|
3. NPE / краши (особенно при отсутствии Bluetooth, ELM, интернета)
|
||||||
|
4. Логические ошибки (состояния кнопки-трансформера, порядок инициализации)
|
||||||
|
5. Сервер: SQL-инъекции, валидация входных данных, таймауты, OOM
|
||||||
|
6. Потерю данных (динамические тесты, история, офлайн-режим)
|
||||||
|
|
||||||
|
## Какие файлы читать
|
||||||
|
|
||||||
|
### Android (максимально критичные)
|
||||||
|
1. `android/app/src/main/java/ru/elmer/client/ui/MainActivity.kt` — главный файл, стейт-машина, UI
|
||||||
|
2. `android/app/src/main/java/ru/elmer/client/elm/ElmChecker.kt` — BT-подключение, DTC, ЭБУ
|
||||||
|
3. `android/app/src/main/java/ru/elmer/client/script/DynamicCollector.kt` — сбор 12 PID 250мс
|
||||||
|
4. `android/app/src/main/java/ru/elmer/client/script/ScriptRunnerService.kt` — фоновая диагностика
|
||||||
|
5. `android/app/src/main/java/ru/elmer/client/server/ServerClient.kt` — HTTP к серверу
|
||||||
|
6. `android/app/src/main/java/ru/elmer/client/db/SessionDb.kt` — локальная БД
|
||||||
|
|
||||||
|
### Сервер
|
||||||
|
7. `api/routes.py` — эндпоинты (script, upload, chat, ping)
|
||||||
|
8. `api/db.py` — SQLite-схема и миграции
|
||||||
|
9. `api/scripts.py` — скрипты L0/L1/L2/dynamic
|
||||||
|
10. `brain/prompts.py` — SYSTEM_PROMPT, DYNAMIC_PROMPT
|
||||||
|
11. `brain/client.py` — HTTP-клиент к LLM
|
||||||
|
|
||||||
|
## Что УЖЕ исправлено (не трать время)
|
||||||
|
|
||||||
|
- Двойной вызов checkLlm/checkEcu
|
||||||
|
- setIndicator не в UI-потоке
|
||||||
|
- Кнопка СТОП не работала
|
||||||
|
- ECU не зеленел после сканирования
|
||||||
|
- Дублирование данных при отправке dynamic_samples
|
||||||
|
- elmChecker переиспользуется между операциями
|
||||||
|
- 12 PID захардкожены (не дёргаем сервер)
|
||||||
|
- Диагноз сохраняется в локальную БД
|
||||||
|
- Миграции ALTER TABLE для старых БД
|
||||||
|
- deploy.sh на master вместо fat-client
|
||||||
|
|
||||||
|
## Куда сохранить результат
|
||||||
|
|
||||||
|
Создай файл `doc/audit-2026-06-07.md` с отчётом.
|
||||||
|
Формат:
|
||||||
|
```
|
||||||
|
## Найдено
|
||||||
|
### 🔴 Критичные
|
||||||
|
- описание бага, файл, строка, как исправить
|
||||||
|
|
||||||
|
### 🟡 Средние
|
||||||
|
...
|
||||||
|
|
||||||
|
### 🟢 Косметика
|
||||||
|
...
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user