Skip to content

Archive

Cybersecurity

535 articles
Cybersecurity 02 Sep 2026 5 min read

Design Secure Password Reset Flows

Password reset is an authentication mechanism. Anyone who can complete the reset flow can usually take control of the account, so recovery deserves protections comparable to login. A secure design must prevent token guessing, account enumeration, replay, accidental disclosure, and long-lived takeover opportunities. Return the same public response A reset form often accepts an email address or username. Do not reveal whether that identifier exists. Prefer a response such as:

Cybersecurity 02 Sep 2026 7 min read

Constant-Time Comparison for Authentication Tags and Secret Values

Security-sensitive verification often ends with a simple question: does an untrusted value equal the value the server expected? For ordinary application data, a normal equality operator is appropriate. For authentication tags and some secret values, however, an equality operation that stops at the first mismatch can expose information through execution time. Timing-safe comparison APIs reduce that risk by avoiding content-dependent short-circuit behavior. They are small tools, but using them correctly requires more than replacing one equality operator.

Cybersecurity 02 Sep 2026 6 min read

Apply Least Privilege to Application Access

Least privilege is the practice of giving an identity only the access required to perform its current job. The identity may be a person, application, service account, CI job, or automated process. The principle sounds simple, but useful implementations go beyond creating a few roles. Permissions change over time, applications accumulate capabilities, and emergency exceptions often become permanent. Least privilege therefore needs both careful design and regular maintenance. Start from required actions, not convenient roles A common mistake is to begin with a broad role such as admin, editor, or operator and assign it because it makes an application work quickly.

Cybersecurity 01 Sep 2026 4 min read

Reduce Software Supply Chain Risk with Dependency Controls

Modern applications routinely execute code downloaded from package registries, container registries, build actions, and language-specific ecosystems. That convenience creates supply chain risk: an attacker does not need to compromise your source repository if they can compromise something your build trusts. No single control eliminates this risk. The practical approach is to reduce unnecessary trust and make dependency changes visible. Treat dependency resolution as a security boundary A manifest may specify broad version ranges, while a lockfile records the exact dependency graph selected for a build.

Web Development 01 Sep 2026 5 min read

Preventing SSRF in Backend Services That Fetch User-Supplied URLs

Features that fetch a URL supplied by a user appear in webhook testers, image importers, link previewers, document converters, and integration platforms. They also create a server-side request forgery (SSRF) boundary: an attacker can try to make the backend send requests to destinations the attacker cannot reach directly. A secure design needs more than a blacklist of suspicious strings. Understand the trust boundary The dangerous capability is not URL parsing itself. It is allowing untrusted input to influence a network connection made with the server’s network identity.

Cybersecurity 01 Sep 2026 3 min read

Prevent Session Fixation During Web Authentication

Session fixation occurs when an attacker can cause a victim to authenticate while using a session identifier the attacker already knows. If the application keeps that identifier after login, the attacker may reuse it to access the newly authenticated session. The core defense is to change the session identifier whenever privilege changes. Rotate at authentication boundaries After credentials, passkeys, or another authentication factor succeeds, create a fresh unpredictable session identifier and retire the pre-authentication identifier. Apply the same principle after privilege elevation, impersonation boundaries, or other security-sensitive identity changes.

Cybersecurity 01 Sep 2026 5 min read

Practical Threat Modeling with Trust Boundaries and Abuse Cases

Threat modeling is most useful before a vulnerability becomes a patch request. It gives a team a structured way to ask how a system can be misused, which assumptions are security-sensitive, and where defenses should exist. A useful threat model does not need to be a large document. For many services, a one-page data-flow sketch plus a prioritized set of abuse cases is enough to improve design decisions. Begin with assets and security goals Start by identifying what the system is trying to protect.