Skip to content
Critiq Docs

Search docs

Search documentation pages and rules

security.language

Do not extend native prototypes

Do not assign properties on built-in prototype objects such as `Array.prototype`.

#Metadata

Rule ID
ts.security.no-native-prototype-extension
Severity
high
Confidence
0.96
Languages
javascript, typescript
Presets
recommended, security, strict
Stability
stable
Applies to
block
Tags
language, rules-catalog, security

#Why it matters

Mutating native prototypes affects every consumer of that type and can introduce subtle security bugs across the runtime.

#Remediation

Use utility functions or wrapper types instead of modifying native prototypes.

#Repository path

The generated metadata points to critiq-rules/libs/rules/catalog/rules/typescript/ts.security.no-native-prototype-extension.rule.yaml.