The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Mozilla развивает ScanJS, статический анализатор кода для JavaScript

20.05.2014 11:20

В рамках проекта ScanJS разработчики из сообщества Mozilla развивают инструментарий статического анализа кода для языка JavaScript. Разработка позволяет упростить рецензирование безопасности кода и даёт возможность на стороне сервера выявлять потенциальные уязвимости в web-приложениях, предназначенных для выполнения в браузере на стороне клиента. Код ScanJS написан на языке JavaScript, запускается под управлением node.js и распространяется под свободной лицензией MPL.

Поддерживается как использование в форме утилиты командной строки, так и развёртывание специализированного web-сервиса. Для преобразования исследуемого JavaScript-кода в AST-представление (Абстрактное синтаксическое дерево) применяется парсер Acorn. Правила, описывающие возможные аномалии в коде, оформляются в формате JSON. Для оценки работы ScanJS запущен демонстрационный сервис проверки.

Кроме того, разработчики Mozilla представили инициативу Winter Of Security 2014, в рамках которой, по аналогии с Google Summer of Code, студентам предлагается принять участие в разработке 11 применяемых в Mozilla инструментов автоматизации проверки безопасности. Кроме ScanJS, в программу вовлечены такие инструменты, как ZAP, Plug’n’Hack, Minion, Zest, MIG (Mozilla InvestiGator), Mozdef и Cipherscan. Заявки от студентов будут приниматься до 15 июля. В середине августа будут объявлены выбранные участники проекта, на выполнение задания которым отводится 8 месяцев, с сентября по апрель.

  1. Главная ссылка к новости (http://www.reddit.com/r/netsec...)
  2. OpenNews: Проект Mozilla представил Minion, платформу для автоматизированного тестирования безопасности кода
  3. OpenNews: Представлен ZAP, инструмент комплексного анализа веб-сайтов на уязвимости
  4. OpenNews: Проект Mozilla представил протокол Plug-n-Hack
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39817-scanjs
Ключевые слова: scanjs, javascript, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:06, 20/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего-то по демо-сервису я вообще не понял, в чем смысл. Ищутся совпадения строк?
     
     
  • 2.2, rob pike (?), 12:23, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем

    {
        "name": "global.setTimeout",
        "source": "$.setTimeout()",
        "testhit": "global.setTimeout('jsCode'+usercontrolledVal ,timeMs)",
        "testmiss": "setTimeout",
        "desc": "Calling setTimeout with a first argument as string (or string concatenation) with user input may lead to XSS",
        "threat": "Execution Sink"
      },

     

  • 1.3, arisu (ok), 12:23, 20/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    у них DRM ещё не доделан, а они фигнёй занимаются!
     
     
  • 2.4, rob pike (?), 13:49, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    То не они, то "разработчики из сообщества"
     
  • 2.18, Vkni (ok), 04:27, 22/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > у них DRM ещё не доделан, а они фигнёй занимаются!

    Это потому, что в компании остались клятые гомофобы!!!

     

  • 1.5, Аноним (-), 14:10, 20/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Браузер: Ну, скоро уже? Сайт: погоди, погоди... самому интересно!
     
  • 1.9, jOKer (ok), 17:19, 20/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >даёт возможность на стороне сервера выявлять потенциальные уязвимости в web-приложениях, предназначенных для выполнения в браузере на стороне клиента

    Эти костыли, такие костыли...вместо того что бы приложить усилие и заменить колбачный с мягкой типизацие жабоскрипт на что-то с жесткой типизацией и нормальной моделью блокировок, семафоров и множеством потоков исполнения люди яростно изобретают костыли, потом делают анализаторы для этих костылей, и в итоге называют ЭТО прогрессом.

    Специально для любителей сказать, что мол "сперва пиши на г. что есть, и только потом высказывайся" спешу отметить, что я профессионально (то есть каждый день и за деньги) пишу на жабоскрипте, и именно поэтому я имею полное право сказать: этот ЯП - жутчайший костыль, его модель наследования по объектам - пьяный/наркотический глюк, и никакие ухищрения талантливых парней сочиняющих тулкиты вроде Dojo (эмулирующий наследование по классам, кстати), и никакой синтаксический сахар a-la замыкания, отложенное исполнение и средства переключения контекста нифига ему не поможет - уродец должен сдохнуть и "точка, Силин!" (с) Следствие ведут ЗнаТоКи.

     
     
  • 2.10, Аноним (-), 19:16, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А какой выход? Проблема совместимости жуткая - разом изобрести DCOM/WCF для всех не выйдет.
     
     
  • 3.13, arisu (ok), 21:26, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А какой выход?

    давать подобным ему говнокодерам побольше работы, чтобы у них не оставалось времени нести чушь по форумам.

     
  • 2.11, иксиксикс (?), 21:18, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    и сколько пишите на js? хотя бы лет пять уже есть стажа?
    а чем еще писали и насколько крупные проекты?

    а если по существу, то JS это мощный инструмент, да это вам не классический ООП.
    Но если взять например java, то написав тонну кода, вы будете  завистью смотреть на питон,
    написать тонну кода на питоне, вы будете с завистью смотреть на go, написав тонну кода...
    ну вы поняли, на соседней лужайке всегда трава зеленее.

     
     
  • 3.12, arisu (ok), 21:24, 20/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > да это вам не классический ООП.

    Знатоки В Треде, Все В Машину!

    правда, «знатоки» китайские, поддельные, и не знают, что прототипы — это как раз и есть тот самый «классический ООП» (точнее, message passing, что в js сделано прототипами). а цпп-подобное гуано как раз унылый неудобный новодел.

     
     
  • 4.14, йцу (?), 09:52, 21/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > (точнее, message passing, что в js сделано прототипами

    А "истинные знатоки" не хотят поведать нам, как связаны message passing и прототипы? Или "истинные знатоки" просто нахватались где-то умных слов?

     
     
  • 5.15, arisu (ok), 16:21, 21/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А "истинные знатоки" не хотят поведать нам, как связаны message passing и
    > прототипы?

    нет, не хотят. сегодня неудачный день, чтобы сыпать перед вами бисер.

     

  • 1.16, Цыцоев (?), 20:19, 21/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Цыц мне тут! Прототипы это всего лишь реализация парадигмы ООП. Просто классы и объекты и всякие сущности реализуются прототипами. Это игра понятиями, не стоит этим увлекаться, ибо можно забыть о главной цели. А главная цель для истинного программиста - сотворить рабочий код.
     
     
  • 2.17, arisu (ok), 20:30, 21/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Цыц мне тут! Прототипы это всего лишь реализация парадигмы ООП.

    да, одна из. на самом деле я, конечно, высказался не совсем кореектно. но идиоты, которые называют симула-подобное ООП «классическим», ужасно раздражают.

    > главная цель для истинного программиста - сотворить рабочий код.

    нет, это главная цель быдлокодера. задача программиста же — не просто «рабочий код», но ещё и понятный человеку и удобно сопровождаемый код.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру