用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/CyberStrikeus/CyberStrike --skill cis-oke-v180-4-1-4命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | cis-oke-v180-4.1.4 |
| description | Minimize access to create pods (Manual) |
| category | cis-oke |
| version | 1.8.0 |
| author | cyberstrike-official |
| tags | ["cis","oke","kubernetes","oci","policies","rbac","service-accounts"] |
| cis_id | 4.1.4 |
| cis_benchmark | CIS Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) Benchmark v1.8.0 |
| tech_stack | ["kubernetes","oci","oke"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
The ability to create pods in a namespace can provide a number of opportunities for privilege escalation, such as assigning privileged service accounts to these pods or mounting hostPaths with access to sensitive data (unless Pod Security Policies are implemented to restrict this access).
As such, access to create new pods should be restricted to the smallest possible group of users.
The ability to create pods in a cluster opens up possibilities for privilege escalation and should be restricted, where possible.
Care should be taken not to remove access to pods to system components which require this for their operation.
OKE is a standard Kubernetes cluster under the hood, so we can use kubectl auth can-i together with rolebinding lookups to get this info.
Run the following command to list all the users and service accounts that have access to create pod objects in the Kubernetes API:
echo "=== Users ==="
for user in $(kubectl get clusterrolebinding -o jsonpath='{range .items[*].subjects[?(@.kind=="User")]}{.name}{"\n"}{end}'); do
if kubectl auth can-i create pods --as="$user" >/dev/null 2>&1; then
echo "$user"
fi
done
echo -e "\n=== Service Accounts ==="
for sa in $(kubectl get clusterrolebinding,rolebinding -A -o jsonpath='{range .items[*].subjects[?(@.kind=="ServiceAccount")]}{.namespace}:{.name}{"\n"}{end}'); do
ns=$(echo "$sa" | cut -d: -f1)
name=$(echo "$sa" | cut -d: -f2)
kubectl auth can-i create pods --as=system:serviceaccount:: >/dev/null 2>&1;
Where possible, remove create access to pod objects in the cluster.
By default, the following list of principals have create privileges on pod objects:
| CLUSTERROLEBINDING | SUBJECT | TYPE |
|---|---|---|
| cluster-admin | system:masters | Group |
| system:controller:daemon-set-controller | daemon-set-controller ServiceAccount kube-system | |
| system:controller:job-controller | job-controller ServiceAccount kube-system | |
| system:controller:persistent-volume-binder | persistent-volume-binder ServiceAccount kube-system | |
| system:controller:replicaset-controller | replicaset-controller ServiceAccount kube-system | |
| system:controller:replication-controller | replication-controller ServiceAccount kube-system | |
| system:controller:statefulset-controller | statefulset-controller ServiceAccount kube-system |
N/A
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|---|---|---|---|
| v8 | 6.8 Define and Maintain Role-Based Access Control | x | ||
| v7 | 5.1 Establish Secure Configurations | x | x | x |
| Techniques / Sub-techniques | Tactics | Mitigations |
|---|---|---|
| T1078, T1078.002 | TA0001, TA0004 | M1026 |