Ua hoʻopuka kekahi pūʻulu o nā mea noiʻi mai ke Kulanui o Turku (Finland) i nā hopena o ka nānā ʻana i nā pūʻolo i loko o ka waihona PyPI no ka hoʻohana ʻana i nā mea hana ʻino e hiki ai ke alakaʻi i nā nāwaliwali. I ka wā o ka nānā ʻana o 197 tausani pūʻulu, 749 tausani mau pilikia palekana i ʻike ʻia. 46% o nā pūʻolo i loaʻa i hoʻokahi pilikia. Ma waena o nā pilikia maʻamau he mau hemahema e pili ana i ka lawelawe ʻokoʻa a me ka hoʻohana ʻana i nā hiʻohiʻona e hiki ai ke hoʻololi i ke code.
ʻO ka 749 tausani pilikia i ʻike ʻia, 442 tausani (41%) i kapa ʻia he mea liʻiliʻi, 227 tausani (30%) i nā pilikia haʻahaʻa a me 80 tausani (11%) he pilikia. Kū kekahi mau pūʻolo i waho o ka lehulehu a loaʻa i nā kaukani pilikia: no ka laʻana, ua ʻike ʻia ka pōʻai PyGGI i nā pilikia 2589, pili nui i ka hoʻohana ʻana i ka hana "try-except-pass", a ua loaʻa i ka pōʻai appengine-sdk nā pilikia 2356. Aia kekahi helu nui o nā pilikia i loko o nā pūʻolo genie.libs.ops, pbcore a me genie.libs.parser.
Pono e hoʻomaopopo ʻia ua loaʻa nā hopena ma muli o ka loiloi static automated, ʻaʻole i noʻonoʻo i ka pōʻaiapili o ka noi ʻana o kekahi mau hale. ʻO ka mea nāna i hoʻomohala i ka bandit toolkit, i hoʻohana ʻia e nānā i ke code, ua hōʻike i ka manaʻo ma muli o ka helu kiʻekiʻe o nā hopena maikaʻi ʻole, ʻaʻole hiki ke noʻonoʻo pono ʻia nā hopena scan he mau nāwaliwali me ka ʻole o ka loiloi manual o kēlā me kēia pilikia.
No ka laʻana, ua noʻonoʻo ka mea loiloi i ka hoʻohana ʻana i nā mea hoʻoheheʻe helu helu ʻole a me nā hashing algorithms, e like me MD5, he pilikia palekana, ʻoiai ma ke code hiki ke hoʻohana ʻia kēlā mau algorithm no nā kumu ʻaʻole pili i ka palekana. Manaʻo ka mea anamanaʻo i ka hana ʻana o nā ʻikepili waho i nā hana palekana e like me pickle, yaml.load, subprocess a eval he pilikia, akā ʻaʻole pono kēia hoʻohana i kahi nāwaliwali a ʻoiaʻiʻo hiki ke hoʻokō ʻia ka hoʻohana ʻana i kēia mau hana me ka ʻole o ka hoʻoweliweli palekana. .
Ma waena o nā ho'āʻo i hoʻohana ʻia i ka haʻawina:
- Ke hoʻohana nei i nā hana palekana exec, mktemp, eval, mark_safe, etc.
- Ka hoʻonohonoho paʻa ʻole o nā kuleana komo no nā faila.
- Hoʻopili i kahi kumu pūnaewele i nā mea pili pūnaewele āpau.
- ʻO ka hoʻohana ʻana i nā huaʻōlelo a me nā kī i kuhikuhi ʻia i loko o ke code.
- Ke hoʻohana nei i kahi papa kuhikuhi no ka manawa pōkole.
- Ke hoʻohana nei i ka pass a hoʻomau i nā mea hoʻokaʻawale ʻokoʻa kaila hopu;
- Ke hoʻolana nei i nā noi pūnaewele e pili ana i ka hoʻolālā pūnaewele Flask me ka hoʻohana ʻana i ke ʻano debugging.
- Ke hoʻohana nei i nā ʻano deserialization ʻikepili palekana.
- Hoʻohana i nā hana hash MD2, MD4, MD5 a me SHA1.
- Ka hoʻohana ʻana i nā ciphers DES palekana a me nā ʻano hoʻopunipuni.
- Ka hoʻohana ʻana i kahi hoʻokō HTTPSConnection insecure i kekahi mau mana o Python.
- E wehewehe ana i ka faila: // scheme ma urlopen.
- Ke hoʻohana nei i nā mea hana helu pseudorandom i ka wā e hana ana i nā hana cryptographic.
- Ke hoʻohana nei i ka protocol Telnet.
- Ke hoʻohana nei i nā parser XML palekana.
Eia hou, hiki ke hoʻomaopopo ʻia ua ʻike ʻia nā pōʻai ʻino 8 i ka papa kuhikuhi PyPI. Ma mua o ka wehe ʻana, ua hoʻoiho ʻia nā pōʻai pilikia ma mua o 30 tausani mau manawa. No ka hūnā ʻana i ka hana ʻino a me ka ʻalo ʻana i nā ʻōlelo aʻoaʻo mai nā mea loiloi static maʻalahi i nā pūʻolo, ua hoʻopaʻa ʻia nā poloka code me Base64 a hoʻokō ʻia ma hope o ka decoding me ka hoʻohana ʻana i kahi kelepona eval.
ʻO nā noblesse, genesisbot, e ʻeha, noblesse2 a me noblessev2 pūʻolo i loko o ke code e intercept ai i nā helu kāleka hōʻaiʻē a me nā ʻōlelo huna i mālama ʻia ma Chrome a me Edge browsers, a me ka hoʻoili ʻana i nā hōʻailona moʻokāki mai ka noi Discord a hoʻouna i ka ʻikepili ʻōnaehana, me nā kiʻi ʻoniʻoni o ka ʻike maka. ʻO nā pūʻolo pytagora a me pytagora2 ka hiki ke hoʻouka a hoʻokō i nā code executable ʻaoʻao ʻekolu.
Source: opennet.ru