SLSA ਤੋਂ ਪਰੇ: 9-ਸਟੈਪ ਯੋਜਨਾ ਨਾਲ CI/CD Worms ਨੂੰ ਰੋਕੋ

ਤੁਹਾਡੀ ਸੌਫਟਵੇਅਰ ਸੁਰੱਖਿਆ ਦੀ ਸੀਮਾ ਟੁੱਟ ਗਈ ਹੈ।

ਪੁਰਾਣੇ ਤਰੀਕੇ ਕੰਟੇਨਰਾਂ (containers) ਨੂੰ ਸਕੈਨ ਕਰਨ ਅਤੇ ਮਾੜੇ ਪੈਕੇਜਾਂ ਨੂੰ ਰੋਕਣ 'ਤੇ ਕੇਂਦਰਿਤ ਸਨ। ਇਹ ਹੁਣ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। 2025 ਅਤੇ 2026 ਦੇ ਵਿਚਕਾਰ, ਇੱਕ ਨਵਾਂ ਖ਼ਤਰਾ ਉੱਭਰਿਆ ਹੈ। ਹੁਣ ਹਮਲਾਵਰ ਅਜਿਹੇ ਆਟੋਨੋਮਸ (autonomous) ਵਰਮਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਜੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਡਿਵੈਲਪਰ ਟੂਲਜ਼ ਅਤੇ CI/CD ਪਾਈਪਲਾਈਨਾਂ ਨੂੰ ਸੰਕਰਮਿਤ ਕਰਦੇ ਹਨ।

SLSA Level 3 ਵਰਗੇ ਮਿਆਰੀ ਟੂਲ ਇਹਨਾਂ ਖ਼ਤਰਿਆਂ ਪ੍ਰਤੀ ਅੰਨ੍ਹੇ ਹਨ। ਇੱਕ ਵਰਮ ਤੁਹਾਡੇ ਕੰਟੇਨਰ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਜ਼ (credentials) ਚੋਰੀ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਤੁਹਾਡੇ ਕੈਸ਼ (cache) ਨੂੰ ਜ਼ਹਿਰੀਲਾ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਹਾਡੀ ਅੰਤਿਮ ਸੁਰੱਖਿਆ ਰਿਪੋਰਟ ਸੰਪੂਰਨ ਦਿਖਾਈ ਦੇ ਸਕਦੀ ਹੈ, ਭਾਵੇਂ ਇਸ ਵਿੱਚ ਮਾਲੀਸ਼ੀਅਸ (malicious) ਕੋਡ ਹੋਵੇ।

ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, IX Hexbreaker Aegis ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਤੁਹਾਡੇ ਲੋਕਲ ਐਨਵਾਇਰਨਮੈਂਟ ਅਤੇ AI agents ਦੀ ਰੱਖਿਆ ਲਈ 9-ਸਟੈਪ ਰੱਖਿਆ ਪ੍ਰਣਾਲੀ ਹੈ।

