Security Engineering Glossary

Purpose

This glossary defines security terminology used throughout the Engineering Knowledge Framework.

Security terms defined here are authoritative across the repository. Foundational engineering terms are defined in the Engineering Glossary.

Glossary

CSRF (Cross-Site Request Forgery)

PropertyValue
DefinitionAn attack that tricks a user into performing an action
they did not intend on a web application where they are
authenticated.
ContextRails includes CSRF protection by default via
protect_from_forgery with: :exception. Do not disable
it.
RelatedXSS, SQL Injection
ReferencesSecurity Engineering Handbook

Defense in Depth

PropertyValue
DefinitionA security strategy that uses multiple independent
layers of defense so that if one layer fails, another
provides protection.
ContextNo single security control is sufficient. Defense in
depth combines network, application, data and
operational security controls.
RelatedLeast Privilege, Secure by Default
ReferencesSecurity Engineering Handbook

IDOR (Insecure Direct Object Reference)

PropertyValue
DefinitionA vulnerability that occurs when an attacker can access
or modify a resource by manipulating an identifier
(e.g., changing a user ID in a URL parameter).
ContextPrevention requires authorization checks on every
resource access, not relying on identifier obscurity.
RelatedSQL Injection, XSS
ReferencesSecurity Engineering Handbook

Least Privilege

PropertyValue
DefinitionThe principle that every user, process and system should
have only the minimum permissions necessary to perform
its function.
ContextApply least privilege at every level: database accounts,
service accounts, user permissions and network access.
RelatedDefense in Depth, Secure by Default
ReferencesSecurity Engineering Handbook

SAST (Static Application Security Testing)

PropertyValue
DefinitionSecurity testing that analyses source code for
vulnerabilities without executing the application.
ContextSAST tools (e.g., Brakeman) scan code for patterns
known to be insecure. They are fast and can be run in
CI, but may produce false positives.
RelatedThreat Modeling
ReferencesSecurity Engineering Handbook

Secure by Default

PropertyValue
DefinitionThe principle that systems should be secure in their
default configuration, requiring explicit action to
reduce security.
ContextEngineers should explicitly opt into reduced security,
not opt into increased security. Defaults should be
restrictive.
RelatedDefense in Depth, Least Privilege
ReferencesSecurity Engineering Handbook

SQL Injection

PropertyValue
DefinitionA vulnerability that occurs when untrusted input is
concatenated into SQL queries, allowing an attacker to
execute arbitrary SQL commands.
ContextPrevention: use parameterized queries, prepared
statements or an ORM like ActiveRecord. Never use raw
SQL with string interpolation from user input.
RelatedXSS, IDOR
ReferencesSecurity Engineering Handbook

Threat Modeling

PropertyValue
DefinitionThe practice of identifying potential threats to a
system and designing mitigations before they are
exploited.
ContextThreat modeling should be performed during the design
phase of new systems or significant changes. The STRIDE
framework provides a structured approach.
RelatedSAST, Defense in Depth
ReferencesSecurity Engineering Handbook

XSS (Cross-Site Scripting)

PropertyValue
DefinitionA vulnerability that occurs when untrusted input is
rendered in HTML without proper escaping, allowing an
attacker to inject malicious scripts.
ContextRails auto-escapes in views by default. Avoid using
.html_safe or raw unless necessary and reviewed.
Content Security Policy provides additional protection.
RelatedCSRF, SQL Injection
ReferencesSecurity Engineering Handbook

Related Documents