UpdateSemgrepRule
Updates the Semgrep rule.
PATCH
/
v1
/
namespaces
/
{object.tenant_meta.namespace}
/
semgrep-rules
UpdateSemgrepRule
curl --request PATCH \
--url https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules \
--header 'Content-Type: application/json' \
--data '
{
"object": {
"disabled": true,
"propagate": true,
"spec": {
"disabled": true,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": [
"<string>"
],
"id": "<string>",
"languages": [
"<string>"
],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": [
"<string>"
],
"cwe2020_top25": true,
"cwe2021_top25": true,
"cwe2022_top25": true,
"cwe2023_top25": true,
"deprecated": true,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": [
"<string>"
],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": [
"<string>"
],
"endor_targets": [
"ENDOR_TARGET_UNSPECIFIED"
],
"explanation": "<string>",
"functional_categories": [
"<string>"
],
"help": "<string>",
"impact": "<string>",
"interfile": true,
"license": "<string>",
"likelihood": "<string>",
"masvs": [
"<string>"
],
"owasp": [
"<string>"
],
"owaspapi": "<string>",
"precision": "<string>",
"references": [
"<string>"
],
"remediation": "<string>",
"resources": [
"<string>"
],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": [
"<string>"
],
"tags": [
"<string>"
],
"technology": [
"<string>"
],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": [
"<string>"
]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": true,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": true,
"interfile": true,
"symbolic_propagation": true,
"taint_assume_safe_booleans": true,
"taint_assume_safe_functions": true,
"taint_assume_safe_numbers": true,
"taint_unify_mvars": true
},
"paths": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": [
"<string>"
],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"tenant_meta": {}
},
"request": {
"force": true,
"update_mask": "<string>"
}
}
'import requests
url = "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules"
payload = {
"object": {
"disabled": True,
"propagate": True,
"spec": {
"disabled": True,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": ["<string>"],
"id": "<string>",
"languages": ["<string>"],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": ["<string>"],
"cwe2020_top25": True,
"cwe2021_top25": True,
"cwe2022_top25": True,
"cwe2023_top25": True,
"deprecated": True,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": ["<string>"],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": ["<string>"],
"endor_targets": ["ENDOR_TARGET_UNSPECIFIED"],
"explanation": "<string>",
"functional_categories": ["<string>"],
"help": "<string>",
"impact": "<string>",
"interfile": True,
"license": "<string>",
"likelihood": "<string>",
"masvs": ["<string>"],
"owasp": ["<string>"],
"owaspapi": "<string>",
"precision": "<string>",
"references": ["<string>"],
"remediation": "<string>",
"resources": ["<string>"],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": ["<string>"],
"tags": ["<string>"],
"technology": ["<string>"],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": ["<string>"]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": True,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": True,
"interfile": True,
"symbolic_propagation": True,
"taint_assume_safe_booleans": True,
"taint_assume_safe_functions": True,
"taint_assume_safe_numbers": True,
"taint_unify_mvars": True
},
"paths": {
"exclude": ["<string>"],
"include": ["<string>"]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": ["<string>"],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"tenant_meta": {}
},
"request": {
"force": True,
"update_mask": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
object: {
disabled: true,
propagate: true,
spec: {
disabled: true,
rule: {
fix: '<string>',
fix_regex: {count: 123, regex: '<string>', replacement: '<string>'},
focus_metavariable: ['<string>'],
id: '<string>',
languages: ['<string>'],
message: '<string>',
metadata: {
ai_provider: '<string>',
asvs: {
control_id: '<string>',
control_url: '<string>',
section: '<string>',
version: '<string>'
},
author: '<string>',
bandit_code: '<string>',
category: '<string>',
confidence: '<string>',
confidence_level: 'CONFIDENCE_LEVEL_UNSPECIFIED',
cwe: ['<string>'],
cwe2020_top25: true,
cwe2021_top25: true,
cwe2022_top25: true,
cwe2023_top25: true,
deprecated: true,
description: '<string>',
display_name: '<string>',
endor_attack_examples: ['<string>'],
endor_category: '<string>',
endor_rule_origin: {license: '<string>', url: '<string>'},
endor_tags: ['<string>'],
endor_targets: ['ENDOR_TARGET_UNSPECIFIED'],
explanation: '<string>',
functional_categories: ['<string>'],
help: '<string>',
impact: '<string>',
interfile: true,
license: '<string>',
likelihood: '<string>',
masvs: ['<string>'],
owasp: ['<string>'],
owaspapi: '<string>',
precision: '<string>',
references: ['<string>'],
remediation: '<string>',
resources: ['<string>'],
rule_origin_note: '<string>',
security_severity: '<string>',
severity: '<string>',
short_description: '<string>',
source_rule_url: '<string>',
source_url_open: '<string>',
subcategory: ['<string>'],
tags: ['<string>'],
technology: ['<string>'],
version: '<string>',
vulnerability: '<string>',
vulnerability_class: ['<string>']
},
metavariable_pattern: {
language: '<string>',
metavariable: '<string>',
pattern: '<string>',
pattern_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_regex: '<string>',
patterns: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
]
},
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
min_version: '<string>',
mode: '<string>',
options: {
constant_propagation: true,
generic_ellipsis_max_span: 123,
generic_engine: '<string>',
implicit_deep_exprstmt: true,
interfile: true,
symbolic_propagation: true,
taint_assume_safe_booleans: true,
taint_assume_safe_functions: true,
taint_assume_safe_numbers: true,
taint_unify_mvars: true
},
paths: {exclude: ['<string>'], include: ['<string>']},
pattern: '<string>',
pattern_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_inside: '<string>',
pattern_inside_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_not: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_propagators: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_regex: '<string>',
pattern_sanitizers: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_sinks: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_sources: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
patterns: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
references: ['<string>'],
severity: '<string>'
},
severity_level: 'SEVERITY_LEVEL_UNSPECIFIED',
yaml: '<string>'
},
tenant_meta: {}
},
request: {force: true, update_mask: '<string>'}
})
};
fetch('https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'object' => [
'disabled' => true,
'propagate' => true,
'spec' => [
'disabled' => true,
'rule' => [
'fix' => '<string>',
'fix_regex' => [
'count' => 123,
'regex' => '<string>',
'replacement' => '<string>'
],
'focus_metavariable' => [
'<string>'
],
'id' => '<string>',
'languages' => [
'<string>'
],
'message' => '<string>',
'metadata' => [
'ai_provider' => '<string>',
'asvs' => [
'control_id' => '<string>',
'control_url' => '<string>',
'section' => '<string>',
'version' => '<string>'
],
'author' => '<string>',
'bandit_code' => '<string>',
'category' => '<string>',
'confidence' => '<string>',
'confidence_level' => 'CONFIDENCE_LEVEL_UNSPECIFIED',
'cwe' => [
'<string>'
],
'cwe2020_top25' => true,
'cwe2021_top25' => true,
'cwe2022_top25' => true,
'cwe2023_top25' => true,
'deprecated' => true,
'description' => '<string>',
'display_name' => '<string>',
'endor_attack_examples' => [
'<string>'
],
'endor_category' => '<string>',
'endor_rule_origin' => [
'license' => '<string>',
'url' => '<string>'
],
'endor_tags' => [
'<string>'
],
'endor_targets' => [
'ENDOR_TARGET_UNSPECIFIED'
],
'explanation' => '<string>',
'functional_categories' => [
'<string>'
],
'help' => '<string>',
'impact' => '<string>',
'interfile' => true,
'license' => '<string>',
'likelihood' => '<string>',
'masvs' => [
'<string>'
],
'owasp' => [
'<string>'
],
'owaspapi' => '<string>',
'precision' => '<string>',
'references' => [
'<string>'
],
'remediation' => '<string>',
'resources' => [
'<string>'
],
'rule_origin_note' => '<string>',
'security_severity' => '<string>',
'severity' => '<string>',
'short_description' => '<string>',
'source_rule_url' => '<string>',
'source_url_open' => '<string>',
'subcategory' => [
'<string>'
],
'tags' => [
'<string>'
],
'technology' => [
'<string>'
],
'version' => '<string>',
'vulnerability' => '<string>',
'vulnerability_class' => [
'<string>'
]
],
'metavariable_pattern' => [
'language' => '<string>',
'metavariable' => '<string>',
'pattern' => '<string>',
'pattern_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_regex' => '<string>',
'patterns' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
]
],
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'min_version' => '<string>',
'mode' => '<string>',
'options' => [
'constant_propagation' => true,
'generic_ellipsis_max_span' => 123,
'generic_engine' => '<string>',
'implicit_deep_exprstmt' => true,
'interfile' => true,
'symbolic_propagation' => true,
'taint_assume_safe_booleans' => true,
'taint_assume_safe_functions' => true,
'taint_assume_safe_numbers' => true,
'taint_unify_mvars' => true
],
'paths' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
],
'pattern' => '<string>',
'pattern_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_inside' => '<string>',
'pattern_inside_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_not' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_propagators' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_regex' => '<string>',
'pattern_sanitizers' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_sinks' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_sources' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'patterns' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'references' => [
'<string>'
],
'severity' => '<string>'
],
'severity_level' => 'SEVERITY_LEVEL_UNSPECIFIED',
'yaml' => '<string>'
],
'tenant_meta' => [
]
],
'request' => [
'force' => true,
'update_mask' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules"
payload := strings.NewReader("{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules")
.header("Content-Type", "application/json")
.body("{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"name": "<string>",
"annotations": {},
"create_time": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>",
"index_data": {
"data": [
"<string>"
],
"search_score": 123,
"tenant": "<string>",
"will_be_deleted_at": "2023-11-07T05:31:56Z"
},
"kind": "<string>",
"parent_kind": "<string>",
"parent_uuid": "<string>",
"references": {},
"tags": [
"<string>"
],
"update_time": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"upsert_time": "2023-11-07T05:31:56Z",
"version": "<string>"
},
"spec": {
"defined_by": "<string>",
"disabled": true,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": [
"<string>"
],
"id": "<string>",
"languages": [
"<string>"
],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": [
"<string>"
],
"cwe2020_top25": true,
"cwe2021_top25": true,
"cwe2022_top25": true,
"cwe2023_top25": true,
"deprecated": true,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": [
"<string>"
],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": [
"<string>"
],
"endor_targets": [
"ENDOR_TARGET_UNSPECIFIED"
],
"explanation": "<string>",
"functional_categories": [
"<string>"
],
"help": "<string>",
"impact": "<string>",
"interfile": true,
"license": "<string>",
"likelihood": "<string>",
"masvs": [
"<string>"
],
"owasp": [
"<string>"
],
"owaspapi": "<string>",
"precision": "<string>",
"references": [
"<string>"
],
"remediation": "<string>",
"resources": [
"<string>"
],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": [
"<string>"
],
"tags": [
"<string>"
],
"technology": [
"<string>"
],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": [
"<string>"
]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": true,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": true,
"interfile": true,
"symbolic_propagation": true,
"taint_assume_safe_booleans": true,
"taint_assume_safe_functions": true,
"taint_assume_safe_numbers": true,
"taint_unify_mvars": true
},
"paths": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": [
"<string>"
],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"disabled": true,
"propagate": true,
"tenant_meta": {
"namespace": "<string>"
},
"uuid": "<string>"
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}Path Parameters
Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
Body
application/json
Response
A successful response.
Common fields for all Endor Labs resources.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Propagate indicates that the object should be visible in child namespaces.
Tenant related data for the tenant containing the resource.
Show child attributes
Show child attributes
The UUID of the Semgrep rule.
Was this page helpful?
⌘I
UpdateSemgrepRule
curl --request PATCH \
--url https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules \
--header 'Content-Type: application/json' \
--data '
{
"object": {
"disabled": true,
"propagate": true,
"spec": {
"disabled": true,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": [
"<string>"
],
"id": "<string>",
"languages": [
"<string>"
],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": [
"<string>"
],
"cwe2020_top25": true,
"cwe2021_top25": true,
"cwe2022_top25": true,
"cwe2023_top25": true,
"deprecated": true,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": [
"<string>"
],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": [
"<string>"
],
"endor_targets": [
"ENDOR_TARGET_UNSPECIFIED"
],
"explanation": "<string>",
"functional_categories": [
"<string>"
],
"help": "<string>",
"impact": "<string>",
"interfile": true,
"license": "<string>",
"likelihood": "<string>",
"masvs": [
"<string>"
],
"owasp": [
"<string>"
],
"owaspapi": "<string>",
"precision": "<string>",
"references": [
"<string>"
],
"remediation": "<string>",
"resources": [
"<string>"
],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": [
"<string>"
],
"tags": [
"<string>"
],
"technology": [
"<string>"
],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": [
"<string>"
]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": true,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": true,
"interfile": true,
"symbolic_propagation": true,
"taint_assume_safe_booleans": true,
"taint_assume_safe_functions": true,
"taint_assume_safe_numbers": true,
"taint_unify_mvars": true
},
"paths": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": [
"<string>"
],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"tenant_meta": {}
},
"request": {
"force": true,
"update_mask": "<string>"
}
}
'import requests
url = "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules"
payload = {
"object": {
"disabled": True,
"propagate": True,
"spec": {
"disabled": True,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": ["<string>"],
"id": "<string>",
"languages": ["<string>"],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": ["<string>"],
"cwe2020_top25": True,
"cwe2021_top25": True,
"cwe2022_top25": True,
"cwe2023_top25": True,
"deprecated": True,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": ["<string>"],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": ["<string>"],
"endor_targets": ["ENDOR_TARGET_UNSPECIFIED"],
"explanation": "<string>",
"functional_categories": ["<string>"],
"help": "<string>",
"impact": "<string>",
"interfile": True,
"license": "<string>",
"likelihood": "<string>",
"masvs": ["<string>"],
"owasp": ["<string>"],
"owaspapi": "<string>",
"precision": "<string>",
"references": ["<string>"],
"remediation": "<string>",
"resources": ["<string>"],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": ["<string>"],
"tags": ["<string>"],
"technology": ["<string>"],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": ["<string>"]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": True,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": True,
"interfile": True,
"symbolic_propagation": True,
"taint_assume_safe_booleans": True,
"taint_assume_safe_functions": True,
"taint_assume_safe_numbers": True,
"taint_unify_mvars": True
},
"paths": {
"exclude": ["<string>"],
"include": ["<string>"]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": True,
"exact": True,
"focus_metavariable": ["<string>"],
"from": "<string>",
"label": "<string>",
"management": { "endpoints": { "web": { "exposure": {
"exclude": ["<string>"],
"include": ["<string>"]
} } } },
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": True,
"comparison": "<string>",
"metavariable": "<string>",
"strip": True
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": True,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": ["<string>"],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"tenant_meta": {}
},
"request": {
"force": True,
"update_mask": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
object: {
disabled: true,
propagate: true,
spec: {
disabled: true,
rule: {
fix: '<string>',
fix_regex: {count: 123, regex: '<string>', replacement: '<string>'},
focus_metavariable: ['<string>'],
id: '<string>',
languages: ['<string>'],
message: '<string>',
metadata: {
ai_provider: '<string>',
asvs: {
control_id: '<string>',
control_url: '<string>',
section: '<string>',
version: '<string>'
},
author: '<string>',
bandit_code: '<string>',
category: '<string>',
confidence: '<string>',
confidence_level: 'CONFIDENCE_LEVEL_UNSPECIFIED',
cwe: ['<string>'],
cwe2020_top25: true,
cwe2021_top25: true,
cwe2022_top25: true,
cwe2023_top25: true,
deprecated: true,
description: '<string>',
display_name: '<string>',
endor_attack_examples: ['<string>'],
endor_category: '<string>',
endor_rule_origin: {license: '<string>', url: '<string>'},
endor_tags: ['<string>'],
endor_targets: ['ENDOR_TARGET_UNSPECIFIED'],
explanation: '<string>',
functional_categories: ['<string>'],
help: '<string>',
impact: '<string>',
interfile: true,
license: '<string>',
likelihood: '<string>',
masvs: ['<string>'],
owasp: ['<string>'],
owaspapi: '<string>',
precision: '<string>',
references: ['<string>'],
remediation: '<string>',
resources: ['<string>'],
rule_origin_note: '<string>',
security_severity: '<string>',
severity: '<string>',
short_description: '<string>',
source_rule_url: '<string>',
source_url_open: '<string>',
subcategory: ['<string>'],
tags: ['<string>'],
technology: ['<string>'],
version: '<string>',
vulnerability: '<string>',
vulnerability_class: ['<string>']
},
metavariable_pattern: {
language: '<string>',
metavariable: '<string>',
pattern: '<string>',
pattern_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_regex: '<string>',
patterns: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
]
},
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
min_version: '<string>',
mode: '<string>',
options: {
constant_propagation: true,
generic_ellipsis_max_span: 123,
generic_engine: '<string>',
implicit_deep_exprstmt: true,
interfile: true,
symbolic_propagation: true,
taint_assume_safe_booleans: true,
taint_assume_safe_functions: true,
taint_assume_safe_numbers: true,
taint_unify_mvars: true
},
paths: {exclude: ['<string>'], include: ['<string>']},
pattern: '<string>',
pattern_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_inside: '<string>',
pattern_inside_either: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_not: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_propagators: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_regex: '<string>',
pattern_sanitizers: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_sinks: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
pattern_sources: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
patterns: [
{
by_side_effect: true,
exact: true,
focus_metavariable: ['<string>'],
from: '<string>',
label: '<string>',
management: {endpoints: {web: {exposure: {exclude: ['<string>'], include: ['<string>']}}}},
metavariable_analysis: {analyzer: '<string>', metavariable: '<string>'},
metavariable_comparison: {base: true, comparison: '<string>', metavariable: '<string>', strip: true},
metavariable_pattern: '<unknown>',
metavariable_regex: {metavariable: '<string>', regex: '<string>', x: '<string>'},
metavariable_type: {metavariable: '<string>', type: '<string>'},
not_conflicting: true,
pattern: '<string>',
pattern_either_new: '<array>',
pattern_inside: '<string>',
pattern_inside_either: '<array>',
pattern_not: '<string>',
pattern_not_inside: '<string>',
pattern_not_regex: '<string>',
pattern_regex: '<string>',
patterns: '<array>',
requires: '<string>',
to: '<string>'
}
],
references: ['<string>'],
severity: '<string>'
},
severity_level: 'SEVERITY_LEVEL_UNSPECIFIED',
yaml: '<string>'
},
tenant_meta: {}
},
request: {force: true, update_mask: '<string>'}
})
};
fetch('https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'object' => [
'disabled' => true,
'propagate' => true,
'spec' => [
'disabled' => true,
'rule' => [
'fix' => '<string>',
'fix_regex' => [
'count' => 123,
'regex' => '<string>',
'replacement' => '<string>'
],
'focus_metavariable' => [
'<string>'
],
'id' => '<string>',
'languages' => [
'<string>'
],
'message' => '<string>',
'metadata' => [
'ai_provider' => '<string>',
'asvs' => [
'control_id' => '<string>',
'control_url' => '<string>',
'section' => '<string>',
'version' => '<string>'
],
'author' => '<string>',
'bandit_code' => '<string>',
'category' => '<string>',
'confidence' => '<string>',
'confidence_level' => 'CONFIDENCE_LEVEL_UNSPECIFIED',
'cwe' => [
'<string>'
],
'cwe2020_top25' => true,
'cwe2021_top25' => true,
'cwe2022_top25' => true,
'cwe2023_top25' => true,
'deprecated' => true,
'description' => '<string>',
'display_name' => '<string>',
'endor_attack_examples' => [
'<string>'
],
'endor_category' => '<string>',
'endor_rule_origin' => [
'license' => '<string>',
'url' => '<string>'
],
'endor_tags' => [
'<string>'
],
'endor_targets' => [
'ENDOR_TARGET_UNSPECIFIED'
],
'explanation' => '<string>',
'functional_categories' => [
'<string>'
],
'help' => '<string>',
'impact' => '<string>',
'interfile' => true,
'license' => '<string>',
'likelihood' => '<string>',
'masvs' => [
'<string>'
],
'owasp' => [
'<string>'
],
'owaspapi' => '<string>',
'precision' => '<string>',
'references' => [
'<string>'
],
'remediation' => '<string>',
'resources' => [
'<string>'
],
'rule_origin_note' => '<string>',
'security_severity' => '<string>',
'severity' => '<string>',
'short_description' => '<string>',
'source_rule_url' => '<string>',
'source_url_open' => '<string>',
'subcategory' => [
'<string>'
],
'tags' => [
'<string>'
],
'technology' => [
'<string>'
],
'version' => '<string>',
'vulnerability' => '<string>',
'vulnerability_class' => [
'<string>'
]
],
'metavariable_pattern' => [
'language' => '<string>',
'metavariable' => '<string>',
'pattern' => '<string>',
'pattern_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_regex' => '<string>',
'patterns' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
]
],
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'min_version' => '<string>',
'mode' => '<string>',
'options' => [
'constant_propagation' => true,
'generic_ellipsis_max_span' => 123,
'generic_engine' => '<string>',
'implicit_deep_exprstmt' => true,
'interfile' => true,
'symbolic_propagation' => true,
'taint_assume_safe_booleans' => true,
'taint_assume_safe_functions' => true,
'taint_assume_safe_numbers' => true,
'taint_unify_mvars' => true
],
'paths' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
],
'pattern' => '<string>',
'pattern_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_inside' => '<string>',
'pattern_inside_either' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_not' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_propagators' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_regex' => '<string>',
'pattern_sanitizers' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_sinks' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'pattern_sources' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'patterns' => [
[
'by_side_effect' => true,
'exact' => true,
'focus_metavariable' => [
'<string>'
],
'from' => '<string>',
'label' => '<string>',
'management' => [
'endpoints' => [
'web' => [
'exposure' => [
'exclude' => [
'<string>'
],
'include' => [
'<string>'
]
]
]
]
],
'metavariable_analysis' => [
'analyzer' => '<string>',
'metavariable' => '<string>'
],
'metavariable_comparison' => [
'base' => true,
'comparison' => '<string>',
'metavariable' => '<string>',
'strip' => true
],
'metavariable_pattern' => '<unknown>',
'metavariable_regex' => [
'metavariable' => '<string>',
'regex' => '<string>',
'x' => '<string>'
],
'metavariable_type' => [
'metavariable' => '<string>',
'type' => '<string>'
],
'not_conflicting' => true,
'pattern' => '<string>',
'pattern_either_new' => '<array>',
'pattern_inside' => '<string>',
'pattern_inside_either' => '<array>',
'pattern_not' => '<string>',
'pattern_not_inside' => '<string>',
'pattern_not_regex' => '<string>',
'pattern_regex' => '<string>',
'patterns' => '<array>',
'requires' => '<string>',
'to' => '<string>'
]
],
'references' => [
'<string>'
],
'severity' => '<string>'
],
'severity_level' => 'SEVERITY_LEVEL_UNSPECIFIED',
'yaml' => '<string>'
],
'tenant_meta' => [
]
],
'request' => [
'force' => true,
'update_mask' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules"
payload := strings.NewReader("{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules")
.header("Content-Type", "application/json")
.body("{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"object\": {\n \"disabled\": true,\n \"propagate\": true,\n \"spec\": {\n \"disabled\": true,\n \"rule\": {\n \"fix\": \"<string>\",\n \"fix_regex\": {\n \"count\": 123,\n \"regex\": \"<string>\",\n \"replacement\": \"<string>\"\n },\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"languages\": [\n \"<string>\"\n ],\n \"message\": \"<string>\",\n \"metadata\": {\n \"ai_provider\": \"<string>\",\n \"asvs\": {\n \"control_id\": \"<string>\",\n \"control_url\": \"<string>\",\n \"section\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"author\": \"<string>\",\n \"bandit_code\": \"<string>\",\n \"category\": \"<string>\",\n \"confidence\": \"<string>\",\n \"confidence_level\": \"CONFIDENCE_LEVEL_UNSPECIFIED\",\n \"cwe\": [\n \"<string>\"\n ],\n \"cwe2020_top25\": true,\n \"cwe2021_top25\": true,\n \"cwe2022_top25\": true,\n \"cwe2023_top25\": true,\n \"deprecated\": true,\n \"description\": \"<string>\",\n \"display_name\": \"<string>\",\n \"endor_attack_examples\": [\n \"<string>\"\n ],\n \"endor_category\": \"<string>\",\n \"endor_rule_origin\": {\n \"license\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"endor_tags\": [\n \"<string>\"\n ],\n \"endor_targets\": [\n \"ENDOR_TARGET_UNSPECIFIED\"\n ],\n \"explanation\": \"<string>\",\n \"functional_categories\": [\n \"<string>\"\n ],\n \"help\": \"<string>\",\n \"impact\": \"<string>\",\n \"interfile\": true,\n \"license\": \"<string>\",\n \"likelihood\": \"<string>\",\n \"masvs\": [\n \"<string>\"\n ],\n \"owasp\": [\n \"<string>\"\n ],\n \"owaspapi\": \"<string>\",\n \"precision\": \"<string>\",\n \"references\": [\n \"<string>\"\n ],\n \"remediation\": \"<string>\",\n \"resources\": [\n \"<string>\"\n ],\n \"rule_origin_note\": \"<string>\",\n \"security_severity\": \"<string>\",\n \"severity\": \"<string>\",\n \"short_description\": \"<string>\",\n \"source_rule_url\": \"<string>\",\n \"source_url_open\": \"<string>\",\n \"subcategory\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"technology\": [\n \"<string>\"\n ],\n \"version\": \"<string>\",\n \"vulnerability\": \"<string>\",\n \"vulnerability_class\": [\n \"<string>\"\n ]\n },\n \"metavariable_pattern\": {\n \"language\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ]\n },\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"min_version\": \"<string>\",\n \"mode\": \"<string>\",\n \"options\": {\n \"constant_propagation\": true,\n \"generic_ellipsis_max_span\": 123,\n \"generic_engine\": \"<string>\",\n \"implicit_deep_exprstmt\": true,\n \"interfile\": true,\n \"symbolic_propagation\": true,\n \"taint_assume_safe_booleans\": true,\n \"taint_assume_safe_functions\": true,\n \"taint_assume_safe_numbers\": true,\n \"taint_unify_mvars\": true\n },\n \"paths\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n },\n \"pattern\": \"<string>\",\n \"pattern_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_not\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_propagators\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_regex\": \"<string>\",\n \"pattern_sanitizers\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sinks\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"pattern_sources\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"patterns\": [\n {\n \"by_side_effect\": true,\n \"exact\": true,\n \"focus_metavariable\": [\n \"<string>\"\n ],\n \"from\": \"<string>\",\n \"label\": \"<string>\",\n \"management\": {\n \"endpoints\": {\n \"web\": {\n \"exposure\": {\n \"exclude\": [\n \"<string>\"\n ],\n \"include\": [\n \"<string>\"\n ]\n }\n }\n }\n },\n \"metavariable_analysis\": {\n \"analyzer\": \"<string>\",\n \"metavariable\": \"<string>\"\n },\n \"metavariable_comparison\": {\n \"base\": true,\n \"comparison\": \"<string>\",\n \"metavariable\": \"<string>\",\n \"strip\": true\n },\n \"metavariable_pattern\": \"<unknown>\",\n \"metavariable_regex\": {\n \"metavariable\": \"<string>\",\n \"regex\": \"<string>\",\n \"x\": \"<string>\"\n },\n \"metavariable_type\": {\n \"metavariable\": \"<string>\",\n \"type\": \"<string>\"\n },\n \"not_conflicting\": true,\n \"pattern\": \"<string>\",\n \"pattern_either_new\": \"<array>\",\n \"pattern_inside\": \"<string>\",\n \"pattern_inside_either\": \"<array>\",\n \"pattern_not\": \"<string>\",\n \"pattern_not_inside\": \"<string>\",\n \"pattern_not_regex\": \"<string>\",\n \"pattern_regex\": \"<string>\",\n \"patterns\": \"<array>\",\n \"requires\": \"<string>\",\n \"to\": \"<string>\"\n }\n ],\n \"references\": [\n \"<string>\"\n ],\n \"severity\": \"<string>\"\n },\n \"severity_level\": \"SEVERITY_LEVEL_UNSPECIFIED\",\n \"yaml\": \"<string>\"\n },\n \"tenant_meta\": {}\n },\n \"request\": {\n \"force\": true,\n \"update_mask\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"name": "<string>",
"annotations": {},
"create_time": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>",
"index_data": {
"data": [
"<string>"
],
"search_score": 123,
"tenant": "<string>",
"will_be_deleted_at": "2023-11-07T05:31:56Z"
},
"kind": "<string>",
"parent_kind": "<string>",
"parent_uuid": "<string>",
"references": {},
"tags": [
"<string>"
],
"update_time": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"upsert_time": "2023-11-07T05:31:56Z",
"version": "<string>"
},
"spec": {
"defined_by": "<string>",
"disabled": true,
"rule": {
"fix": "<string>",
"fix_regex": {
"count": 123,
"regex": "<string>",
"replacement": "<string>"
},
"focus_metavariable": [
"<string>"
],
"id": "<string>",
"languages": [
"<string>"
],
"message": "<string>",
"metadata": {
"ai_provider": "<string>",
"asvs": {
"control_id": "<string>",
"control_url": "<string>",
"section": "<string>",
"version": "<string>"
},
"author": "<string>",
"bandit_code": "<string>",
"category": "<string>",
"confidence": "<string>",
"confidence_level": "CONFIDENCE_LEVEL_UNSPECIFIED",
"cwe": [
"<string>"
],
"cwe2020_top25": true,
"cwe2021_top25": true,
"cwe2022_top25": true,
"cwe2023_top25": true,
"deprecated": true,
"description": "<string>",
"display_name": "<string>",
"endor_attack_examples": [
"<string>"
],
"endor_category": "<string>",
"endor_rule_origin": {
"license": "<string>",
"url": "<string>"
},
"endor_tags": [
"<string>"
],
"endor_targets": [
"ENDOR_TARGET_UNSPECIFIED"
],
"explanation": "<string>",
"functional_categories": [
"<string>"
],
"help": "<string>",
"impact": "<string>",
"interfile": true,
"license": "<string>",
"likelihood": "<string>",
"masvs": [
"<string>"
],
"owasp": [
"<string>"
],
"owaspapi": "<string>",
"precision": "<string>",
"references": [
"<string>"
],
"remediation": "<string>",
"resources": [
"<string>"
],
"rule_origin_note": "<string>",
"security_severity": "<string>",
"severity": "<string>",
"short_description": "<string>",
"source_rule_url": "<string>",
"source_url_open": "<string>",
"subcategory": [
"<string>"
],
"tags": [
"<string>"
],
"technology": [
"<string>"
],
"version": "<string>",
"vulnerability": "<string>",
"vulnerability_class": [
"<string>"
]
},
"metavariable_pattern": {
"language": "<string>",
"metavariable": "<string>",
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
]
},
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"min_version": "<string>",
"mode": "<string>",
"options": {
"constant_propagation": true,
"generic_ellipsis_max_span": 123,
"generic_engine": "<string>",
"implicit_deep_exprstmt": true,
"interfile": true,
"symbolic_propagation": true,
"taint_assume_safe_booleans": true,
"taint_assume_safe_functions": true,
"taint_assume_safe_numbers": true,
"taint_unify_mvars": true
},
"paths": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
},
"pattern": "<string>",
"pattern_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_inside": "<string>",
"pattern_inside_either": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_not": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_propagators": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_regex": "<string>",
"pattern_sanitizers": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sinks": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"pattern_sources": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"patterns": [
{
"by_side_effect": true,
"exact": true,
"focus_metavariable": [
"<string>"
],
"from": "<string>",
"label": "<string>",
"management": {
"endpoints": {
"web": {
"exposure": {
"exclude": [
"<string>"
],
"include": [
"<string>"
]
}
}
}
},
"metavariable_analysis": {
"analyzer": "<string>",
"metavariable": "<string>"
},
"metavariable_comparison": {
"base": true,
"comparison": "<string>",
"metavariable": "<string>",
"strip": true
},
"metavariable_pattern": "<unknown>",
"metavariable_regex": {
"metavariable": "<string>",
"regex": "<string>",
"x": "<string>"
},
"metavariable_type": {
"metavariable": "<string>",
"type": "<string>"
},
"not_conflicting": true,
"pattern": "<string>",
"pattern_either_new": "<array>",
"pattern_inside": "<string>",
"pattern_inside_either": "<array>",
"pattern_not": "<string>",
"pattern_not_inside": "<string>",
"pattern_not_regex": "<string>",
"pattern_regex": "<string>",
"patterns": "<array>",
"requires": "<string>",
"to": "<string>"
}
],
"references": [
"<string>"
],
"severity": "<string>"
},
"severity_level": "SEVERITY_LEVEL_UNSPECIFIED",
"yaml": "<string>"
},
"disabled": true,
"propagate": true,
"tenant_meta": {
"namespace": "<string>"
},
"uuid": "<string>"
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}