106 lines
6.3 KiB
Go
106 lines
6.3 KiB
Go
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{
|
||
"<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
|
||
}
|