ИИ-инструменты и скрипты
Проверка контрактов Solidity
Проверьте контракты Solidity до развёртывания: авторизация через tx.origin, delegatecall на адреса вызывающих, общедоступные selfdestruct и инициализаторы, повторный вход, незакреплённые версии в pragma, непроверенные вызовы, слабая случайность и отсутствие контроля доступа. Не заменяет аудит.
Что вы получите: 1 файл · 38.73 KB · ZIP
Варианты покупкиОписание товара
Одного (bool ok, ) = msg.sender.call{value: amount}(""), размещённого перед balances[msg.sender] = 0, или одного initialize() без модификатора initializer достаточно, чтобы кто-нибудь опустошил контракт или получил над ним контроль. Этот навык находит эти и ещё девять ошибок Solidity до развёртывания и объясняет, как исправить каждую из них. Он не заменяет аудит смарт-контракта: используйте его, чтобы обнаружить известные ошибки на раннем этапе, до проверки кода аудитором.
Ваш агент запускает сканер для файлов .sol. Сканер пропускает комментарии, тесты, скрипты, моки и зависимости (node_modules, Foundry lib/, Remix .deps), разбивает каждый контракт на функции, читает их видимость и модификаторы, распознаёт переменные состояния и отслеживает параметры, передаваемые в delegatecall. Он не отмечает стандартные шаблоны OpenZeppelin: модификаторы Ownable и AccessControl, nonReentrant из ReentrancyGuard, checks-effects-interactions, SafeERC20, Initializable с initializer, ECDSA.recover и арифметику Solidity 0.8 с проверкой переполнения. Он ничего не компилирует, не развёртывает и не запускает. Он возвращает BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода.
Что проверяется
BLOCK (исправить до публикации)
SC01: использование tx.origin для авторизации (require(tx.origin == owner), admins[tx.origin])
SC02: delegatecall на адрес из параметров функции или msg.sender без контроля доступа
SC03: selfdestruct, доступный для вызова кому угодно
SC04: функции initialize без initializer или другой защиты и UUPS _authorizeUpgrade без контроля доступа
SC05: запись состояния после перевода ETH или низкоуровневого вызова без nonReentrant (повторный вход)
REVIEW (проверить до выпуска)
SC11: незакреплённые версии в pragma (^0.8.20, >=0.8.0) в файлах с развёртываемым контрактом
SC12: игнорирование результатов call, delegatecall, staticcall и send
SC13: выбор победителей, индексов и результатов на основе block.prevrandao, block.timestamp или blockhash, в том числе через локальную переменную (операции со временем вроде % 1 weeks не отмечаются)
SC14: компиляторы до версии 0.8.0 без SafeMath (незаметное переполнение)
SC15: функции mint, set..., pause, upgrade, sweep и withdraw-all без onlyOwner, onlyRole или проверки msg.sender
SC16: ecrecover без проверки на address(0)
Что входит в комплект
Сканер (Python 3.9+, только стандартная библиотека)
Руководство по правилам с объяснением причин и более безопасным подходом для каждого правила
Небезопасный и безопасный примеры проекта Foundry, а также настоящий отчёт сканера по небезопасному примеру
Ограничения
Код анализируется как текст, без компилятора Solidity. Наследование из других файлов оценивается по именам модификаторов; внутренние вызовы, указатели на хранилище, assembly (кроме delegatecall), повторный вход между функциями и при чтении, обратные вызовы токенов, манипуляции оракулами, опережающие транзакции и бизнес-логика не проверяются. Этот инструмент не заменяет аудит смарт-контракта. NOT FLAGGED не является гарантией безопасности.
Содержимое
Один ZIP-архив с 19 файлами: SKILL.md, сканер в scripts/ (4 файла Python), references/rules.md (каждое правило с объяснением причин и более безопасным подходом) и examples/ (12 файлов примеров и report.md, настоящий результат работы сканера на небезопасном примере).
Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить проект. Скрипты также можно запускать отдельно с Python 3.9 или новее, без установки дополнительных пакетов. Они только читают ваши файлы: не подключаются к сети и ничего никуда не отправляют.
Что вы получите
1 файл · 38.73 KB
- solidity-contract-check-1.0.0.zipZIP · 38.73 KB
ИИ-инструменты и скрипты
Проверка контрактов Solidity
Проверьте контракты Solidity до развёртывания: авторизация через tx.origin, delegatecall на адреса вызывающих, общедоступные selfdestruct и инициализаторы, повторный вход, незакреплённые версии в pragma, непроверенные вызовы, слабая случайность и отсутствие контроля доступа. Не заменяет аудит.
Включено в Getly ProПолучить Pro
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 38.73 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



