<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="JATS-archive-oasis-article1-4.xsd" article-type="research-article" dtd-version="1.4" xml:lang="ru">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Журнал Современные наукоемкие технологии</journal-title>
      </journal-title-group>
      <issn>1812-7320</issn>
      <publisher>
        <publisher-name>Общество с ограниченной ответственностью &amp;quot;Издательский Дом &amp;quot;Академия Естествознания&amp;quot;</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.17513/snt.39913</article-id>
      <article-id pub-id-type="publisher-id">ART-39913</article-id>
      <title-group>
        <article-title>ДЕТЕКТИРОВАНИЕ УЯЗВИМОСТЕЙ В ИМПОРТИРУЕМЫХ БИБЛИОТЕКАХ ЯЗЫКА PYTHON С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ СТАТИЧЕСКОГО АНАЛИЗА</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Швыров</surname>
              <given-names>В.В.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Shvyrov</surname>
              <given-names>V.V.</given-names>
            </name>
          </name-alternatives>
          <email>slavik_asas@mail.ru</email>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Капустин</surname>
              <given-names>Д.А.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Kapustin</surname>
              <given-names>D.A.</given-names>
            </name>
          </name-alternatives>
          <email>kap-kapchik@mail.ru</email>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Сентяй</surname>
              <given-names>Р.Н.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Sentyay</surname>
              <given-names>R.N.</given-names>
            </name>
          </name-alternatives>
          <email>sentyayroman@yandex.ru</email>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <institution xml:lang="ru">ФГБОУ ВО "Луганский государственный педагогический университет"</institution>
        <institution xml:lang="en">FSPU HE "Lugansk State Pedagogical University"</institution>
      </aff>
      <pub-date date-type="pub" iso-8601-date="2024-01-05">
        <day>05</day>
        <month>01</month>
        <year>2024</year>
      </pub-date>
      <issue>1</issue>
      <fpage>87</fpage>
      <lpage>93</lpage>
      <permissions>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This is an open-access article distributed under the terms of the CC BY 4.0 license.</license-p>
        </license>
      </permissions>
      <self-uri content-type="url" hreflang="ru">https://top-technologies.ru/article/view?id=39913</self-uri>
      <abstract xml:lang="ru" lang-variant="original" lang-source="author">
        <p>Использование дополнительных модулей и библиотек значительно повышает эффективность разработки программ на Python. Однако большинство из библиотек являются проектами с открытым исходным кодом, которые зачастую разрабатываются энтузиастами и могут содержать потенциальные уязвимости или вредоносный код. В связи с этим возникает необходимость разработки эффективных программных средств для проверки импортируемых библиотек на предмет наличия в них известных дефектов и уязвимостей, которые описаны в различных открытых каталогах. Методы статического анализа программного кода могут быть эффективно использованы для детектирования различных уязвимостей и повышения качества программ на языке Python. Анализ количества публикаций по данной тематике показывает существенный интерес авторов к проблемам разработки безопасного программного обеспечения. В статье рассматривается проблема обнаружения уязвимостей в сторонних библиотеках Python, используемых в проектах с открытым исходным кодом. Представлено описание общей схемы разработки, а также реализация детектора уязвимостей, который обеспечивает обнаружение потенциальных проблем на основании данных открытых каталогов уязвимостей и повышает безопасность приложений на Python. Кроме того, в работе представлен анализ уязвимостей наиболее популярных библиотек c открытым исходным кодом на Python.</p>
      </abstract>
      <abstract xml:lang="en" lang-variant="translation" lang-source="translator">
        <p>The use of additional modules and libraries significantly increases the efficiency of developing programs in Python. However, most of the libraries are open source projects that are often developed by enthusiasts and may contain potential vulnerabilities or malicious code. In this regard, there is a need to develop effective software tools for checking imported libraries for the presence of known defects and vulnerabilities, which are described in various open catalogs. Static code analysis methods can be effectively used for detecting various vulnerabilities and improving the quality of Python programs. An analysis of the number of publications on this topic shows the authors’ significant interest in the problems of developing secure software. This article addresses the problem of vulnerability detection in third-party Python libraries used in open-source projects. It provides an overview of the general development scheme and the implementation of a vulnerability detector that identifies potential issues based on data from open vulnerability repositories, thus enhancing the security of Python applications. Additionally, the paper presents an analysis of vulnerabilities in the most popular open-source Python libraries.</p>
      </abstract>
      <kwd-group xml:lang="ru">
        <kwd>статический анализ</kwd>
        <kwd>уязвимость</kwd>
        <kwd>CVE</kwd>
        <kwd>Python</kwd>
        <kwd>импортирование библиотек в Python</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>static analysis</kwd>
        <kwd>vulnerability</kwd>
        <kwd>CVE</kwd>
        <kwd>Python</kwd>
        <kwd>importing libraries in Python</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <ref>
        <note>
          <p>1. TIOBE Index for March 2022 [Электронный ресурс] URL: https://www.tiobe.com/tiobe-index/ (дата обращения: 08.11.2023).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>2. Decan A., Mens T., Constantinou E. On the Impact of Security Vulnerabilities in the npm Package Dependency Network // Proceedings of the 15th International Conference on Mining Software Repositories (MSR 2018). Gothenburg: ACM. 2018. P. 181–191.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>3. Ruohonen, J., Hjerppe, K., Rindell, K. A Large-Scale Security-Oriented Static Analysis of Python Packages in PyPI // Proceedings of the 18th Annual International Conference on Privacy, Security and Trust (PST 2021), Auckland, IEEE, 2021. P. 1-10.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>4. OWASP Web Security Testing Guide. [Электронный ресурс]. URL: https://github.com/OWASP/wstg (дата обращения: 08.11.2023).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>5. Cousot P. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints // Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. 1977. P. 238–252.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>6. Allen F.E. Control flow analysis // ACM SIGPLAN Notices. 1970. Vol. 5, Is. 7. P. 1–19.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>7. Аветисян А.И., Белеванцев А.А., Бородин А.Е., Несов В. Использование статического анализа для поиска уязвимостей и критических ошибок в исходном коде программ // Труды ИСП РАН. 2011. Т. 21. C. 23-38.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>8. Smith J., Johnson B., Murphy-Hill E.R., Chu B., Lipford H.R. How Developers Diagnose Potential Security Vulnerabilities with a Static Analysis Tool // IEEE Transactions on Software Engineering. 2019. Vol. 45(9). P. 877–897.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>9. Common Weakness Enumeration. [Электронный ресурс]. URL: https://cwe.mitre.org/about/index.html (дата обращения: 08.11.2023).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>10. Банк данных угроз безопасности информации [Электронный ресурс]. URL: http://www.bdu.fstec.ru/ (дата обращения: 08.11.2023).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>11. CVE. [Электронный ресурс]. URL: https://cve.mitre.org/ (дата обращения: 08.11.2023).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>12. Мерзлякова Е.Ю., Янченко Е.В. Обзор методов верификации и оценки качества программного обеспечения // Вестник СибГУТИ. 2023. Т. 17, № 1. С. 92–106.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>13. Shalaginov A., Banin S., Dehghantanha A., Franke K. Machine Learning Aided Static Malware Analysis: A Survey and Tutorial. ArXiv, abs/1808.01201. 2018.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>14. Vadlamani A., Kalicheti R., Chimalakonda S. APIScanner – Towards Automated Detection of Deprecated APIs in Python Libraries // 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). 2021. P. 5-8.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>15. Wang J., Li L., Liu K., Cai H. Exploring how deprecated python library apis are (not) handled // Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 2020. P. 233–244.</p>
        </note>
      </ref>
    </ref-list>
  </back>
</article>
