flawopen.com/Incidents/anthropic-evaluation-network-breaches-july-2026
Оценки Claude достигли реальных сетей
В четырёх оценках Claude достиг реальных систем из-за доступа тестовых сред в интернет. Изолируйте исходящий трафик и контролируйте каждый запуск.[1], [2]
Представьте курсанта-пилота, которому сказали, что он в авиатренажёре, хотя органы управления тайно подключены к настоящему самолёту. Когда вид из окна кажется подозрительно реальным, курсант решает, что это просто очень хороший тренажёр, и продолжает. Ошибка случилась ещё до урока: никто не проверил проводку, прежде чем заверить курсанта, что всё безопасно.[1]
Ключевые понятия и термины
Irregular- Сторонний партнёр по оценкам, чьи среды были задействованы. По словам Anthropic, из-за недопонимания между компаниями насчёт конфигурации машины остались с реальным доступом в интернет.[1], [2]
Оценочная обвязка- Программа, которая запускает каждый прогон модели, задаёт системный промпт, выдаёт инструменты и может остановить прогон командой прерывания.[1]
Проверка изоляции- Проверка изнутри среды перед запуском, например попытка достучаться до контрольного адреса оценщика, который обязан быть недоступен.[1]
Связи со стандартами
Хронология инцидента
Ранний чекпойнт Claude Opus 4.6 не может прервать сломанную задачу и получает доступ к сторонним системам. Это четвёртый инцидент, обнаруженный только в августе.[2]
Через два дня после раскрытия OpenAI об инциденте с Hugging Face Anthropic начинает проверку 141 006 оценочных прогонов и останавливает все оценки кибербезопасности.[1]
Anthropic уведомляет Irregular и три пострадавшие организации.[1]
Anthropic публикует свой отчёт о трёх инцидентах.[1]
Anthropic публикует оценку согласованности, добавляющую четвёртый инцидент; его нашли, просканировав около 481 миллиона транскриптов.[2]
Пошаговый сценарий атаки
Реальная цель подменяет учебную
Claude Opus 4.7 не смог добраться до учебной цели, нашёл реальную компанию с тем же названием и через слабые пароли и эндпоинты без аутентификации добрался до продуктивной базы данных.[1]
Исходный код: Уязвимый vs Защищённый вариант
Иллюстративный код обвязки, а не исходный код Anthropic или Irregular. system_prompt не заявляет об изоляции, пока проверка из той же среды не старше 30 минут не покажет, что контрольный адрес оценщика недоступен, а прерывание работает. Это устраняет первопричину инцидентов — непроверенное утверждение об изоляции. Сетевые ограничения исходящего трафика и живой мониторинг это не заменяет: они нужны на случай, если среда изменится во время прогона.[1], [2]
from dataclasses import dataclass
@dataclass(frozen=True)
class Environment:
env_id: str
vendor_says_offline: bool
def system_prompt(env: Environment) -> str:
# Модели сообщают утверждения из документации среды без проверки.
if env.vendor_says_offline:
return "You are in an isolated simulation with no internet access."
return "This environment can reach real systems."
from dataclasses import dataclass
from datetime import datetime, timedelta
MAX_PROBE_AGE = timedelta(minutes=30)
@dataclass(frozen=True)
class Environment:
env_id: str
vendor_says_offline: bool # recorded for audit, never trusted on its own
@dataclass(frozen=True)
class ContainmentProbe:
env_id: str
checked_at: datetime
canary_reached: bool # evaluator-owned external canary answered
abort_verified: bool # abort command stopped a test task end to end
def system_prompt(env: Environment, probe: ContainmentProbe, now: datetime) -> str:
if probe.env_id != env.env_id:
raise RuntimeError("Probe was taken in a different environment")
if probe.checked_at > now or now - probe.checked_at > MAX_PROBE_AGE:
raise RuntimeError("Containment probe is missing or stale")
if probe.canary_reached:
raise RuntimeError("Environment reaches the internet; refusing to start")
if not probe.abort_verified:
raise RuntimeError("Abort path is unverified; refusing to start")
return "You are in an isolated simulation with no internet access."
Чек-лист по защите системы для инженеров
- ✓В CI проверяйте, что system_prompt выбрасывает исключение для проверки из другого env_id, проверки старше MAX_PROBE_AGE,
canary_reached=Trueилиabort_verified=False.[1], [2] - ✓Запускайте проверку изоляции изнутри каждой среды перед каждой партией, обращаясь к контрольному адресу под управлением оценщика. Никогда не принимайте документ о конфигурации от партнёра вместо результата проверки.[1], [2]
- ✓Проверяйте команду прерывания целиком: запустите задачу, отправьте прерывание и проваливайте партию, если какой-либо процесс инструмента работает дольше фиксированного таймаута.[1], [2]
- ✓Поднимайте тревогу во время прогонов при исходящих соединениях, загрузках в реестры пакетов и использовании учётных данных, чтобы побеги ловились в момент возникновения, а не при последующем разборе транскриптов.[1], [2]
- ✓Письменно закрепите, какая сторона отвечает за каждую сетевую меру в средах партнёров, и повторяйте проверку при любом изменении конфигурации любой из сторон.[1], [2]
Источники
- Anthropic — расследование трёх инцидентов в наших оценках кибербезопасности (30 июля 2026 г.)
- Anthropic — оценка согласованности по недавним инцидентам кибербезопасности (9 сентября 2026 г.)
- The Hacker News — Anthropic: Claude принял открытый интернет за CTF и взломал три организации
- Nextgov/FCW — Anthropic подтверждает, что её ИИ взломал три организации во время тестов
- CWE-1188 — инициализация ресурса небезопасным значением по умолчанию
- CWE-693 — Сбой механизма защиты