PyPI ์ €์žฅ์†Œ์— ์žˆ๋Š” Python ํŒจํ‚ค์ง€์˜ 46%์—๋Š” ์ž ์žฌ์ ์œผ๋กœ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

University of Turku(ํ•€๋ž€๋“œ)์˜ ์—ฐ๊ตฌ์› ๊ทธ๋ฃน์€ ์ทจ์•ฝ์ ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ๊ตฌ์„ฑ์˜ ์‚ฌ์šฉ์— ๋Œ€ํ•œ PyPI ์ €์žฅ์†Œ์˜ ํŒจํ‚ค์ง€ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 197๊ฐœ์˜ ํŒจํ‚ค์ง€๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋™์•ˆ 749๊ฐœ์˜ ์ž ์žฌ์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์˜ 46%์—๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ์ค‘์—๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐ ์ฝ”๋“œ ๋Œ€์ฒด๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ๋œ 749๊ฐœ ๋ฌธ์ œ ์ค‘ 442๊ฐœ(41%)๋Š” ๊ฒฝ๋ฏธํ•œ ๋ฌธ์ œ, 227๊ฐœ(30%)๋Š” ๋ณดํ†ต ๋ฌธ์ œ, 80๊ฐœ(11%)๋Š” ์œ„ํ—˜ํ•œ ๋ฌธ์ œ๋กœ ๋ถ„๋ฅ˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ํŒจํ‚ค์ง€๋Š” ๊ทธ์ค‘์—์„œ๋„ ๋ˆˆ์— ๋„๊ณ  ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PyGGI ํŒจํ‚ค์ง€๋Š” ์ฃผ๋กœ "try-out-pass" ๊ตฌ์„ฑ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ 2589๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ–ˆ์œผ๋ฉฐ appengine-sdk ํŒจํ‚ค์ง€๋Š” 2356๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. genie.libs.ops, pbcore ๋ฐ genie.libs.parser ํŒจํ‚ค์ง€์—๋„ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ํŠน์ • ๊ตฌ์กฐ์˜ ์ ์šฉ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์ž๋™ํ™”๋œ ์ •์  ๋ถ„์„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ป์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ์Šค์บ”์— ์‚ฌ์šฉ๋œ Bandit ํˆดํ‚ท ๊ฐœ๋ฐœ์ž๋Š” ์˜คํƒ(false positive) ์ˆ˜๊ฐ€ ์ƒ๋‹นํžˆ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ˆ˜๋™ ๊ฒ€ํ†  ์—†์ด๋Š” ์Šค์บ” ๊ฒฐ๊ณผ๋ฅผ ์ง์ ‘ ์ทจ์•ฝ์ ์œผ๋กœ ๊ฐ„์ฃผํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜๊ฒฌ์„ ํ‘œ๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ถ„์„๊ธฐ๋Š” MD5์™€ ๊ฐ™์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ ๋ฐ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณด์•ˆ ๋ฌธ์ œ๋กœ ๊ฐ„์ฃผํ•˜์ง€๋งŒ ์ฝ”๋“œ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ณด์•ˆ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ถ„์„๊ธฐ๋Š” pickle, yaml.load, subprocess ๋ฐ eval๊ณผ ๊ฐ™์€ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜์—์„œ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋ฌธ์ œ๋กœ ๊ฐ„์ฃผํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ด ๋ฐ˜๋“œ์‹œ ์ทจ์•ฝ์ ์„ ์ˆ˜๋ฐ˜ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์€ ๋ณด์•ˆ ์œ„ํ˜‘ ์—†์ด ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .

์—ฐ๊ตฌ์— ์‚ฌ์šฉ๋œ ํ…Œ์ŠคํŠธ ์ค‘:

  • ์ž ์žฌ์ ์œผ๋กœ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜ exec, mktemp, eval, mark_safe ๋“ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์•ˆ์ „ํ•˜์ง€ ์•Š๊ฒŒ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ์— ์—„๊ฒฉํ•˜๊ฒŒ ์ง€์ •๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๊ฒƒ์„ ํฌ๊ด„ํ•˜๋Š” ์Šคํƒ€์ผ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ์—์„œ ์ „๋‹ฌ ๋ฐ ๊ณ„์† ์‚ฌ์šฉ
  • ๋””๋ฒ„๊น… ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋œ Flask ์›น ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰.
  • ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ ์—ญ์ง๋ ฌํ™” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • MD2, MD4, MD5 ๋ฐ SHA1 ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์•ˆ์ „ํ•˜์ง€ ์•Š์€ DES ์•”ํ˜ธํ™” ๋ฐ ์•”ํ˜ธํ™” ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ Python ๋ฒ„์ „์—์„œ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ HTTPSConnection ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • urlopen์— file:// ์ฒด๊ณ„๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์•”ํ˜ธํ™” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Telnet ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์•ˆ์ „ํ•˜์ง€ ์•Š์€ XML ํŒŒ์„œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ PyPI ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ 8๊ฐœ์˜ ์•…์„ฑ ํŒจํ‚ค์ง€๊ฐ€ ๊ฐ์ง€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐ๋˜๊ธฐ ์ „์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ํŒจํ‚ค์ง€๋Š” 30๋งŒ ๋ฒˆ ์ด์ƒ ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•…์˜์ ์ธ ํ™œ๋™์„ ์ˆจ๊ธฐ๊ณ  ํŒจํ‚ค์ง€์˜ ๊ฐ„๋‹จํ•œ ์ •์  ๋ถ„์„๊ธฐ์—์„œ ๊ฒฝ๊ณ ๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ ๋ธ”๋ก์€ Base64๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉ๋˜์—ˆ์œผ๋ฉฐ ํ‰๊ฐ€ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ฝ”๋”ฉ๋œ ํ›„ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Noblesse, genesisbot, are, pain, Noblesse2 ๋ฐ Noblessev2 ํŒจํ‚ค์ง€์—๋Š” Chrome ๋ฐ Edge ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋œ ์‹ ์šฉ ์นด๋“œ ๋ฒˆํ˜ธ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฐ€๋กœ์ฑ„๊ณ  Discord ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ณ„์ • ํ† ํฐ์„ ์ „์†กํ•˜๊ณ  ํ™”๋ฉด ์ฝ˜ํ…์ธ ์˜ ์Šคํฌ๋ฆฐ์ƒท์„ ํฌํ•จํ•œ ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. pytagora ๋ฐ pytagora2 ํŒจํ‚ค์ง€์—๋Š” ํƒ€์‚ฌ ์‹คํ–‰ ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€