Forwarded from PWN AI (Artyom Semenov)
Давно я не писал о крутых статьях... В общем недавно вышел обзор статьей о том "как LLM небезопасно генерируют код".
И конечно-же это вроде-бы очевидный факт - что это небезопасно. Но вопрос "на сколько" оставался открытым.
В исследовании провели анализ 20 статьей на эту тему. Есть конечно же и описание того, как они искали весь этот материал - и гугл дорки.
Среди моделей чаще всего конечно же были GPT(3,5 и 4), CodeX и Llama и также GitHub Copilot.
Было выделено 10 категорий уязвимостей.
Injections - это самая упоминаемая категория уязвимостей, в статьях(GPT, Copilot):
CWE-79: чаще генерировал уязвимый код для xss
CWE-89: чаще генерировал уязвимый код для sql
Уязвимости управления памятью(GPT, Copilot):
CWE-190: Integer Overflow or Wraparound
CWE-476: Null Pointer Dereference
Уязвимости управления файлами(GPT, Copilot):
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Уязвимости десериализации(GPT, Copilot):
CWE-502: Deserialization of Untrusted Data
Утечка информации(GPT, Copilot):
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Уязвимости аутентификации и авторизации(GPT,Copilot):
CWE-798: Use of Hard-coded Credentials
CWE-284: Improper Access Control
Криптографические уязвимости(GPT,Copilot):
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
Уязвимости управления ресурсами(GPT, Copilot):
CWE-404: Improper Resource Shutdown or Release(LLAMA также)
CWE-772: Missing Release of Resource after Effective Lifetime
Coding Standards(GPT,Copilot,LLAMA):
CWE-758: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
Уязвимости обработки ошибок(GPT,Copilot,LLAMA,CodeX):
CWE-703: Improper Check or Handling of Exceptional Conditions
GPT примерно в 40% случаев генерировал уязвимый код, Copilot в 46% а вот LLAMA в 25-35% случаев... Надо смотреть по статьям детально.
Плюс, была проведена оценка того "Насколько модель хорошо определяет уязвимость".
SAST с которыми сравнивались - вы можете видеть на второй фотографии.
Тут также есть хорошие результаты. Например, GPT обнаруживал уязвимости в 68% случаев и всё очень зависело от структуры запроса. Он круто справлялся с определением уязвимостей типа memory leak. Copilot - 40%, но при этом отмечается что он хорошо вывозил в очень высоко рисковых случаях - опять же надо смотреть статью.
CodeX и LLAMA - 90% и 85% успеха в обнаружении уязвимостей в коде, особенно по части утечек в памяти. Но есть нюанс, они хуже работаю с большими кодовыми базами и больше дают ложноположительных результатов.
Конечно были и рассмотрены техники того, как можно улучшить результаты. Например изначально улучшать структуру запросов (Chain-of-Thought (CoT) Prompting, Few-shot Prompting, In-context Prompting, Task-oriented Prompting) , а также делать дообучение на специальных данных.
И конечно-же это вроде-бы очевидный факт - что это небезопасно. Но вопрос "на сколько" оставался открытым.
В исследовании провели анализ 20 статьей на эту тему. Есть конечно же и описание того, как они искали весь этот материал - и гугл дорки.
(“Large Language Models” OR “Language Model” OR
LLMs OR CodeX OR Llama OR Copilot OR GPT-*
OR ChatGPT) AND (“Code Generation” OR “AI-generated
Code” OR “Automated Code Generation”) AND (“Security
Vulnerabilities” OR “Security Risks” OR “Security Flaws”
OR “Software Security” OR “Impact On Code Security” OR
“Cybersecurity” OR Vulnerabilities) AND (“Training Data
Poisoning” OR “Poisoned Datasets” OR “Data Poisoning
Attacks” OR “Adversarial Attacks” OR “Malicious Training
Data”) AND (“Vulnerability Detection” OR “Bug Detection”
OR “Security Flaw Detection” OR “Code Analysis” OR
“Static Analysis” OR “Vulnerability Remediation” OR “Bug
Fixing” OR “Automated Code Repair” OR “Security Patch”
OR “Code Patching”).
Среди моделей чаще всего конечно же были GPT(3,5 и 4), CodeX и Llama и также GitHub Copilot.
Было выделено 10 категорий уязвимостей.
Injections - это самая упоминаемая категория уязвимостей, в статьях(GPT, Copilot):
CWE-79: чаще генерировал уязвимый код для xss
CWE-89: чаще генерировал уязвимый код для sql
Уязвимости управления памятью(GPT, Copilot):
CWE-190: Integer Overflow or Wraparound
CWE-476: Null Pointer Dereference
Уязвимости управления файлами(GPT, Copilot):
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Уязвимости десериализации(GPT, Copilot):
CWE-502: Deserialization of Untrusted Data
Утечка информации(GPT, Copilot):
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Уязвимости аутентификации и авторизации(GPT,Copilot):
CWE-798: Use of Hard-coded Credentials
CWE-284: Improper Access Control
Криптографические уязвимости(GPT,Copilot):
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
Уязвимости управления ресурсами(GPT, Copilot):
CWE-404: Improper Resource Shutdown or Release(LLAMA также)
CWE-772: Missing Release of Resource after Effective Lifetime
Coding Standards(GPT,Copilot,LLAMA):
CWE-758: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
Уязвимости обработки ошибок(GPT,Copilot,LLAMA,CodeX):
CWE-703: Improper Check or Handling of Exceptional Conditions
GPT примерно в 40% случаев генерировал уязвимый код, Copilot в 46% а вот LLAMA в 25-35% случаев... Надо смотреть по статьям детально.
Плюс, была проведена оценка того "Насколько модель хорошо определяет уязвимость".
SAST с которыми сравнивались - вы можете видеть на второй фотографии.
Тут также есть хорошие результаты. Например, GPT обнаруживал уязвимости в 68% случаев и всё очень зависело от структуры запроса. Он круто справлялся с определением уязвимостей типа memory leak. Copilot - 40%, но при этом отмечается что он хорошо вывозил в очень высоко рисковых случаях - опять же надо смотреть статью.
CodeX и LLAMA - 90% и 85% успеха в обнаружении уязвимостей в коде, особенно по части утечек в памяти. Но есть нюанс, они хуже работаю с большими кодовыми базами и больше дают ложноположительных результатов.
Конечно были и рассмотрены техники того, как можно улучшить результаты. Например изначально улучшать структуру запросов (Chain-of-Thought (CoT) Prompting, Few-shot Prompting, In-context Prompting, Task-oriented Prompting) , а также делать дообучение на специальных данных.
Forwarded from Заметки Слонсера (Slonser)
HTML Universal Identifier
На VK Security Confab анонсировал свою тулзу для идентификации Html
Вот собственно и она:
https://github.com/Slonser/hui
Что можно делать сейчас:
- Идентифицировать flattening
- Находить неправильный mutation payloads
- Смотреть на разрешенные атрибуты и теги
- Идентифицировать библиотеку которая работает с html на бекенде
Нужно ещё много доработать но можно пользоваться уже сейчас
P.S. массово прописываем
На VK Security Confab анонсировал свою тулзу для идентификации Html
Вот собственно и она:
https://github.com/Slonser/hui
Что можно делать сейчас:
- Идентифицировать flattening
- Находить неправильный mutation payloads
- Смотреть на разрешенные атрибуты и теги
- Идентифицировать библиотеку которая работает с html на бекенде
Нужно ещё много доработать но можно пользоваться уже сейчас
P.S. массово прописываем
python -m pip install hui
GitHub
GitHub - Slonser/hui: HTML Universal Identifier
HTML Universal Identifier. Contribute to Slonser/hui development by creating an account on GitHub.
👍2 1
Forwarded from Code Stars
drk1wi/portspoof
Portspoof
Language:Makefile
Total stars: 1135
Stars trend:
#makefile
Portspoof
Language:Makefile
Total stars: 1135
Stars trend:
25 Dec 2024
9am ▍ +3
10am ▏ +1
11am ▎ +2
12pm ▏ +1
1pm ▎ +2
2pm ▎ +2
3pm ▏ +1
4pm ▍ +3
5pm ▋ +5
6pm ▎ +2
7pm ▌ +4
8pm ██████▌ +52#makefile
Forwarded from CyberSecurityTechnologies (-CST-)
#Threat_Research
#Blue_Team_Techniques
AttackRuleMap:
Mapping of open-source detection rules and atomic tests, such as Sigma and Splunk ESCU
https://attackrulemap.netlify.app
#Blue_Team_Techniques
AttackRuleMap:
Mapping of open-source detection rules and atomic tests, such as Sigma and Splunk ESCU
https://attackrulemap.netlify.app
Forwarded from Code Stars
fabriziosalmi/caddy-waf
Caddy WAF (OWASP rule-based filtering, IP and DNS filtering, rate limiting, GeoIP)
Language:Go
Total stars: 96
Stars trend:
#go
#caddy, #caddyplugin, #caddyserver, #securitytools, #waf, #webapplicationfirewall, #websecurity
Caddy WAF (OWASP rule-based filtering, IP and DNS filtering, rate limiting, GeoIP)
Language:Go
Total stars: 96
Stars trend:
3 Jan 2025
4am ▏ +1
5am +0
6am +0
7am +0
8am █▎ +10
9am █▋ +13
10am ██ +16
11am █▎ +10
12pm █▉ +15
1pm █▌ +12
2pm █▎ +10#go
#caddy, #caddyplugin, #caddyserver, #securitytools, #waf, #webapplicationfirewall, #websecurity
👍1
Forwarded from AppSec & Compliance
https://jellyfin.org/
На домашнем серваке поднимаем сервис для стриминга кино/сериалов.
Для большинства современных ТВ есть app.
Запускаем transmission server,
Прибиваем папку, куда качать фильмы
Запускаем jellyfin, указываем папку на серваке, куда скачали фильмы.
Наслаждаемся.
Успешно оттестил на samsung.
Вот тут репо, с помощью которого легко можно установить app под samsung.
На домашнем серваке поднимаем сервис для стриминга кино/сериалов.
Для большинства современных ТВ есть app.
Запускаем transmission server,
Прибиваем папку, куда качать фильмы
Запускаем jellyfin, указываем папку на серваке, куда скачали фильмы.
Наслаждаемся.
Успешно оттестил на samsung.
Вот тут репо, с помощью которого легко можно установить app под samsung.
jellyfin.org
The Free Software Media System | Jellyfin
The volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached.
👍2 1
Forwarded from PWN AI (Artyom Semenov)
Вот уж не знал, но у популярного инструмента ZAP, который раньше был OWASP ZAP - есть расширение Fuzz AI
https://www.zaproxy.org/docs/desktop/addons/fuzzai-files/
Оно позволяет тестировать API модели на различные атаки. К примеру можно попробовать извлечь данные об архитектуре модели, возможно реализовать попытку кражи конфиденциальной информации.
По сути для фааззинга используются промпты. Их около 17 наборов. Про модель которая оценивает результаты - нету слов вообще. Тоесть вы можете использовать данные подавать их в API, но судя по всему вам придется анализировать каждый ответ вручную.
Тут можно посмотреть промпты.
https://github.com/zaproxy/zap-extensions/tree/main/addOns/fuzzai/src/main/zapHomeFiles/fuzzers/fuzzai/AI
А тут буквально туториал как это использовать.
https://youtu.be/hZ9yeXK2DLY?si=0Dc1IcQvmzLACcke
https://www.zaproxy.org/docs/desktop/addons/fuzzai-files/
Оно позволяет тестировать API модели на различные атаки. К примеру можно попробовать извлечь данные об архитектуре модели, возможно реализовать попытку кражи конфиденциальной информации.
По сути для фааззинга используются промпты. Их около 17 наборов. Про модель которая оценивает результаты - нету слов вообще. Тоесть вы можете использовать данные подавать их в API, но судя по всему вам придется анализировать каждый ответ вручную.
Тут можно посмотреть промпты.
https://github.com/zaproxy/zap-extensions/tree/main/addOns/fuzzai/src/main/zapHomeFiles/fuzzers/fuzzai/AI
А тут буквально туториал как это использовать.
https://youtu.be/hZ9yeXK2DLY?si=0Dc1IcQvmzLACcke
www.zaproxy.org
ZAP – Fuzz AI Files
The world’s most widely used web app scanner. Free and open source. ZAP is a community project actively maintained by a dedicated international team, and a GitHub Top 1000 project.
👍2
Forwarded from CyberSecurityTechnologies (-CST-)
LLM4CVE.pdf
2.3 MB
#Sec_code_review
"LLM4CVE: Enabling Iterative Automated Vulnerability Repair with Large Language Models", 2025.
]-> https://sites.google.com/view/llm4cve
"LLM4CVE: Enabling Iterative Automated Vulnerability Repair with Large Language Models", 2025.
]-> https://sites.google.com/view/llm4cve
Forwarded from CyberSecurityTechnologies (-CST-)
#tools
#WebApp_Security
"AutoRestTest: A Tool for Automated REST APITesting Using LLMs and MARL", 2025.
]-> https://github.com/selab-gatech/AutoRestTest
#WebApp_Security
"AutoRestTest: A Tool for Automated REST APITesting Using LLMs and MARL", 2025.
]-> https://github.com/selab-gatech/AutoRestTest
Forwarded from CyberSecBastion 📖
Vulncov - A tool that correlates Semgrep scans with Python test code coverage
A small tool-experiment from a week ago is VulnCov . Its goal is to prioritize Semgrep finding, excluding vulnerabilities found in "dead code". To do this, the tool takes Semgrep finding and combines them with the results of Pytest unit tests.
To better understand this, it's easiest to look at a demo example where there are several vulnerabilities inside an unreachable section of code:
- Commented router #@app.route
- Impossible condition if 1 == 2
Based on the results of the Semgrep scan, for obvious reasons, it will return all vulnerabilities, including those in unreachable code. The project also has tests that, upon execution, generate a coverage.json file. The coverage file from the unit test report contains information about which lines of code were executed during testing, and also provides summary statistics about the code coverage of tests. This file helps developers understand which parts of the code are covered by tests and which are not, which creates an ideal basis for prioritizing Semgrep results. As a result, VulnCov compares two file and outputsJSON with the most relevant finding.
A small tool-experiment from a week ago is VulnCov . Its goal is to prioritize Semgrep finding, excluding vulnerabilities found in "dead code". To do this, the tool takes Semgrep finding and combines them with the results of Pytest unit tests.
To better understand this, it's easiest to look at a demo example where there are several vulnerabilities inside an unreachable section of code:
- Commented router #@app.route
- Impossible condition if 1 == 2
Based on the results of the Semgrep scan, for obvious reasons, it will return all vulnerabilities, including those in unreachable code. The project also has tests that, upon execution, generate a coverage.json file. The coverage file from the unit test report contains information about which lines of code were executed during testing, and also provides summary statistics about the code coverage of tests. This file helps developers understand which parts of the code are covered by tests and which are not, which creates an ideal basis for prioritizing Semgrep results. As a result, VulnCov compares two file and outputsJSON with the most relevant finding.
Forwarded from GitHub repos
isd-project/isd
isd (interactive systemd) — a better way to work with systemd units
Language: Python
#cli #systemctl #systemd #textual #tui
Stars: 271 Issues: 2 Forks: 3
https://github.com/isd-project/isd
isd (interactive systemd) — a better way to work with systemd units
Language: Python
#cli #systemctl #systemd #textual #tui
Stars: 271 Issues: 2 Forks: 3
https://github.com/isd-project/isd
GitHub
GitHub - kainctl/isd: isd (interactive systemd) – a better way to work with systemd units
isd (interactive systemd) – a better way to work with systemd units - kainctl/isd
Forwarded from Похек
Совет по листингу директорий в NextJS
#tip #tips #bugbounty #nextjs #vercel
Есть небольшой лайфхак, так сказать, который позволяет одномоментно вывести все существующие роуты в NextJS приложении.
В Инструментах разработчика > Консоль >
Скрин1 был честно украден из X, т.к. скрины с проекта нельзя показывать, иначе вы слишком быстро поймёте что за компания))
Скрин2, это из моей платформы обучения. Как видите, у меня это уже не работает :)
Пришлось выйти в интернет с этим вопросом и немного покопаться в документации, чтобы прийти к этой команде. Также ещё по опыту своей разработки и отслеживания как разрабы пишут код, хочу заметить что очень редко отключают console.log, console.error и т.д. на продакшен версиях сайта. А сделать это очень легко:
На самом деле NextJS очень дырявый, у него относительно часто появляются CVE. Так что приходится следить ещё и за этим)Кроме обнов каждую наносекунду
🌚 @poxek | 📺 YT | 📺 RT | 📺 VK | 🌚 Магазин мерча
#tip #tips #bugbounty #nextjs #vercel
Есть небольшой лайфхак, так сказать, который позволяет одномоментно вывести все существующие роуты в NextJS приложении.
В Инструментах разработчика > Консоль >
allow pasting >console.log(__BUILD_MANIFEST.sortedPages.join('\n'));Скрин1 был честно украден из X, т.к. скрины с проекта нельзя показывать, иначе вы слишком быстро поймёте что за компания))
Скрин2, это из моей платформы обучения. Как видите, у меня это уже не работает :)
Работа этой строки очень проста. Берётся __BUILD_MANIFEST, в котором перечисленны все страницы и просто через join их выводим. Работает ли это до сих пор? Да, буквально недавно на одном из проектов попалось это. На главной странице отдавался 404, попытки активно или пассивно профаззить не дали результатов.
Пришлось выйти в интернет с этим вопросом и немного покопаться в документации, чтобы прийти к этой команде. Также ещё по опыту своей разработки и отслеживания как разрабы пишут код, хочу заметить что очень редко отключают console.log, console.error и т.д. на продакшен версиях сайта. А сделать это очень легко:
module.exports = {
compiler: {
removeConsole: process.env.NODE_ENV === "production",
},
};На самом деле NextJS очень дырявый, у него относительно часто появляются CVE. Так что приходится следить ещё и за этим)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM