Magalie Viallon

18 papers B 1Journal 12Unranked 4
YearRankTypeTitle / Venue / Authors
2025 J jnl
Comput. Biol. Medicine
Romain Deleat-Besson, Magalie Viallon, Lorena Petrusca, Pierre Croisille, Nicolas Duchateau
2025 conf
MICCAI (2)
Romain Deleat-Besson, Celia Goujat, Olivier Bernard, Pierre Croisille, Magalie Viallon, Nicolas Duchateau
2024 conf
MIDL
Habib Rebbah, Magalie Viallon, Pierre Croisille, Timothé Boutelier
2024 J jnl
Comput. Biol. Medicine
Timothé Boutelier, Habib Rebbah, Kevin Tse-Ve-Koon, Romain Pastre, Pierre Croisille, Magalie Viallon
2023 ed.
FIMH
Olivier Bernard, Patrick Clarysse, Nicolas Duchateau, Jacques Ohayon, Magalie Viallon
2021 conf
STACOM@MICCAI
Benoît Freiche, Patrick Clarysse, Magalie Viallon, Pierre Croisille, Nicolas Duchateau
2021 J jnl
Comput. Methods Programs Biomed.
Seyed Jamaleddin Mousavi, Raja Jayendiran, Solmaz Farzaneh, Salvatore Campisi, Magalie Viallon, Pierre Croisille, Stéphane Avril
2021 J jnl
IEEE Trans. Signal Process.
Jabrane Karkouri, Hélène Ratiney, Magalie Viallon, Rémy Prost, Fabien Millioz
2020 J jnl
IEEE Trans. Biomed. Eng.
Francesca Condemi, Salvatore Campisi, Magalie Viallon, Pierre Croisille, Stéphane Avril
2019 J jnl
Comput. Biol. Medicine
Clément Daviller, Thomas Grenier, Hélène Ratiney, Michaël Sdika, Pierre Croisille, Magalie Viallon
2019 J jnl
Comput. Biol. Medicine
Clément Daviller, Thomas Grenier, Hélène Ratiney, Michaël Sdika, Pierre Croisille, Magalie Viallon
2017 B conf
ICIP
Jabrane Karkouri, Fabien Millioz, Magalie Viallon, Rémy Prost, Hélène Ratiney
2015 conf
FIMH
Magalie Viallon, Joël Spaltenstein, C. de Bourguignon, C. Vandroux, A. Ammor, W. Romero, Olivier Bernard, Pierre Croisille, Patrick Clarysse
2015 J jnl
IEEE Trans. Medical Imaging
Hongjiang Wei, Magalie Viallon, Bénédicte M. A. Delattre, Kevin Moulin, Feng Yang, Pierre Croisille, Yue Min Zhu
2015 J jnl
IEEE Trans. Biomed. Eng.
Fanny Frauziols, Jérôme Molimard, Laurent Navarro, Pierre Badel, Magalie Viallon, Rodolphe Testa, Stephane Avril
2014 J jnl
IEEE Trans. Medical Imaging
Lorena Petrusca, Vincent Auboiroux, Thomas Goget, Magalie Viallon, Arnaud Muller, Patrick Gross, Christoph D. Becker, Rares Salomir
2013 J jnl
IEEE Trans. Medical Imaging
Hongjiang Wei, Magalie Viallon, Bénédicte M. A. Delattre, Lihui Wang, Vinay M. Pai, Han Wen, Hui Xue, Christoph Guetter, Pierre Croisille, Yuemin Zhu
2012 J jnl
IEEE Trans. Medical Imaging
Rares Salomir, Magalie Viallon, Antje Kickhefel, Joerg Roland, Denis R. Morel, Lorena Petrusca, Vincent Auboiroux, Thomas Goget, Sylvain Terraz, Christoph D. Becker, Patrick Gross
Dockerfile
← Index Dockerfile dockerfile
FROM python:3.12-slim

# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Install system dependencies (build tools will be removed after pip install).
# curl + ca-certificates + gnupg are needed to add the NodeSource repository
# for the JS analysis toolchain (webcrack + @nodesecure/js-x-ray).
RUN apt-get update && apt-get install -y \
    git \
    gcc \
    g++ \
    build-essential \
    libmagic1 \
    file \
    libqt5core5a \
    libqt5gui5 \
    libqt5widgets5 \
    default-jre-headless \
    curl \
    ca-certificates \
    gnupg \
    && rm -rf /var/lib/apt/lists/*

# Install Node.js 22 LTS (needed by webcrack and @nodesecure/js-x-ray). Pinning
# to 22.x because that's the active LTS — bumping to a future major is a
# deliberate Dockerfile change, not a silent upgrade on rebuild.
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
    apt-get install -y nodejs && \
    rm -rf /var/lib/apt/lists/*

# webcrack is the deobfuscator (CLI on PATH). Pinned to 2.16.0 — released
# 2026-04-25, last verified working with our subprocess invocation. Bumping
# this is a deliberate change so a future regression in webcrack does not
# show up as a silent JSDeobfuscation behaviour shift on image rebuild.
RUN npm install -g webcrack@2.16.0

# Create application directory
WORKDIR /app

# Copy requirements and install Python dependencies
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# Remove build dependencies to reduce image size. curl + gnupg are kept —
# curl is widely useful and gnupg is small. Node.js stays.
RUN apt-get remove -y gcc g++ build-essential git && \
    apt-get autoremove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Copy application code (explicit files to help debug .dockerignore issues)
COPY redb/ ./redb/
COPY start.py .
COPY scripts/ ./scripts/

# Install @nodesecure/js-x-ray locally next to its bundled Node bridge so the
# Python wrapper's `node_modules/@nodesecure/js-x-ray` existence check passes
# without any runtime configuration. Version is pinned in the package.json.
# The npm install also triggers the `postinstall: patch-package` hook which
# re-applies the local patch in scripts/patches/ — currently a one-line fix
# for a `from "repl"` → `from "module"` import in [email protected] that breaks
# on Node 22 patches above ~22.10. Drop the patch when js-x-ray ships a fix.
RUN cd /app/redb/extractors/js_extractors/scripts && npm install --omit=dev

# Set up logging path and create logs directory
ENV LOG_FILE_PATH="/app/logs/"
RUN mkdir -p /app/logs

# Environment variables for tools (snapshot-style paths)
ENV CAPA_PATH="/usr/bin/capa"
ENV DIE_PATH="/usr/bin/nfdc"
ENV GORESYM_PATH="/usr/bin/GoReSym"
ENV JADX_PATH="/opt/deploy/jadx/bin/jadx"
ENV APKTOOL_PATH="/usr/local/bin/apktool"
ENV MALCONTENT_PATH="/usr/local/bin/mal"
ENV PATH="/usr/bin:/opt/binaryninja:${PATH}"
ENV PYTHONPATH="/opt/binaryninja/python"

# Tool timeouts
ENV CAPA_TIMEOUT="300"
ENV DIE_TIMEOUT="180"
ENV MALCONTENT_TIMEOUT="300"
ENV JADX_TIMEOUT="600"
ENV BINJA_TIMEOUT="1200"
ENV DECOMPILE_EXTRACTOR_TIMEOUT="2580"

ENV MALCONTENT_FORMATS=pebin,elf,macho,apk,javascript

# JS analysis toolchain. webcrack is on PATH from the global npm install;
# js-x-ray's Python wrapper finds the bundled Node bridge at the default
# location (no env needed). Override these in .env / Nomad if you swap tools.
ENV JS_DEOBFUSCATOR_PATH="webcrack"
ENV JS_DEOBFUSCATE_TIMEOUT="60"
ENV JS_XRAY_TIMEOUT="60"

# Copy the Binary Ninja setup script
COPY scripts/setup-and-run.sh /usr/local/bin/setup-and-run.sh
RUN chmod +x /usr/local/bin/setup-and-run.sh

# Create non-root user for security
RUN useradd -m -u 1000 analyzer
RUN chown -R analyzer:analyzer /app /app/logs
USER analyzer

# Set entrypoint to setup script for Binary Ninja installation (runtime)
ENTRYPOINT ["/usr/local/bin/setup-and-run.sh"]

# Set working directory
WORKDIR /app

# Default command - supports both feature extraction and decompilation
CMD ["python3", "start.py", "--nomad-job"]