Проверки безопасности
Что проверяет ai_stp, какие движки использует и какие риски снижает каждая проверка.
Перед подтверждением публичного компонента ai_stp запускает поэтапный набор статических проверок без исполнения компонента. Успешный результат снижает известные риски, но не гарантирует полную безопасность. Провал или отсутствие обязательной проверки блокирует публикацию; необязательные проверки дают видимое предупреждение или неполное покрытие.
Состояния результата
- Пройдена — движок завершился без находок по политике.
- Провалена — найдена блокирующая проблема; каталог показывает очищенную причину.
- Предупреждение — неблокирующая находка требует оценки.
- Не запускалась / degraded — движок не дал вердикт; обязательное покрытие остаётся незавершённым.
- Not applicable / skipped — проверка неприменима и не входит в процент.
Полный перечень
| Семейство | Проверки | Метод или технология | Какой риск снижает |
|---|---|---|---|
| Целостность и происхождение | structure, digest, license, tags, source_repo | Pydantic schemas, canonical serialization, SHA-256, закрепление repository/commit | Подмена артефакта; OWASP A08 Software and Data Integrity Failures |
| Безопасная распаковка | artifact_unpack, path_denylist | Ограниченная распаковка, нормализация путей, deny rules | Zip-slip, traversal и опасные файлы; A01 Broken Access Control, A08 |
| Секреты | secrets_heuristic, secrets_gitleaks | Собственные правила и Gitleaks | Токены, пароли и private keys; A02 Cryptographic Failures |
| Prompt и скрытый контент | pi_content_pack, content_hidden | Собственные правила prompt injection и invisible content | Скрытые инструкции; OWASP LLM01 Prompt Injection, LLM02 Sensitive Information Disclosure |
| Общий SAST | sast_opengrep | Собственные правила через Opengrep | Injection, небезопасные subprocess и паттерны кода; A03 Injection, A04 Insecure Design |
| MCP и hooks | mcp_config_static, hook_schema_static, hook_command_argv | Schema validation, transport policy, анализ argv | SSRF, command injection, избыточные возможности; A03, A10 SSRF, LLM06 Excessive Agency |
| Agent skills | skill_static_gate | Собственные правила, NVIDIA SkillSpector, Cisco Skill Scanner | Вредоносные инструкции, утечка данных и скрытые полномочия; LLM01, LLM02, LLM06 |
| SAST по языкам | shell_obfuscation, sast_shellcheck, sast_bandit, sast_gosec, sast_eslint_security | ShellCheck, Bandit, gosec, eslint-plugin-security | Injection и небезопасные паттерны языка; A03, A04 |
| Зависимости | sca_osv, sca_pip_audit, sca_govulncheck, sca_cargo_audit, sca_cargo_deny, sca_npm_audit | OSV-Scanner, pip-audit, govulncheck, cargo-audit, cargo-deny, npm audit | Известно уязвимые зависимости; A06 Vulnerable and Outdated Components, LLM05 Supply Chain Vulnerabilities |
| Документы | document_pdf | Статический поиск PDF actions, JavaScript и подозрительных строк | Активный контент и embedded prompt injection; A03, LLM01 |
| Malware | malware_clamav, malware_yara | ClamAV, YARA | Известное malware и сигнатуры политики; A08 |
| Сетапы | setup_pin_aggregate | Точные pins и агрегированные доказательства компонентов | Непроверенная зависимость внутри сетапа; A06, A08, LLM05 |
Набор зависит от вида компонента, найденных языков и файлов, а также профиля minimal, standard или strict. Внешние CLI-движки запускаются только при разрешении платформы; недоступный движок никогда не считается успешно пройденным.
Почему проверка не прошла
В развёрнутом виде каталог показывает очищенную причину для failed, warning, degraded и not_run. Секреты, чувствительные значения и локальные пути не публикуются. При обращении к автору укажите технический идентификатор проверки.
Нормативная политика принадлежит docs/contracts/validation-policy.md; эта страница — её версия для читателя.