DB detecting-serverless-function-injection
Обнаружение и предотвращение атак внедрения кода, нацеленных на бессерверные функции (AWS Lambda, Azure Functions, Google Cloud Functions) посредством отравления источников событий, внедрения вредоносных слоев, выполнения команд во время выполнения и повышения привилегий IAM через модификацию функций. Аналитик объединяет статическое обнаружение кода функций, корреляцию событий CloudTrail, мониторинг поведения во время выполнения и аудит политик IAM для выявления векторов внедрения в расширенной поверхности атаки бессерверных вычислений, включая API Gateway, S3, SQS, DynamoDB Streams и триггеры событий CloudWatch. Активируется для запросов, связанных с оценкой безопасности Lambda, обнаружением внедрения в бессерверные функции, анализом отравления событий функций или расследованием повышения привилегий в бессерверных средах.
машинный переводПоказать оригиналСкрыть оригинал«Detects and prevents code injection attacks targeting serverless funct…»
Detects and prevents code injection attacks targeting serverless functions (AWS Lambda, Azure Functions, Google Cloud Functions) through event source poisoning, malicious layer injection, runtime command execution, and IAM privilege escalation via function modification. The analyst combines static analysis of function code, CloudTrail event correlation, runtime behavior monitoring, and IAM policy auditing to identify injection vectors across the expanded serverless attack surface including API Gateway, S3, SQS, DynamoDB Streams, and CloudWatch event triggers. Activates for requests involving Lambda security assessment, serverless injection detection, function event poisoning analysis, or serverless privilege escalation investigation.
Обнаружение и предотвращение атак внедрения кода, нацеленных на бессерверные функции (AWS Lambda, Azure Functions, Google Cloud Functions) посредством…
Как процесс B 66/100 · Почти готов — слабые места: ошибки и развилки
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 19
✓ Критических и высоких находок нет
Средние и низкие: 19
-
низкая Рискованное назначение
intent-offensive-securityreferences/api-reference.md:5Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)Detects code injection vulnerabilities in AWS Lambda functions by scanning function code for dangerous sinks (eval, exec, os.system, child_process.exec), auditing Lambda layers for external account de
-
низкая Рискованное назначение
intent-offensive-securityreferences/api-reference.md:51Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)Audits execution roles for dangerous permissions (iam:PassRole, lambda:UpdateFunctionCode, sts:AssumeRole) and administrative policies. Any function with UpdateFunctionCode + PassRole is a privilege e
-
низкая Рискованное назначение
intent-offensive-securityreferences/api-reference.md:121Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)| 1 | Critical injection sinks or privilege escalation paths detected |
детектор -
низкая Секреты в коде
secret-high-entropy-tokenscripts/agent.py:399Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"Upda…1v2",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenscripts/agent.py:400Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"Upda…1v2",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/agent.py:402Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"AddL…031",
в кавычках -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:5Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)malicious layer injection, runtime command execution, and IAM privilege escalation
детектор -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:11Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)function event poisoning analysis, or serverless privilege escalation investigation.
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:44Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)- Detecting privilege escalation paths where an adversary with `lambda:UpdateFunctionCode` and `iam:PassRole` can assume higher-privilege execution roles
детектор -
низкая Опасные команды
cmd-eval-dynamicSKILL.md:158Динамическое выполнение кода из декодированного/недоверенного ввода (документация security-скилла)os.system(f"aws s3 cp s3://{bucket}/{key} /tmp/file")security-скилл -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:239Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"eventName": ["Upda…1v2", "Publ…031"],
в кавычках -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:245Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)### Step 5: Detect IAM Privilege Escalation via Lambda
детектор -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:249Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **The Lambda privilege escalation pattern**: An attacker with `lambda:UpdateFunctionCode` and `iam:PassRole` permissions can:
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:267Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| filter eventName = "Upda…1v2"
таблица -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:288Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"Upda…1v2",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:289Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"Upda…1v2",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:438Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка; строка таблицы в документации)| filter eventName = "Upda…1v2"
детектортаблица
Ещё 2 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 6000 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "domain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "subdomain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_csf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "mitre_attack"
Процессный рейтинг: все десять параметров 66/100
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (bash, web, python), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 70Стоимость исполнения. Тело инструкции 6000 токенов
- 100Шаги. Шагов: 68
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- -41 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- -31 из 1 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 743 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 15 заголовков
- +3Пошаговые инструкции: 68 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (32 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 72.