Держите каждое поле учетных данных вне JSON и охраняйте всю библиотеку правил

Fixkamo-shared-library
Порезанный
17 сентября 2026 г. в 03:33 UTC
Автор
Kamo
Обещать
f1c5d3b

Последующие действия в отношении 034378d2, которые охватывали колонки NAMED в качестве шифротекста. Проверки происхождения/основной в каждом Репозиторий обнаружил еще 61 поле с учетными данными без охраны Джексона. Три набора были в живых ответах: **************************** .imapPassword (зашифрованный логин IMAP): GET /api/email/shared-mailboxes /my-доступ, создание и обновление возвращают организацию на любую сессию в организации. User.password, .seedWords, .securityAnswer, .seedPhraseHash, ******************* GET/api/security/org загружает собственного пользователя абонента, поэтому каждая организация абонента полностью сериализовала своего владельца. **************************** список партнеров по обмену EHR и приостановка возврата организации. Остальные находились в спящем состоянии (каждая конечная точка строит карту или DTO), а одна вложенная или одна возвращенная сущность находилась вдали от других. издатель: AiProvider.apiKey **************** **************************** .configJson и ****************, которые вмещали бы их в общественный орган; **************************** **************************** .password; **************** **************************** Доступ / обновление токенов на OrgEmailOuthTokenEntity, **************** OrgOAuthToken, MemberVoipOAuthToken (+ jwtAssertion), OrgMeetingOAuthTokenEntity, ThirdPartyIntegration (+ webhookSecret); **************************** RetailProviderConfig.apiKey, .apiSecret, .accessToken, .webhookSecret; PublicChatVisitor.sessionToken; **************** и хэши токена и кода на EmailVerificationToken, PasswordResetToken (tokenShortHash IS the emailed reset code), UserDeviceToken, UserEmailChangeRequest, RecoverySession, PatientPortalSession, PatientPortalInvitation, QuoteShareLink EsignEnvelopeRecipient, AccountVerificationCode, SmsOtp и MfaRecoveryCode. Все они теперь @JsonIgnore. Проверено для каждого перед его изменением: ни один орган запроса не связывает объект, ничего не читает его. с **************** без кэша JSON, Redis или NATS-перевода, и без клиента в любом Репозиторий читает собственность. @JsonIgnore вместо WRITE ONLY, поэтому ни один орган запроса не может установить хеш пароля. **************************** сканирует каждый постоянный тип так, как это делает ****************: текстовое поле, чье имя говорит пароль, секрет, apiKey, токен доступа / обновления, jwt, учетные данные, начальные слова, безопасность Ответ, приватный ключ или ключ подписи, или хэш токена / кода, плюс шесть учетных данных, названных иначе, должны быть @JsonIgnore или Письмо только. Три имени, которые выглядят только как учетные данные, перечислены с причиной (два секретных имени хранилища и два секретных имени). Вебинар Присоединяйтесь к коду. Бегите по происхождению/основному, в нем нет точного списка 59 полей, соответствующих названию. Библиотека фиксирует суда за услугу: служба электронной почты и служба безопасности перестраиваются с этим для живых экспозиций.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены