RU EN

CoPilot: AI-разбор security-проверок CoPilot: AI-assisted security review workflow

Спроектировала рабочий процесс, который делает многоэтапный AI-анализ понятным: от запуска проверки и отслеживания обработки до разбора evidence и финального решения эксперта. I designed a workflow that makes multi-stage AI analysis understandable — from configuring a check and monitoring processing to reviewing evidence and making the final expert decision.

Product Designer · Product UX · Interaction Design · State modeling · UI system Product Designer · Product UX · Interaction Design · State modeling · UI system

CoPilot security analysis interface

КонтекстOverview

Security analysis редко даёт простой ответ «да / нет». Одна проверка проходит несколько этапов обработки, возвращает вероятностные сигналы и может создать большой список потенциальных проблем. Даже после завершения автоматического анализа финальное решение остаётся за специалистом. Security analysis rarely produces a simple yes-or-no answer. A check can pass through several processing stages, return probabilistic signals and create a large set of potential issues. Even after automated analysis is complete, the final decision still belongs to a specialist.

Моя задача была не просто показать больше данных, а сделать систему понятной в трёх ключевых моментах: My task was not to expose more data, but to make the system understandable at three critical moments:

01Что сейчас происходит?What is happening?
02Насколько результату можно доверять?Can I trust this result?
03Что мне делать дальше?What should I do next?

ПроблемаThe problem

Автоматический анализ уязвимостей асинхронный и вероятностный. Пользователю нужно понимать, на каком этапе находится проверка, что именно уже обработано, где произошёл сбой и чем автоматическая prediction отличается от подтверждённой человеком уязвимости. Automated vulnerability analysis is asynchronous and probabilistic. Users need to understand where a check is, what has already been processed, where something failed and how a machine prediction differs from a vulnerability validated by a human.

  • Показать долгий процесс без «магического» loading state.Communicate a long-running process without a magical loading state.
  • Разделить машинный прогноз и человеческий verdict.Separate machine prediction from a human verdict.
  • Помочь быстро просматривать и приоритизировать большое число находок.Help experts scan and prioritise a large number of findings.
  • Безопасно оформить действия, которые влияют на будущие сканы.Make actions that affect future scans explicit and safe.
  • Спроектировать failed, skipped, empty и partial states как часть основного продукта.Treat failed, skipped, empty and partial states as part of the core product.

Модель сценарияMapping the workflow

Я строила опыт вокруг реального decision flow, а не вокруг отдельных экранов. Это разделило продукт на два режима: monitoring — понять состояние системы; reviewing — оценить результат и принять решение. I structured the experience around the actual decision flow rather than individual screens. This separated two modes: monitoring — understanding the system state; reviewing — evaluating the result and making a decision.

MonitoringMonitoring
01Выбрать отчётSelect report
02Настроить анализConfigure analysis
03Запустить processingStart processing
ReviewingReviewing
04Оценить результатReview result
05Изучить findingInspect finding
06Принять решениеMake decision

01 Контроль до запуска проверки Giving users control before processing starts

Разные форматы данных и режимы анализа влияют на результат. Вместо того чтобы прятать эти параметры в настройках, я собрала значимые решения в один понятный setup: выбрать исходный отчёт, определить режим проверки и запустить анализ. Different data formats and analysis modes affect the result. Instead of hiding those options in settings, I grouped the meaningful choices into one setup step: select the source report, choose the check mode and start the analysis.

CoPilot overview and setup

02 Прозрачный asynchronous processing Making asynchronous processing visible

Обычный progress bar скрывал бы слишком много. Если обработка замедлится или остановится, эксперт не поймёт, нужно ждать или вмешаться. Поэтому я представила pipeline явно и определила семантические состояния для каждого этапа. A generic progress bar would hide too much. If processing slowed down or stopped, an expert would not know whether to wait or intervene. I represented the pipeline explicitly and defined semantic states for every stage.

Waiting · In progress · Completed · Skipped · Failed · Broken

CoPilot report list and processing states
CoPilot waiting, RL, LLM, advice service and completed processing states
Один state model показывает и текущий этап, и состояние каждой стадии. One state model communicates both the current stage and the status of each processing step.

03 От результата к investigation Moving from a result to an investigation

Summary помогает сориентироваться, но решение требует evidence. В detailed view я выстроила иерархию между тем, что предполагает система, что реально найдено, какой статус уже присвоен и какое действие доступно дальше. A summary helps with orientation, but a decision requires evidence. In the detailed view I created a hierarchy between what the system predicts, what was actually found, the current review status and the action available next.

  • system predictionsystem prediction
  • finding + technical parametersfinding + technical parameters
  • review state and contextreview state and context
  • next expert actionnext expert action