ਰੱਖਿਆ ਦੇ 9 ਕਦਮ:

  • AI Agent Sandboxing: AI ਸਹਾਇਕਾਂ ਨੂੰ ਅਲੱਗ ਕੀਤੇ ਹੋਏ Docker ਕੰਟੇਨਰਾਂ ਦੇ ਅੰਦਰ ਚਲਾਓ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਹੋਸਟ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਜ਼ ਚੋਰੀ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ।
  • Workspace Parsing: ਉਹਨਾਂ ਨੂੰ ਲੋਡ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮਾਲੀਸ਼ੀਅਸ ਨਿਰਦੇਸ਼ਾਂ ਲਈ ਲੁਕੀਆਂ ਹੋਈਆਂ ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲਾਂ ਨੂੰ ਸਕੈਨ ਕਰੋ।
  • Ephemeral Environments: ਆਪਣੀ ਲੋਕਲ ਮਸ਼ੀਨ ਨੂੰ ਅਲੱਗ ਰੱਖਣ ਲਈ GitHub Codespaces ਵਰਗੇ ਰਿਮੋਟ ਡਿਵ ਕੰਟੇਨਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • OIDC Scope Minimization: ਆਪਣੇ ਪਾਈਪਲਾਈਨ ਟੋਕਨਾਂ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਇਜਾਜ਼ਤਾਂ (permissions) ਅਤੇ ਘੱਟ ਸਮੇਂ ਦੀ ਮਿਆਦ ਦਿਓ।
  • Immutable Caching: ਪੁੱਲ ਰਿਕੁਐਸਟਾਂ (pull requests) ਦੁਆਰਾ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਕੈਸ਼ ਨੂੰ ਅਧਿਕਾਰਤ ਰਿਲੀਜ਼ਾਂ ਦੁਆਰਾ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਕੈਸ਼ ਤੋਂ ਵੱਖ ਕਰੋ।
  • Hardware-Backed Commits: YubiKeys ਵਰਗੀਆਂ FIDO2 ਸੁਰੱਖਿਆ ਚਾਬੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇੱਕ ਵਰਮ ਕਮਿਟ (commit) 'ਤੇ ਦਸਤਖਤ ਕਰਨ ਲਈ ਸਰੀਰਕ ਤੌਰ 'ਤੇ ਚਾਬੀ ਨੂੰ ਨਹੀਂ ਛੂਹ ਸਕਦਾ।
  • Build-Time Observability: ਬਿਲਡ ਦੌਰਾਨ ਅਜੀਬ ਪ੍ਰਕਿਰਿਆਵਾਂ (processes) 'ਤੇ ਨਜ਼ਰ ਰੱਖਣ ਲਈ eBPF ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • Egress Filtering: ਭਰੋਸੇਯੋਗ ਸਾਈਟਾਂ ਨੂੰ ਛੱਡ ਕੇ, ਆਪਣੇ CI/CD ਰਨਰਾਂ ਤੋਂ ਸਾਰੇ ਬਾਹਰੀ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਨੂੰ ਰੋਕੋ।
  • Zero-Trust AI Prompts: ਤੁਹਾਡੇ AI ਕੋਡਿੰਗ ਟੂਲ ਕੀ ਕਰ ਸਕਦੇ ਹਨ, ਇਸ ਨੂੰ ਸੀਮਤ ਕਰੋ। ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੀ ਮਨਜ਼ੂਰੀ ਤੋਂ ਬਿਨਾਂ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਾਂ (shell scripts) ਚਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ।

ਇਸ ਨੂੰ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈ:

ਪੜਾਅ 1: ਇਜਾਜ਼ਤਾਂ (permissions) ਅਤੇ ਕੈਸ਼ਿੰਗ ਨੂੰ ਠੀਕ ਕਰੋ। OIDC ਪਹੁੰਚ ਨੂੰ ਸੀਮਤ ਕਰੋ ਅਤੇ ਆਪਣੀਆਂ ਕੈਸ਼ ਕੀਜ਼ (cache keys) ਨੂੰ ਅਲੱਗ ਕਰੋ।

ਪੜਾਅ 2: ਪਾਈਪਲਾਈਨ ਨੂੰ ਮਜ਼ਬੂਤ (harden) ਕਰੋ। ਨੈੱਟਵਰਕ ਫਿਲਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਆਪਣੇ ਐਕਸ਼ਨ ਵਰਜ਼ਨਾਂ ਨੂੰ ਖਾਸ ਕਮਿਟ ID ਨਾਲ ਪਿੰਨ ਕਰੋ।

ਪੜਾਅ 3: ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਲੱਗ ਕਰਨਾ (Total isolation)। ਸਾਰੀ ਡਿਵੈਲਪਮੈਂਟ ਨੂੰ ਕੰਟੇਨਰਾਂ ਵਿੱਚ ਲਿਜਾਓ ਅਤੇ ਸਾਰੇ ਕਮਿਟਸ ਲਈ ਹਾਰਡਵੇਅਰ ਸੁਰੱਖਿਆ ਚਾਬੀਆਂ ਲਾਜ਼ਮੀ ਕਰੋ।

ਸਪਲਾਈ ਚੇਨ ਸੁਰੱਖਿਆ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਚੈੱਕਬਾਕਸ ਵਜੋਂ ਲੈਣਾ ਅਸਫਲਤਾ ਵੱਲ ਲੈ ਜਾਵੇਗਾ। ਤੁਹਾਨੂੰ ਉਸ ਵਾਤਾਵਰਣ ਦੀ ਰੱਖਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜਿੱਥੇ ਕੋਡ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ।

Source: https://dev.to/docker/beyond-slsa-how-to-stop-zero-click-cicd-worms-with-a-9-step-plan-1l36

Optional learning community: https://t.me/GyaanSetuAi