Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка контрактов Solidity

Проверьте контракты Solidity до развёртывания: авторизация через tx.origin, delegatecall на адреса вызывающих, общедоступные selfdestruct и инициализаторы, повторный вход, незакреплённые версии в pragma, непроверенные вызовы, слабая случайность и отсутствие контроля доступа. Не заменяет аудит.

$5.00

Что вы получите: 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

Включено в Getly ProПолучить Pro

ЛицензияКоммерческое использование разрешено
Опубликовано12 нояб. 2026 г.
Размер файла38.73 KB
Формат файлаZIP
Версияv1.0

Теги

soliditysmart-contractsethereumsecurityweb3ai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 38.73 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00