CoPilot split workspace
Detailed vulnerability parameters and rule information
Evidence и review context собраны в одном месте: source, severity, rule, status и decision history. Evidence and review context stay together: source, severity, rule, status and decision history.

AI предлагает. Эксперт решает.AI suggests. The expert decides.

04 Human in the loop Keeping the human in the loop

Автоматическая классификация не должна выглядеть как окончательный verdict. Я разделила prediction и человеческое решение как два разных объекта: система помогает сузить внимание и собрать evidence, но confirm / decline / ignore делает эксперт. Automated classification should not look like a final verdict. I treated prediction and the human decision as two different objects: the system narrows attention and assembles evidence, while an expert confirms, declines or ignores the finding.

CoPilot vulnerability review with expert decision controls

05 Действия с последствиями для будущих сканов Designing for actions with future consequences

Ignore влияет не только на текущий экран: объект может быть исключён из последующих проверок. Поэтому я отделила такое действие от обычного dismiss, добавила явное подтверждение последствий и отдельный feedback state после применения. Ignore affects more than the current screen: an object may be excluded from later checks. I therefore treated it differently from a simple dismiss, added explicit confirmation of the consequence and a separate feedback state after the action is applied.

Intent → Confirmation → System feedback

CoPilot ignore confirmation shown in the full product context
Ignore for next scan confirmation modal
Confirmation · последствие показано до применения действия.Confirmation · the consequence is explicit before the action is applied.
Success notification after ignoring an object in future scans
Feedback · продукт подтверждает, что правило повлияет на следующие сканы.Feedback · the product confirms that the rule will affect following scans.

Beyond the happy pathBeyond the happy path

Для асинхронного security-продукта edge cases — это основной опыт, а не редкие исключения. Я описала состояния active, waiting, completed, skipped, failed, broken, empty и zero-value и использовала одну логику на уровне pipeline, отчёта и отдельной находки. For an asynchronous security product, edge cases are part of the primary experience. I defined active, waiting, completed, skipped, failed, broken, empty and zero-value states and reused the same logic across the pipeline, the report and an individual finding.

System thinkingSystem thinking

Количество комбинаций состояний быстро делает screen-by-screen подход неуправляемым. Поэтому я проектировала не отдельные экраны, а набор семантических patterns для processing stages, connectors, counters, severity и validation states. The number of state combinations quickly makes a screen-by-screen approach unmanageable. I designed semantic patterns for processing stages, connectors, counters, severity and validation states instead of solving every screen independently.

Состояние должно не просто выглядеть иначе — у него должно быть однозначное продуктовое значение.A state should not just look different — it needs a clear product meaning.

Reusable CoPilot connector, breakpoint, issue counter, severity and point states
Набор переиспользуемых состояний вместо отдельных визуальных решений для каждого сценария. Reusable semantic states instead of one-off visual solutions for every scenario.

Что показывает этот кейсWhat this case demonstrates

Делаю сложные системы понятнымиMaking complex systems understandable

Перевела многоэтапный backend process в state model, который пользователь может читать и контролировать.I translated a multi-stage backend process into a state model users can understand and monitor.

Проектирую для экспертных решенийDesigning for expert decisions

Разделила автоматические сигналы и человеческую валидацию, построив flow вокруг evidence и последствий действий.I separated automated signals from human validation and structured the flow around evidence and the consequences of actions.

Думаю системами, а не отдельными экранамиThinking in systems

Определила reusable states и interaction patterns, чтобы сложность продукта масштабировалась без новых визуальных правил для каждого сценария.I defined reusable states and interaction patterns so product complexity could scale without inventing a new visual rule for every scenario.

РезультатOutcome

Дизайн описывает end-to-end CoPilot workflow: от настройки анализа и чтения processing states до investigation отдельной находки и экспертного решения. Параллельно был сформирован переиспользуемый state model для реализации интерфейса. The design defines the end-to-end CoPilot workflow — from configuring analysis and reading processing states to investigating an individual finding and making the expert decision — together with a reusable state model for implementation.

Что я вынеслаWhat I learned

Сложность не исчезает, когда мы упрощаем интерфейс — её нужно структурировать. Самая важная часть этой работы была не в том, чтобы уменьшить число состояний, а в том, чтобы определить их смысл, связи и последствия достаточно чётко для уверенного решения пользователя. Complexity does not disappear when we simplify an interface — it has to be structured. The most useful design work was not reducing the number of states, but defining their meaning, relationships and consequences clearly enough for users to make confident decisions.