package grpcClient import ( "context" pbVC "gitea.cybertalant.ru/VisionCareerMiniapp/DataManagement/pb/golang" "google.golang.org/grpc" ) type grpcClient struct { apiKey string // conn *grpc.ClientConn // vсClient pbVC.VisionCareerApiServiceV1Client } func (t *grpcClient) Close() error { // return t.conn.Close() return nil } func (t *grpcClient) GetUserVacancies(ctx context.Context, in *pbVC.GetUserVacanciesRequest, opts ...grpc.CallOption) (*pbVC.GetUserVacanciesResponse, error) { // // Append api key to Meta-data // md := metadata.Pairs(constants.APIKey.String(), t.apiKey) // ctx = metadata.NewOutgoingContext(ctx, md) // return t.vсClient.GetUserVacancies(ctx, in, opts...) return &pbVC.GetUserVacanciesResponse{ Status: "success", Items: []string{ "THIS IS MOCKS", ` ЗП: до 500 000 рублей net Penetration Tester – Red Team, Wildberries & Russ 💜 Уровень: Middle/Senior Формат: удаленка или гибрид 📭 Вместе с масштабным развитием IT направления Wildberries и Russ развивает информационную безопасность. Мы решаем сложные и разнообразные задачи: от повышения защищенности каждого сервиса до развития безопасности в рамках всей нашей инфраструктуры. Сейчас мы в поиске опытного Penetration Tester в Red Team. Команда занимается проведением аудитов безопасности инфраструктуры, продуктов и сервисов в различных форматах (тестирования на проникновение, анализ защищенности, кибер-учения). 📝 Ключевые задачи: • Проведение аудитов в формате тестирования на проникновение (внешняя и внутренняя инфраструктура, социалка) • Проведение аудитов в формате анализа защищенности (веб и мобильные приложения) • Проведение аудитов в формате Red/Purple Teaming • Поиск и эксплуатация уязвимостей веб и мобильных приложений • Поиск и эксплуатация уязвимостей и недостатков конфигурации ОС Linux а также специфичных для нее сервисов • Поиск и эксплуатация уязвимостей OC Windows и недостатков конфигурации Active Directory • Поиск и эксплуатация уязвимостей и недостатков конфигурации СУБД, систем виртуализации и контейнеризации • Оформление найденных уязвимостей для отчетов по итогам проектов 💫 Основные требования: • Опыт проведения проектов по анализу защищенности веб и мобильных приложений • Опыт проведения проектов по тестированию на проникновение (внешняя и внутренняя инфраструктура) • Опыт поиска и эксплуатации уязвимостей веб и мобильных приложений • Опыт поиска и эксплуатации уязвимостей ОС Linux • Опыт поиска и эксплуатации уязвимостей OC Windows и недостатков конфигурации AD • Опыт поиска и эксплуатации уязвимостей и недостатков конфигурации систем виртуализации и контейнеризации • Знание любого языка программирования на уровне достаточном для понимания/создания эксплойтов и автоматизации задач по поиску уязвимостей ❤️ Будет плюсом: • Образование (бакалавр, магистр) в одном из технических вузов РФ (МИФИ, МГТУ им. Баумана, МГУ) • Наличие профильных сертификатов (OSCP, OSWE, OSEP, CRTO) • Выступления на крупных конференциях и митапах, например PHDays, OffZone, Standoff и других • Участие в CTF и Bug Bounty 🔥 Что мы предлагаем: • Полная удаленка или гибрид с офисами в Москве и Санкт-Петербурге • IT-ипотека и оформление в аккредитованную IT-компанию • Бесплатное питание в офисах, ДМС со стоматологией (после испытательного срока) • Корпоративное обучение и IT-мероприятия 💘 Контакты: @alina_velbik `, }, }, nil } func (t *grpcClient) UpsertUserData(ctx context.Context, in *pbVC.UpsertUserDataRequest, opts ...grpc.CallOption) (*pbVC.UpsertUserDataResponse, error) { // // Append api key to Meta-data // md := metadata.Pairs(constants.APIKey.String(), t.apiKey) // ctx = metadata.NewOutgoingContext(ctx, md) // return t.vсClient.UpsertUserData(ctx, in, opts...) return &pbVC.UpsertUserDataResponse{ Status: "success", }, nil } // Init : Инициализирует общий gRPC клиент func Init(addr, apiKey string) (*grpcClient, error) { // Открытие соединения // conn, err := grpc.Dial( // addr, // grpc.WithTransportCredentials(insecure.NewCredentials()), // grpc.WithBlock(), // ) // if err != nil { // return nil, err // } // Инициализация gRPC клиентов return &grpcClient{ apiKey: apiKey, // conn: conn, // vсClient: pbVC.NewVisionCareerApiServiceV1Client(conn), }, nil }