Kuvandudzwa kweSoftware nehurongwa, zvaimboonekwa sezviyedzo zvaida hunyanzvi hwakadzama, zvino zvinogona kuitwa nemunhu wese anoshandisa mutauro wechisikigo. Chinhu chaigara chichitora mazuva kana mwedzi kugadzira ikozvino kugadzirwa mumaminitsi kana maawa nekuda kwekodhi kubva kuAI modhi. Semuyenzaniso, OpenAI Codex neGoogle BERT vanodzidziswa pahurongwa hwewebhu blogs, Stack mafashama mibvunzo, nezvimwe.
Aya mamodheru akangwara anogadzira kodhi kuburikidza nemasvomhu zvingangoitika ivo vachizivikanwawo nekunyengedza uye kupa ruzivo rwenhema. Tsvagiridzo yakaitwa nevedzidzo inoti AI kodhi yekugadzira ndiyo inotungamira yekusagadzikana gumi uye ingangoita 40% yekodhi ine kuchengetedza tsikidzi . Vazhinji vevatambi vanotungamira, pamwe nevatsva veSaaS vanopa vari kusimudzira AI yekuita kuti zvipo zvavo zvive zvakangwara. SaaS programmers zvakare, inofanirwa kuve neruzivo rwakanyanya nezveAI-yakavakirwa SaaS zvishandiso.
Kutevera zvirongwa zvehurongwa uye kodhi yemhando inoraira kuchengetedzwa kwesoftware. Asi, maAI modhi anodzidziswa pane yega yega yeruzivo inowanikwa painternet. Iyo kodhi yemhando, kuvimbika, chengetedzo, uye nezvimwe zvinogona kusiyana kubva kune izvo zvinogadzirwa nevanhu vanogadzira. Muenzaniso wakadzidziswa pamienzaniso yekuvandudza webhu inogona kunge iine maitiro asina kunaka ekusimbisa data, semuenzaniso. Uku kushaikwa kwekusimbisa kunogona kutungamirira kune nyaya dzekuchengetedza kana modhi ichigadzira kodhi inotora maitiro asina kunaka akafanana.
Hazvina mhosva nehukuru (miriyoni kana bhiriyoni yemaparamendi) iwo modhi anozivikanwa kufembera uye kuita fungidziro isiriyo. Kana mugadziri wemazuva ese achiona kodhi inogadzirwa neAI, ivo vanozopotsa zvakapusa asi zvakakomba kusadzivirirwa. Nekudaro, kune mugadziri ane ruzivo rwakakwana rwekugadzira uye budiriro mapatani, zvikanganiso ndeye wongororo kure nekuonekwa. Vagadziri vanogona kukwidziridza mapatani aya kuti vaone kusasimba uye kuenderana neSaaS chengetedzo yakanakisa maitiro .
Mafuremu emazuva ano uye maraibhurari anovimba zvakanyanya neinterface/enum yekufungidzira uye kusimbiswa. Izvi zvinovimbisa kuti kodhi inoita basa rayo nemazvo uye inoisa chengetedzo. AI-yakagadzirwa kodhi haigone kutadza kunze kwekunge isu taitungamira. Kunyangwe mushure mekugadzira kukurumidza kukurumidza, mhando yekusawirirana uye yekusimbisa yekusimbisa inogona kusaenderana nekesi yekushandisa. Kuti uwane uye ugadzirise kusawirirana kwekodhi, vanogadzira vanofanirwa kunyatsoziva iyo domain uye bhizinesi zvinodiwa.
def reciprocal(user_input): # Insecure implementation with no type inference or validation result = 100 / user_input return result
Zvirongwa zvinogovana zvinhu muPublic/Private/Protected ways. Yepamusoro kurongeka mabasa uye makirasi nhaka chinhu mamiriro kuburikidza kuwana ruzhinji / akadzivirirwa variables zvakananga kuita computations. Kana chimwe chinhu chikaitwa zvisizvo mukuita kana kuuraya, chengetedzo kana mabhodhoro ekuita anogona kuitika nyore. Vagadziri veSaaS vanofanirwa kuita yavo mamiriro uye mamiriro ekutonga logic nenzira kwayo uye kuiongorora kuti ishandiswe nemazvo uye zvakachengeteka.
class InsecureClass: def __init__(self, owner, balance, password): self.owner = owner # Public attribute self._balance = balance # Protected attribute self.__password = password # Private attribute # Public def def get_balance(self): return self._balance # Protected def def _update_balance(self, amount): self._balance += amount # Private def def __validate_password(self, input_password): return self.__password == input_password # Insecure def exposing private data def insecure_password_exposure(self): return self.__password
Masevhisi anogovana uye anogashira ruzivo pane network. Mazuva ano, kubatana kwakachengeteka uye kubata kwedata kwave kwakakosha mukubudirira kwemafu-based system. Paunenge uchiverenga, kugadzirisa, uye kugovera data rakadzama pamasangano kuburikidza nekugoverwa kwedata network, maprotocol akasimba uye nzira dzekuchengetedza dzinofanirwa kunge dziripo kudzivirira kubatwa kwedata . Uchishandisa AI, iyo SaaS yekuvandudza inofanirwa kuita yega yega chikamu chekuvaka mune yakazara-yakazara maapplication.
#Insecure Data Sharing @app.route("/user/<int:user_id>", methods=["GET"]) def get_user(user_id): user = users.get(user_id) if user: return jsonify(user) # All user data exposed, including secrets # Insecure Data Handling @app.route("/update_email", methods=["POST"]) def update_email(): data = request.json() user_id = data.get("user_id") new_email = data.get("new_email") if user_id in users: users[user_id]["email"] = new_email # No validation of new_email return jsonify({"message": "Email updated successfully"})
Munyika yanhasi inoona nezve cyber, yakasimba
# Insecure authentication @app.route("/login", methods=["POST"]) def login(): data = request.json() email = data.get("email") password = data.get("password") for user_id, user in users.items(): if user["email"] == email and user["password"] == password: return jsonify({"message": "Login successful", "user_id": user_id})
AI programming iri kutungamirwa nemaraibhurari uye masisitimu akagadzirwa nenharaunda uye yakavhurika-sosi. Vanhu vanotsigira tekinoroji nyowani nekushandisa aya maturusi anovimbisa uye kugadzira matsva. Iyo data iyo mamodheru akadzidziswa pairi haina kuenderana uye maitiro emuenzaniso akaomeswa nechando, uye ndizvo zvakaitawo ruzivo rwavo. Nekuvandudzwa kwetekinoroji, akawanda maficha achave asingachashandi uye mamwe maraibhurari haazove akakodzera kune zvazvino. A SaaS developer anopiwa basa rekuongorora uye kushandiswa kweakavimbika akavimbika kuti ave nechokwadi chekushanda nekuchengeteka.
import md5 # Outdated library def insecure_hash_password(password): # Insecure password hashing done using the deprecated MD5 algorithm. return md5.new(password).hexdigest()
Hunyanzvi hwepamusoro hwekukodha hweMienzaniso yeMitauro Yakakura imhaka yekuverengera kwavo kwemasvomhu kwakakura. Hapana hunyanzvi hunyanzvi hunodiwa kuita kuti ienderane nechengetedzo uye zvirongwa zvehurongwa. Tinogona kushandisa aya macheki akareruka kuita AI-yakagadzirwa kodhi chengetedzo uye inoenderana nezviyero:
Hazvina mhosva kuti tinoongorora nekunyatsoongorora sei kodhi, mikana yekukanganisa kwevanhu inogara iripo. Kuvimba chete nekuongororwa kwemaoko hakuna kukwana sezvo isu tichida kuve neakafanotsanangurwa cheki anogona kuyedza uye kusimbisa iyo kodhi painongopinda mushanduro control system. Ndeipi cheki iri nani pane kuwedzera Github chiito chinomhanya chengetedzo uye cheki cheki kana PR yasimudzwa.
name: Simple Security Checks for AI generated Code on: push: branches: - main pull_request: branches: - main jobs: security-and-quality-check: runs-on: ubuntu-latest Steps: - name: Repository checkout uses: actions/checkout@v3 - name: Python setup uses: actions/setup-python@v4 with: python-version: ">=3.9" - name: Dependency installation run: | python -m pip install --upgrade pip pip install bandit pytest - name: Identifying insecure libraries and patterns run: | echo "Checking for insecure patterns..." if grep -r "md5.new(" .; then echo "ERROR: Insecure MD5 hashing detected. Use hashlib.sha256 or bcrypt instead." exit 1 fi echo "No insecure patterns detected." - name: Scanning for security vulnerabilities run: | echo "Running Bandit security scanner..." bandit -r . - name: Running unit tests run: | echo "Running unit tests..." pytest test/unit --cmodopt=local - name: Notifying on failure if: failure() run: | send_slack_notification(“Unsafe code merge detected, fix immediately”)
Mhando dzemitauro mikuru maturusi anobatsira evagadziri veSaaS kuti vagadzire kodhi uye ruzivo nemasikirwo ekurudziro. Nekudaro, ivo vanoisa njodzi dzekuchengetedza uye dzimwe nguva vanounza isiri-inoita kodhi isingaenderane nezvido zvebhizinesi. Vagadziri veSaaS vanofanirwa kungwarira zvakanyanya kana vachishandisa maturusi aya uye nekushandisa AI-yakagadzirwa kodhi yemakesi ekushandisa chaiwo. Iri gwara rinoshanda rinotarisa pazvinhu zvinomuka uye zvinopesvedzera kuchengetedzwa kwemaitiro apo ichiratidza nzira yekukunda matambudziko aya.