O a ni Fa'aletonu i le Fa'atulagaga o le Fa'asologa o Fa'asologa?
E tutupu ni fa'aletonu i le fa'atulagaina o laina pe a tu'uina atu le fa'aulufalega e le'i fa'amaoniaina o le tagata fa'aoga Python i totonu o galuega fa'atulagaina e pei o lolomif, System.out.lolomif, po'o auala fa'amaumau ma fa'amaumauga a Python. O nei galuega e fa'amatalaina ai fa'amatalaga fa'atulagaina (e pei o %s, %x, ma isi) i totonu o le manoa. Afai o loʻo i lalo o le pulega a le tagata faʻaoga le manoa, e mafai ona oʻo atu ai i ni faʻalavelave poʻo ni faʻafitauli tau saogalemu.
A tatou fai atu la lolomif(fa'aulufalega_a le tagata fa'aoga), matou te lapataʻia e aua le tuʻuina atu i tagata faʻaoga Python e le faʻatuatuaina le pule i luga o faila faʻatulagaina malolosi.
Fa'atulagaga o le Lalolagi Moni: printf(user_input) i totonu o se Python App
Na fa'aopoopoina e se tagata atia'e se fa'amatalaga debug e foliga mai e le afaina e fa'aaoga ai lolomif(fa'aulufalega_a le tagata fa'aoga) i totonu o se tusitusiga Python. O lena commit ua pasia le iloiloga o tulafono ma ua pikiina e le CI pipeline. I le taimi o le fa'atinoina, na fetaia'i ai le formatter ma le input a le tagata fa'aoga Python ma ni tokens e le'i mafaufauina, ma mafua ai ona fa'aleagaina le output ma le le manuia o le build.
Fa'amaumauga CI (vaega):
TypeError: fa'atulagaga e fa'amoemoeina ... maua ... Leai se fa'amatalaga leaga, na'o se manatu sese i le fa'atulagaina. Talu ai ona fa'amatalaina e le printf le fausaga, o le pipeline ua pa'ū i lalo i le mea na foliga mai o se fa'amatalaga masani.
O Le Mailei i le Va'aiga Masani: Aisea e Tupu Pea ai le printf(user_input) i le 2025
E ui lava i vaivaiga o le faatulagaga o laina e toe foʻi i tua i le C, ae o loʻo avea pea ma faʻafitauli i aso nei. O le vave o le atinaʻeina e masani ona aofia ai le kopiina o ni vaega mai le Stack Overflow poʻo meafaigaluega i totonu. O se laina e pei o lolomif(fa'aofi a le tagata fa'aoga) or lolomi(f”{user_input}”) e foliga mai e le afaina, ae e leai.
E oʻo lava i le taimi nei CVEs fa'aali mai ni taunuuga moni o le lalolagi. Ave CVE-2023-21930 o se faʻataʻitaʻiga: o se vaivaiga o le format string i se faʻatinoga Java printf e faʻaaogaina lautele na mafai ai e tagata osofaʻi ona faʻaleagaina polokalama poʻo le faitauina o manatuaga maaleale. Pe CVE-2023-36052, e aʻafia ai se faiga o faʻamaumauga lea e mafua ai ona faʻaleagaina le faʻamaumauga e faʻatonutonuina e le tagata faʻaoga.
E lē o ni fa'afitauli tu'usa'o nei; e a'afia ai faletusi ma faiga fa'aonaponei o lo'o tausia lelei. O foliga fa'aonaponei o gagana e pei o le f-strings ma le template literals e fa'afaigofie ai le fa'atulagaina ae fa'apea fo'i ona natia ai le faigata. A fa'aaogaina ma le fa'aeteete, e mafai ona fa'aletonu ai auaunaga pe fa'aalia ai le mafaufau.
E lē gata ina iai nei mea sese i polokalama tuai. Ua tatou vaaia foʻi i tusitusiga CI tatala, init logs, ma e oʻo lava i meafaigaluega saogalemu ua fausia i faʻaputuga faʻaonaponei e pei o le Python, Java printf, ma le Node.js.
Lalo pito i lalo: lolomif(fa'aulufalega_a le tagata fa'aoga) e lē gata o se sitaili leaga, ae o se tulaga lamatia moni fo'i.
Anatomy o le Vaivaiga: O le a le Faia e le printf(user_input)
I foliga tau, lolomif(fa'aulufalega_a le tagata fa'aoga) na'o le lolomiina o se manoa. Ae i lalo ifo o le pulou, e fa'auigaina o se fa'asologa o fa'atonuga.
I le Python, Java, ma le Node.js, e tutusa lava le mamanu: o galuega faatino e fa'avasega ai mea e ulufale mai mo fa'ailoga e pei o %s, %x, po o {}Afai e sau le fa'asologa o fa'amatalaga mai le tagata fa'aoga ma e le'i fa'amaoniaina, o na fa'ailoga e pei o ni fa'atonuga. E mafai ona o'o atu ai i ni fa'alavelave, fa'aleagaina o fa'amaumauga, po'o ni fa'afitauli tau saogalemu.
E sili atu le leaga, o le tele o faletusi ma afifi e fa'apu'upu'uina le la'asaga o le fa'atulagaina, o lea e mafai ai ona natia loloto le vaivaiga i totonu o galuega fa'aoga po'o meafaigaluega e fa'amaumau ai. Atonu e te manatu o lo'o e fa'amaumau tusitusiga, ae o fa'ailoga e le fa'atuatuaina mai le fa'aofiina e le tagata fa'aoga Python po'o le Java printf e mafai ona fa'aleagaina filemu lau talosaga.
Le aveina: O galuega fa'atulagaina e lē gata i le fa'atinoina o galuega; ae latou te fa'amatalaina fo'i le fausaga. Afai e te tu'uina atu i le tagata fa'aoga le fa'amatalaga e fa'amatalaina lena fausaga, e te ono lamatia ai le lē mautu ma le fa'aletonu.
Lamatiaga Moni i le PipelineMai le Tagata Leaga Commit e Fausia se Fa'alavelave
E amata i se mea itiiti commit: o se fa'amatalaga o le log e fa'aaoga ai lolomif(fa'aulu_tagata_fa'aoga).
E piki e le CI le suiga, fa'atino, ma pa, ua fa'aleagaina ogalaau, ua sese le fa'atulagaga, ua le mafai ona faitauina su'ega. Na'o le tasi le fa'amatalaga a le tagata fa'aoga Python e le'i fa'amaoniaina fa'atasi ai ma fa'ailoga fa'atulagaina ua lava lea e fa'agata ai le pipeline.
CI/CD Fuga:
- Dev commits code ma lolomif(fa'aulufalega_a le tagata fa'aoga)
- O lo'o fa'atinoina galuega a le CI, fa'agasologa o mea e fa'aofi e le tagata fa'aoga
- Fa'aliliuga sese a le Formatter o le laina → fa'aletonu pe malepe le fa'asologa
- Ua lē manuia le fausiaina, ua fa'atuai ai le fa'atinoina ma fa'ateleina ai le taimi e fa'aleleia ai mea sese
E lē o se a'oa'oga lea; ua tatou va'ai i lona fa'atinoina i si'osi'omaga fa'aonaponei.
E Lē Na'o le Tu'ufa'atasi: Aiseā e Tāua ai Pea Fa'aletonu o le Fa'atulagaga i Aso Nei
O mea sese i le faatulagaga o laina e le o ni mea tuai; ua uma ona alualu i luma. E lagolagoina uma e le Python, Java, ma le Node.js meafaigaluega fa'atulagaina mauoa. Ma o masaniga fa'aonaponei o atina'e e masani ona fa'aalia ai le tafe mai o mea e ulufale mai ai tagata fa'aoga i le Python e le siakiina i totonu o nei meafaigaluega.
Aiseā e Tupu Pea Ai le Saosaoa. Lagona Fa'alemafaufau. Atonu e tusi se tagata atia'e la'ititi lolomi(f”{user_input}”) e aunoa ma le mafaufau. E fa'apena fo'i mo System.out.printf(userInput) i Java.
O loʻo Faʻaauau Pea Ona Faʻaalia Mai CVEs. O fautuaga tau puipuiga talu ai nei o loʻo faʻamamafaina ai faʻafitauli o le faatulagaga o manoa i faiga faʻaonaponei. O vaivaiga e pei o le CVE-2023-21930 (Java printf) ma le CVE-2023-36052 (logging framework) o loʻo faʻaalia ai le auala e mafai ai e manoa faʻatulagaina e le faʻamaoniaina i siosiomaga faʻaonaponei ona oʻo atu ai i faʻalavelave poʻo le tafe o faʻamatalaga.
CI/CD E lē lava le na o oe. E masani ona siaki e le CI tulafono o le syntax ma le lint, ae e lē o le faʻaaogaina o le format string e lē saogalemu. O le mea lea e tuʻua ai se va tele.
Sailiiliga o Maina Fa'alenatura: Sailiiliga Fa'aonaponei o Fa'afitauli o le Fa'atulagaga o Maina
E faigofie ona tusia nei fa'aletonu ma faigata ona iloa.
Atonu e le Faasaoina Oe e Lau IDE: VS Code, PyCharm, IntelliJ, e ui e lelei mo le tele o mea sese, ae e le masani ona latou siakiina le tafe o faʻamatalaga i le va o punaoa faʻaofi ma galuega faʻatulagaina. lolomif(fa'aulufalega_tagata fa'aoga) pe System.out.printf(userInput) i totonu o lau code o le a le laga ai ni fa'ailo, aua e manatu IDE o oe o lo'o pulea le fa'atulagaina o le manoa.
E lē maua fo'i e Linters. O linter lauiloa e pei o le flake8, pylint, po'o le eslint e taula'i i le syntax, styling, ma bugs masani. Se'i vagana ua fa'atulagaina fa'apitoa, latou te le malamalama i lena mea. fa'aulufalega a le tagata fa'aoga atonu e sau mai se punaoa mai fafo pe le talitonuina. O loʻo faʻagaoioia se GitHub Action standard O tulafono o le lint e foliga mai o le a tuʻuina atu ia te oe se siaki lanumeamata, tusa lava pe ua e faʻaofiina se faʻasologa faʻatulagaina matautia.
Afai SAST E Ulufale Mai: Su'ega o le Saogalemu o Talosaga Tumau (SAST) e matuā fetaui lelei lava mo lenei faʻafitauli auā e mulimuli i le tafega o faʻamatalaga e ala i lau codebase. O se mea lelei SAST mea faigāluega mafai:
- Siaki faʻamaumauga mai punaoa e le faʻatuatuaina (e pei o le Python user input, environment variables, CLI arguments)
- Fa'ailoa pe a tafe atu fa'amaumauga i totonu o ni vaega ma'ale'ale e pei o galuega fa'atulagaina ((printf, System.out.printf, f-strings)
- Fa'ailoga auala e le saogalemu ma fa'atupu ni fa'ailo e mafai ona fa'atino, tusa lava pe o lo'o tanumia le laina lamatia i totonu o se metotia fesoasoani po'o se vasega afifi
- Lagolago tulafono po'o faiga fa'avae fa'apitoa e poloka ai lolomif(fa'aulufalega_a le tagata fa'aoga)mamanu e pei o le fua
SAST fesoasoani e sui agavale: e pu'eina ai fa'aletonu o le fa'atulagaga i le taimi o le atina'eina po'o le CI a'o le'i mafua ai ni fa'afitauli i le taimi e fa'agaoioia ai pe fa'alavelave tau puipuiga.
TL; AMA: Guardrails > Iloiloga Fa'atino E mana'omia e 'au e vave ona gaoioi SAST e fai ma upega saogalemu, o se upega e malamalama i le anotusi, mulimuli i le tafe o mea e ulufale mai ai, ma poloka le faatulagaga matautia a'o le'i tuufaatasia.
Guardrails Lena Galuega: Puipuia o Faaletonu e Faʻavae i le Faʻatulagaga
Amata i Siaki Tumau i le CI Fa'aaogā meafaigaluega e:
- Iloilo le tafe o faʻamatalaga mai le input i le formatter
- Ua tu'ufa'atasia poloka i luga o le le saogalemu lolomitusi faʻaaogā
- Faaopoopo pre-commit hooks mo mamanu o manoa faatulagaga
Taofi le Fa'aaogaina o Mea Mata lolomif(fa'aulufalega_a le tagata fa'aoga) Faaaoga ni mamanu e sili atu ona saogalemu:
I le Python
I Java
Fa'aputu lau Fa'atulagaga Fa'avae: Fausia ni afifi i totonu e:
- Teena fa'asologa o fa'atulagaga e le fa'atuatuaina
- Fa'amaumau i fa'ata'ita'iga
- E mafai ona tofotofoina ma su'esu'eina
Aua le Fa'alagolago i le Aganu'u, Fa'aautomatika. Aoao lau 'au, ae lagolago i le fa'amalosia o le CI ma SAST.
DevSecOps i le Galuega: Auala e Taofia ai e Xygeni ia Fa'aletonu o le Fa'atulagaina a'o le'i Fa'atinoina
Fa'aletonu o le Fa'atulagaga ua Maua i le Mea e Tāua ai: I le CI, Xygeni suʻesuʻeina ma le malosi nofoaga teu oloa mo mamanu faʻatulagaina matautia e pei o:
- lolomif(fa'aulufalega_a le tagata fa'aoga) i le Python
- System.out.printf(userInput) i Java
O nei mea ua faʻailogaina o ni mea e maualuga le lamatiaga ona e faʻatagaina ai le faʻaaogaina sese o le input a le tagata faʻaoga i le Python ma le Java printf e faʻamatalaina ai amioga i afi faʻatulagaina.
Polokaina i le Taimi Moni i Kamupani CI uma. A fa'apipi'i fa'atasi ma le GitHub Actions, GitLab CI/CD, Bitbucket Pipelines, po'o Jenkins, e taofia e Xygeni le tu'ufa'atasiga a'o le'i fa'agaoioia le code. E maua e le tagata atia'e se fa'ailo vave, e fa'aalia ai:
- O le faila tonu ma le laina o loʻo aliali mai ai le vaivaiga
- O se faʻamatalaga manino o le faʻafitauli (e pei o le "faʻamatalaga e leʻi faʻamaonia i le faʻatulagaga o le manoa")
- Gaoioiga fautuaina e toe faaleleia ai
O lenei poloka vave e liua ai Xygeni mai se meafaigaluega lipoti i se leoleo faitotoa tuufaatasi. Nai lo o lapataiga pe a uma ona maliu pe o ni sailiiliga le mautinoa, e te mauaina tulafono saogalemu e mafai ona faamalosia i le taimi e sili ona taua.
Siakiina e Iloa le Tulaga: E le pei o sailiga o upu autu, e iloilo e Xygeni le tafe o faʻamaumauga e malamalama ai pe o mafua mai laina faʻatulagaina mai mea na faʻaaogaina e tagata faʻaoga Python. E mafai ona iloa le eseesega i le va o laina saogalemu i totonu ma i latou e feaveaʻi faʻamaumauga mai fafo.
Aisea e Taua ai Lenei: E le manaʻomia e le au atiaʻe ni pisa. Latou te manaʻomia ni meafaigaluega atamai ma aoga. O loʻo ofoina atu e Xygeni ni mea muamuacise iloa ma fa'amalosia le taimi moni guardrails o fea latou te faitaulia ai, i lau CI pipeline. Siaki atu!
TL;DR – Iniseti Laiti, Fenumiai Tele: Aua le faia lolomif(fa'aulufalega_a le tagata fa'aoga)
O lenei laina e mafai ona:
- Malologa CI
- Ogalaau ua faaleagaina
- Mafua ai tuusaunoaga o le taimi e faagaoioi ai
Ma o loʻo faʻaalia pea i le 2025.
O Lamatiaga Moni
| Tulaga lamatia | Mafuaaga e Tupu Ai | Faʻafefea ona Faʻasaʻo |
|---|---|---|
| Fausia e le CI ma fa'aleagaina ai fa'amaumauga | O fa'ailoga o le faatulagaga e fa'alavelaveina ai le fa'atinoina o galuega | Aloese tuusao printf(user_input) |
| O lo'o vaivai pea fa'aputuga fa'aonaponei | Fa'aaogaina sese o vala'au fa'atulagaina i le Java/Python | Fa'amamā mea e ulufale mai pe fa'aaoga API e sili atu le saogalemu |
| E misia e IDE ma linters | Latou te le siakiina le tafe o faʻamaumauga | faʻaaogā SAST meafaigaluega |
| Ua tu'ufa'atasia le code mata'utia | E mafai e iloiloga ona misia ni faaletonu o le faatulagaga | Faaaoga meafaigaluega e pei o le Xygeni i le CI |
Lisi Siaki a le Tagata Atiina'e
- Aua le tu'uina sa'o atu fa'amatalaga a le tagata fa'aoga i totonu o laina fa'atulagaina
- Fa'amamā pe sola ese mai mea e fa'aofi mai e le tagata fa'aoga
- Faaaoga ni auala saogalemu:
- python: logging.info(“%s”, input_user)
- Java: Fa'atulagagaSavali.fa'atulagaga()
- Faaaoga se SAST meafaigaluega e malamalama i le tafega o le ulufale mai
- faʻataunuʻu guardrails i le CI
Upu mulimuli: E lē o le popole tele lenei; ae o le sauniuni. E faigofie ona faʻaofi mai ni faʻaletonu i le faatulagaga o faʻatulagaga ma e faʻaleagaina pe a le amanaʻiaina. Taofi aʻo leʻi tulaʻi mai.





