MiniappGoService/internal/infrastructure/grpcClient/client.go

106 lines
6.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package grpcClient
import (
"context"
pbVC "gitea.cybertalant.ru/VisionCareerMiniapp/DataManagemet/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{
"<b>THIS IS MOCKS</b>",
`
ЗП: до 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
}